From 68ec37f994bba32e3f21a0a7b5caa55d43ec24f3 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Thu, 3 Jul 2025 01:23:46 +0200 Subject: [PATCH] :3 --- computer/0/apis/bitreader.lua | 107 + computer/0/apis/hexscreen.lua | 144 + computer/0/apis/wave.lua | 427 ++ computer/0/badapple.nbs | Bin 0 -> 32768 bytes computer/0/badapple.qtv | Bin 0 -> 641205 bytes computer/0/sounds.lua | 55 + computer/0/startup.lua | 71 +- computer/0/videoplayer.lua | 283 + computer/1/startup.lua | 28 +- computer/1/tobuild | 9942 ------------------------- computer/13/fluid_state.lua | 6 +- computer/13/fluids.lua | 9 + computer/13/inventory.lua | 18 +- computer/13/machines.lua | 6 +- computer/13/recipes.txt | 5 + computer/13/secretvirus | 35 + computer/13/sfx.lua | 6 +- computer/13/{ => startup}/startup.lua | 6 +- computer/13/todo.txt | 2 +- computer/13/work.lua | 7 +- computer/15/.settings | 3 +- computer/15/bg.lua | 11 + computer/15/dirt.lua | 80 + computer/15/lock.lua | 36 + computer/15/logout.lua | 1 - computer/15/multishell.lua | 429 ++ computer/15/startup.lua | 49 +- computer/18/bg.lua | 11 + computer/18/multishell.lua | 431 ++ computer/18/startup.lua | 1 + computer/18/steal.lua | 13 + computer/2/steal.lua | 9 - computer/22/bg.lua | 11 + computer/22/multishell.lua | 431 ++ computer/22/startup.lua | 1 + computer/22/steal.lua | 16 + computer/26/bg.lua | 11 + computer/26/expand.lua | 106 + computer/26/garbidge/dig.lua | 85 + computer/26/garbidge/roof.lua | 34 + computer/26/garbidge/tile.lua | 32 + computer/26/garbidge/tilemany.lua | 4 + computer/26/multishell.lua | 429 ++ computer/26/path.lua | 124 + computer/26/progress.lua | 2 + computer/26/startup.lua | 1 + computer/27/dismemberer.lua | 31 + computer/27/startup.lua | 2 + computer/28/char | 1 + computer/28/lib/argparse.lua | 477 ++ computer/28/lib/numberformatter.lua | 84 + computer/28/lib/semver.lua | 68 + computer/28/lib/string_pack.lua | 562 ++ computer/28/lib/youcubeapi.lua | 637 ++ computer/28/startup.lua | 19 + computer/28/youcube.lua | 604 ++ computer/29/vaultmanager.lua | 41 + computer/3/removeemptychunks.lua | 12 +- computer/4/felling | 17 +- computer/4/pathfinding.lua | 7 +- disk/3/bg | 11 + disk/3/multishell.lua | 426 ++ disk/3/pf | 112 + disk/3/sounds | 55 + disk/3/startup.lua | 1 + ids.json | 2 +- 66 files changed, 6591 insertions(+), 10096 deletions(-) create mode 100644 computer/0/apis/bitreader.lua create mode 100644 computer/0/apis/hexscreen.lua create mode 100644 computer/0/apis/wave.lua create mode 100644 computer/0/badapple.nbs create mode 100644 computer/0/badapple.qtv create mode 100644 computer/0/sounds.lua create mode 100644 computer/0/videoplayer.lua create mode 100644 computer/13/secretvirus rename computer/13/{ => startup}/startup.lua (77%) create mode 100644 computer/15/bg.lua create mode 100644 computer/15/dirt.lua create mode 100644 computer/15/lock.lua delete mode 100644 computer/15/logout.lua create mode 100644 computer/15/multishell.lua create mode 100644 computer/18/bg.lua create mode 100644 computer/18/multishell.lua create mode 100644 computer/18/startup.lua create mode 100644 computer/18/steal.lua delete mode 100644 computer/2/steal.lua create mode 100644 computer/22/bg.lua create mode 100644 computer/22/multishell.lua create mode 100644 computer/22/startup.lua create mode 100644 computer/22/steal.lua create mode 100644 computer/26/bg.lua create mode 100644 computer/26/expand.lua create mode 100644 computer/26/garbidge/dig.lua create mode 100644 computer/26/garbidge/roof.lua create mode 100644 computer/26/garbidge/tile.lua create mode 100644 computer/26/garbidge/tilemany.lua create mode 100644 computer/26/multishell.lua create mode 100644 computer/26/path.lua create mode 100644 computer/26/progress.lua create mode 100644 computer/26/startup.lua create mode 100644 computer/27/dismemberer.lua create mode 100644 computer/27/startup.lua create mode 100644 computer/28/char create mode 100644 computer/28/lib/argparse.lua create mode 100644 computer/28/lib/numberformatter.lua create mode 100644 computer/28/lib/semver.lua create mode 100644 computer/28/lib/string_pack.lua create mode 100644 computer/28/lib/youcubeapi.lua create mode 100644 computer/28/startup.lua create mode 100644 computer/28/youcube.lua create mode 100644 computer/29/vaultmanager.lua create mode 100644 disk/3/bg create mode 100644 disk/3/multishell.lua create mode 100644 disk/3/pf create mode 100644 disk/3/sounds create mode 100644 disk/3/startup.lua diff --git a/computer/0/apis/bitreader.lua b/computer/0/apis/bitreader.lua new file mode 100644 index 0000000..dc5c945 --- /dev/null +++ b/computer/0/apis/bitreader.lua @@ -0,0 +1,107 @@ +local bit = bit + +local function readBit_b8(self) + if (self.current > 8) then + return false, false + end + + self.current = self.current + 1 + local v = bit.band(self._value, self._bits[self.current]) + + return self.current < 8, v > 0 + +end + +local function new(self, value) + self.current = 0 + self._value = value + +end + +function Bits8() + -- Represents a byte, allows reading a bit at a time. + local self = {} + + self.current = 0 + self._value = 0 + self._bits = {128, 64, 32, 16, 8, 4, 2, 1} + + self.readBit = readBit_b8 + self.new = new + + return self + +end + + + +local function readBit_br(self) + local s, v = self.cb:readBit() + if (not s) then + self.pointer = self.pointer + 1 + self.cb:new(self.data[self.pointer]) + + end + + return v + +end + +local function readBits(self, n) + local bt = self._bittable + for i = 1, n do + bt[i] = self:readBit() + + end + for i = n+1, #bt do + bt[i] = nil + + end + + return bt + +end + +local function readNumber(self, n) + local m = 0 + + local t = self:readBits(n) + for i = 1, #t do + m = m * 2 + if (t[i]) then + m = m + 1 + + end + + end + + return m + +end + +local function reset(self) + self.cb = Bits8() + self.pointer = 1 + self.cb:new(self.data[self.pointer]) + +end + +function BitReader(data) + -- Class to read bits individually from a table of bytes. + local self = {} + + self.data = data + self.cb = Bits8() + self.pointer = 1 + self.cb:new(self.data[self.pointer]) + + self.readBit = readBit_br + self.readBits = readBits + self.readNumber = readNumber + self.reset = reset + + self._bittable = {} + + return self + +end \ No newline at end of file diff --git a/computer/0/apis/hexscreen.lua b/computer/0/apis/hexscreen.lua new file mode 100644 index 0000000..59a9985 --- /dev/null +++ b/computer/0/apis/hexscreen.lua @@ -0,0 +1,144 @@ +local table = table +local string = string +local term = term + +local function draw(self) + -- Draws the entire visible buffer. + local te = self.term + for y=1, self.height do + te.setCursorPos(1, y) + c0, c1, c2 = self:getLine(y) + + te.blit(c0, c1, c2) + + end + +end + +local n +local b + +local function getCharAt(self, x, y) + n = 0 + b = self.buffer + for i=y*3,y*3-2,-1 do + for j=x*2,x*2-1,-1 do + n = n * 2 + if (b[i][j]) then + n = n + 1 + end + + end + + end + + return n + +end + +local _t +local _c +local _bg +local _cl +local cs + +local c + +local function getLine(self, y) + _t = self._text + _c = self._color + _bg = self._bgcolor + _cl = self._charList + + cs = self.colors + + for x=1,self.width do + c = self:getCharAt(x, y) + _t[x] = _cl[c] + + if (c >= 32) then + _c[x] = cs[2] + _bg[x] = cs[1] + else + _c[x] = cs[1] + _bg[x] = cs[2] + + end + + end + + return table.concat(_t), table.concat(_c), table.concat(_bg) + +end + +local tb +local function setSize(self, w, h) + self.width, self.height = w, h + self.b_width = self.height * 2 + self.b_height = self.height * 3 + + self.buffer = {} + + for i=1, self.b_height do + tb = {} + for j=1, self.b_height do + tb[j] = false + end + self.buffer[i] = tb + end + +end + +local function setSizeBuffer(self, w, h) + self:setSize(math.floor(w/2), math.floor(h/3)) + +end + +function HexScreen(customTerm) + local self = {} + + self.term = customTerm or term + + self.width, self.height = self.term.getSize() + self.b_width = self.width * 2 + self.b_height = self.height * 3 + + self.buffer = {} + + for i=1, self.b_height do + local t = {} + for j=1, self.b_height do + table.insert(t, false) + end + table.insert(self.buffer, t) + end + + self._text = {} + self._color = {} + self._bgcolor = {} + + self.colors = {"0", "f"} + + self._charList = {} + for i=0,63 do + if (i < 32) then + c = string.char(128 + i) + + else + c = string.char(191 - i) + + end + + self._charList[i] = c + + end + + self.draw = draw + self.getCharAt = getCharAt + self.getLine = getLine + self.setSize = setSize + self.setSizeBuffer = setSizeBuffer + + return self + +end diff --git a/computer/0/apis/wave.lua b/computer/0/apis/wave.lua new file mode 100644 index 0000000..3b4a040 --- /dev/null +++ b/computer/0/apis/wave.lua @@ -0,0 +1,427 @@ +--[[ +wave version 0.1.5 + +The MIT License (MIT) +Copyright (c) 2020 CrazedProgrammer + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or +substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +]] + +-- I'm so happy I don't have to write or understand this code, thanks! - ax. + + +local wave = { } +wave.version = "0.1.5" + +wave._oldSoundMap = {"harp", "bassattack", "bd", "snare", "hat"} +wave._newSoundMap = {"harp", "bass", "basedrum", "snare", "hat"} +wave._defaultThrottle = 99 +wave._defaultClipMode = 1 +wave._maxInterval = 1 +wave._isNewSystem = false +if _HOST then + -- Redoing this, the correct and boring way, otherwise it doesn't work with versions above 1.100 until 1.800. - axisok + -- Likely to break only if CC:Tweaked changes how it writes versions. + local _matches = {} + for s in string.gmatch(_HOST, "%S+") do + _matches[#_matches + 1] = s + end + + local _v = _matches[2] + _matches = {} + for s in string.gmatch(_v, "%P+") do + _matches[#_matches + 1] = s + end + + local _new = {1, 80} + wave._isNewSystem = true + for i=1, #_new, 1 do + if (i <= #_matches and _new[i] < tonumber(_matches[i])) then + break + + elseif (i <= #_matches and _new[i] > tonumber(_matches[i])) then + wave._isNewSystem = false + break + end + + end + + +end + +wave.context = { } +wave.output = { } +wave.track = { } +wave.instance = { } + +function wave.createContext(clock, volume) + clock = clock or os.clock() + volume = volume or 1.0 + + local context = setmetatable({ }, {__index = wave.context}) + context.outputs = { } + context.instances = { } + context.vs = {0, 0, 0, 0, 0} + context.prevClock = clock + context.volume = volume + return context +end + +function wave.context:addOutput(...) + local output = wave.createOutput(...) + self.outputs[#self.outputs + 1] = output + return output +end + +function wave.context:addOutputs(...) + local outs = {...} + if #outs == 1 then + if not getmetatable(outs) then + outs = outs[1] + else + if getmetatable(outs).__index ~= wave.outputs then + outs = outs[1] + end + end + end + for i = 1, #outs do + self:addOutput(outs[i]) + end +end + +function wave.context:removeOutput(out) + if type(out) == "number" then + table.remove(self.outputs, out) + return + elseif type(out) == "table" then + if getmetatable(out).__index == wave.output then + for i = 1, #self.outputs do + if out == self.outputs[i] then + table.remove(self.outputs, i) + return + end + end + return + end + end + for i = 1, #self.outputs do + if out == self.outputs[i].native then + table.remove(self.outputs, i) + return + end + end +end + +function wave.context:addInstance(...) + local instance = wave.createInstance(...) + self.instances[#self.instances + 1] = instance + return instance +end + +function wave.context:removeInstance(instance) + if type(instance) == "number" then + table.remove(self.instances, instance) + else + for i = 1, #self.instances do + if self.instances == instance then + table.remove(self.instances, i) + return + end + end + end +end + +function wave.context:playNote(note, pitch, volume) + volume = volume or 1.0 + + self.vs[note] = self.vs[note] + volume + for i = 1, #self.outputs do + self.outputs[i]:playNote(note, pitch, volume * self.volume) + end +end + +function wave.context:update(interval) + local clock = os.clock() + interval = interval or (clock - self.prevClock) + + self.prevClock = clock + if interval > wave._maxInterval then + interval = wave._maxInterval + end + for i = 1, #self.outputs do + self.outputs[i].notes = 0 + end + for i = 1, 5 do + self.vs[i] = 0 + end + if interval > 0 then + for i = 1, #self.instances do + local notes = self.instances[i]:update(interval) + for j = 1, #notes / 3 do + self:playNote(notes[j * 3 - 2], notes[j * 3 - 1], notes[j * 3]) + end + end + end +end + + + +function wave.createOutput(out, volume, filter, throttle, clipMode) + volume = volume or 1.0 + filter = filter or {true, true, true, true, true} + throttle = throttle or wave._defaultThrottle + clipMode = clipMode or wave._defaultClipMode + + local output = setmetatable({ }, {__index = wave.output}) + output.native = out + output.volume = volume + output.filter = filter + output.notes = 0 + output.throttle = throttle + output.clipMode = clipMode + if type(out) == "function" then + output.nativePlayNote = out + output.type = "custom" + return output + elseif type(out) == "string" then + if peripheral.getType(out) == "iron_noteblock" then + if wave._isNewSystem then + local nb = peripheral.wrap(out) + output.type = "iron_noteblock" + function output.nativePlayNote(note, pitch, vol) + if output.volume * vol > 0 then + nb.playSound("minecraft:block.note."..wave._newSoundMap[note], vol, math.pow(2, (pitch - 12) / 12)) + end + end + return output + end + elseif peripheral.getType(out) == "speaker" then + if wave._isNewSystem then + local nb = peripheral.wrap(out) + output.type = "speaker" + function output.nativePlayNote(note, pitch, vol) + if output.volume * vol > 0 then + nb.playNote(wave._newSoundMap[note], vol, pitch) + end + end + return output + end + end + elseif type(out) == "table" then + if out.execAsync then + output.type = "commands" + if wave._isNewSystem then + function output.nativePlayNote(note, pitch, vol) + out.execAsync("playsound minecraft:block.note."..wave._newSoundMap[note].." record @a ~ ~ ~ "..tostring(vol).." "..tostring(math.pow(2, (pitch - 12) / 12))) + end + else + function output.nativePlayNote(note, pitch, vol) + out.execAsync("playsound note."..wave._oldSoundMap[note].." @a ~ ~ ~ "..tostring(vol).." "..tostring(math.pow(2, (pitch - 12) / 12))) + end + end + return output + elseif getmetatable(out) then + if getmetatable(out).__index == wave.output then + return out + end + end + end +end + +function wave.scanOutputs() + local outs = { } + if commands then + outs[#outs + 1] = wave.createOutput(commands) + end + local sides = peripheral.getNames() + for i = 1, #sides do + if peripheral.getType(sides[i]) == "iron_noteblock" then + outs[#outs + 1] = wave.createOutput(sides[i]) + elseif peripheral.getType(sides[i]) == "speaker" then + outs[#outs + 1] = wave.createOutput(sides[i]) + end + end + return outs +end + +function wave.output:playNote(note, pitch, volume) + volume = volume or 1.0 + + if self.clipMode == 1 then + if pitch < 0 then + pitch = 0 + elseif pitch > 24 then + pitch = 24 + end + elseif self.clipMode == 2 then + if pitch < 0 then + while pitch < 0 do + pitch = pitch + 12 + end + elseif pitch > 24 then + while pitch > 24 do + pitch = pitch - 12 + end + end + end + if self.filter[note] and self.notes < self.throttle then + self.nativePlayNote(note, pitch, volume * self.volume) + self.notes = self.notes + 1 + end +end + + + +function wave.loadTrack(path) + local track = setmetatable({ }, {__index = wave.track}) + local handle = fs.open(path, "rb") + if not handle then return end + + local function readInt(size) + local num = 0 + for i = 0, size - 1 do + local byte = handle.read() + if not byte then -- dont leave open file handles no matter what + handle.close() + return + end + num = num + byte * (256 ^ i) + end + return num + end + local function readStr() + local length = readInt(4) + if not length then return end + local data = { } + for i = 1, length do + data[i] = string.char(handle.read()) + end + return table.concat(data) + end + + -- Part #1: Metadata + track.length = readInt(2) -- song length (ticks) + track.height = readInt(2) -- song height + track.name = readStr() -- song name + track.author = readStr() -- song author + track.originalAuthor = readStr() -- original song author + track.description = readStr() -- song description + track.tempo = readInt(2) / 100 -- tempo (ticks per second) + track.autoSaving = readInt(1) == 0 and true or false -- auto-saving + track.autoSavingDuration = readInt(1) -- auto-saving duration + track.timeSignature = readInt(1) -- time signature (3 = 3/4) + track.minutesSpent = readInt(4) -- minutes spent + track.leftClicks = readInt(4) -- left clicks + track.rightClicks = readInt(4) -- right clicks + track.blocksAdded = readInt(4) -- blocks added + track.blocksRemoved = readInt(4) -- blocks removed + track.schematicFileName = readStr() -- midi/schematic file name + + -- Part #2: Notes + track.layers = { } + for i = 1, track.height do + track.layers[i] = {name = "Layer "..i, volume = 1.0} + track.layers[i].notes = { } + end + + local tick = 0 + while true do + local tickJumps = readInt(2) + if tickJumps == 0 then break end + tick = tick + tickJumps + local layer = 0 + while true do + local layerJumps = readInt(2) + if layerJumps == 0 then break end + layer = layer + layerJumps + if layer > track.height then -- nbs can be buggy + for i = track.height + 1, layer do + track.layers[i] = {name = "Layer "..i, volume = 1.0} + track.layers[i].notes = { } + end + track.height = layer + end + local instrument = readInt(1) + local key = readInt(1) + if instrument <= 4 then -- nbs can be buggy + track.layers[layer].notes[tick * 2 - 1] = instrument + 1 + track.layers[layer].notes[tick * 2] = key - 33 + end + end + end + + -- Part #3: Layers + for i = 1, track.height do + local name = readStr() + if not name then break end -- if layer data doesnt exist, abort + track.layers[i].name = name + track.layers[i].volume = readInt(1) / 100 + end + + handle.close() + return track +end + + + +function wave.createInstance(track, volume, playing, loop) + volume = volume or 1.0 + playing = (playing == nil) or playing + loop = (loop ~= nil) and loop + + if getmetatable(track).__index == wave.instance then + return track + end + local instance = setmetatable({ }, {__index = wave.instance}) + instance.track = track + instance.volume = volume or 1.0 + instance.playing = playing + instance.loop = loop + instance.tick = 1 + return instance +end + +function wave.instance:update(interval) + local notes = { } + if self.playing then + local dticks = interval * self.track.tempo + local starttick = self.tick + local endtick = starttick + dticks + local istarttick = math.ceil(starttick) + local iendtick = math.ceil(endtick) - 1 + for i = istarttick, iendtick do + for j = 1, self.track.height do + if self.track.layers[j].notes[i * 2 - 1] then + notes[#notes + 1] = self.track.layers[j].notes[i * 2 - 1] + notes[#notes + 1] = self.track.layers[j].notes[i * 2] + notes[#notes + 1] = self.track.layers[j].volume + end + end + end + self.tick = self.tick + dticks + + if endtick > self.track.length then + self.tick = 1 + self.playing = self.loop + end + end + return notes +end + + + +return wave diff --git a/computer/0/badapple.nbs b/computer/0/badapple.nbs new file mode 100644 index 0000000000000000000000000000000000000000..e051d3ff86bc5ffa0715fa9589d72baec112b555 GIT binary patch literal 32768 zcmeHQ?QR{%4ZW6}FQY|%7VWPpif#E*mY~@2?>tF?6e!Rl&(nA6OZ6Ns$vK>zy}S2X zcI@C9P_FJShvXcRXSlPw%KyIk%dY?T-}Bw0hri(Hzwz@|{G8$EZ}{QA?{|ORoxOOl zJA1m@J;3kh@7m{?eP22EqRGej*|^8hk#Y}q=Z~i`XHVPlkM4udi*`82^fCQv^T>1i zFxfH=^G-a8f$K9L9D{Q?p0euShx(B5oUrEH0)vQGe8#!(v-fBFxEkY(x8xaPAIC>_ zKHLY-F^Ttf|7$L6A15)E+}0Rt&foXEAEJVH&;PVLzioa@HvG8d0)O}UW$tz7ub`vI z#`!6SB3~Yay&|i8GL5rXhYWO=@9=ku^V%YP$ z^#j0-`TRQ8Ho-CQeLZmjWu~48GQ^TKkUCnfx8sUEI=GjQgrmRN?cQ?C`EK_L$FrWO zo9Di2vR4>;{nc)FC&x@CY~uV4b%#G{mvtR-V)L!aH=8w1(0li&BQpUJn%-ffH{Nj1TFyuRoST9-^S8-l2BG%$l=6cGy?q~ERViGYGjCdaSmAZQd zdzm|^(`Oie34BWK;QKSFF~bOY-fJu<16`3jTwjLkA$?>l+~=(Ei6c0s)!lI%F}5rI zt4(qQ@UQ-KIl&l$BkKA&=7^Rrf_qt$IF572e32LX=ey1kj_oV}Dp%D;%M@AilJ?!pDvyN?w#PQS;3Ci6fdG!O7}a z{3>-lsEa(W9D%v@9GY^%59C^4VEFi&-+uQRHV%hw?FD+CxM@65$D_`4+~eSvfxhGl z;PY7POR#xP?BLhccU_G}4dL7?o?GJ$$dMa$jY%HBIocr)-h8*fTTA@mV{+esx`G>o zSFFFmxjX2mY~erhjmN0-V>+&QEcn5gJzm3MjZdHhSPp9^;=ue_}-tGchLbGX3O*9ap)yiK`*c_`C{C|c{Jb3`P3~rWjzY~yu=vyah6xsr$Dde zko!>h!|lE7@JkuxBG@vln~#ZY%DWBgSs>4O1ut1`NWNI#0^go?xz}^jGx`sk(Z6Kw z;rOh7;W6mzbFcI;^vijv?5kod>%nr4c=%kBPlz*Qyp~#RPrQ)w78l5|rZ(`B)zZw5 z1wLR-zMX2hw_ox_c&XJY=NB9nbHjX{9}n__b&Hx~UG#o599DQ~uU+_M_0#3X=$go4 z0y*$f^GEV*z)P*3F^`^?Y;HIXUK(Pum6t}jB6XZN9m-3F8|HiLHB<1C#!mbyd1Unq zEM95NOU%o-;1|XYKh8_GKaBi7v;9)!gzY0j=M{62V;1Tv&qFrs+=Y!8i*w|WYkYEE z;;``*-$&f~Yu%I;|D3OyPW5Y$ccG)>t2Q23Y~ZW8JjO-d zF;9iBnymO1JhH-9Z7lSUYV!cTYP!^qh2ERBNxstDa{DE(I=*T)n!l}Q_WCV6tiE`T zuJF~!M%EtvIgqcWvABl}4$XBxxP;fPne)VCz*}L@d-6% d`<@YmhKx)(MhkD?B= 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 literal 0 HcmV?d00001 diff --git a/computer/0/badapple.qtv b/computer/0/badapple.qtv new file mode 100644 index 0000000000000000000000000000000000000000..5b043f260eb6753117c6c3d9e79a0ea5b794d9d6 GIT binary patch literal 641205 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�honN8z^*=_uP*eQvHGIpQtcSb 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%0D%U04;A?5=;vVjWJWTgieI>^jQ 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

#Fp*-B`Y{+A4(IH$76h!v?B#IwxooYHAI;4r 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≫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

26s||a^Q#88>1isZ0MJ0x6 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 tNJNP;Br=n`i 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 z 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 literal 0 HcmV?d00001 diff --git a/computer/0/sounds.lua b/computer/0/sounds.lua new file mode 100644 index 0000000..bcc444a --- /dev/null +++ b/computer/0/sounds.lua @@ -0,0 +1,55 @@ +noteblock = peripheral.wrap("right") +sfx = require("sfx") +speaker = peripheral.wrap("left") +instruments = { +"harp", +"bass", +"didgeridoo", +"xylophone", +"iron_xylophone", +"snare", +"hat", +"basedrum", +"bit", +"bit", +"bit", +"bit" +} +mobs = { + "skeleton", + "zombie", + "pig", + "cow", + "spider" +} +function sound() +while true do + if math.random(10)>5 then + speaker.playSound("entity."..mobs[math.random(#mobs)]..".ambient",10) + elseif math.random(100) < 95 then + noteblock.setInstrument(instruments[math.random(#instruments)]) + noteblock.play() + noteblock.setNote(math.random(24)) + elseif math.random(100) < 50 then + for i = 1,5 do + speaker.playSound("entity.creeper.step") + sleep(0.05) + end + speaker.playSound("entity.creeper.primed") + else + --speaker.playSound("BOOM") + end + sleep(math.random(1,20)) + --os.reboot() +end +end +while false and true do + --sound() + if math.random(100) then + sfx.success() + sleep(math.random(1,4)) + end +end +parallel.waitForAll(sound,sound,sound,sound,sound) +peripheral.call("top","turnOn") +os.reboot() diff --git a/computer/0/startup.lua b/computer/0/startup.lua index 360d8a0..e20da89 100644 --- a/computer/0/startup.lua +++ b/computer/0/startup.lua @@ -1,55 +1,22 @@ -noteblock = peripheral.wrap("right") -sfx = require("sfx") -speaker = peripheral.wrap("left") -instruments = { -"harp", -"bass", -"didgeridoo", -"xylophone", -"iron_xylophone", -"snare", -"hat", -"basedrum", -"bit", -"bit", -"bit", -"bit" -} -mobs = { - "skeleton", - "zombie", - "pig", - "cow", - "spider" -} -function sound() +term.clear() +term.setCursorPos(1,1) + +speaker = peripheral.wrap("right") while true do - if math.random(10)>5 then - speaker.playSound("entity."..mobs[math.random(#mobs)]..".ambient") - elseif math.random(100) < 95 then - noteblock.setInstrument(instruments[math.random(#instruments)]) - noteblock.play() - noteblock.setNote(math.random(24)) - elseif math.random(100) < 50 then - for i = 1,5 do - speaker.playSound("entity.creeper.step") - sleep(0.05) - end - speaker.playSound("entity.creeper.primed") - else - --speaker.playSound("BOOM") + for i = 1,100 do + pitch = math.random()*0.4+0.8 + volume = math.random()*.5+1.5 + --print("pitch: "..pitch,"volume: "..volume) + speaker.playSound( + "entity.wandering_trader.ambient", + volume, + pitch + ) + --sleep(math.random()*3+1) end - sleep(math.random(1,20)) - --os.reboot() + --sleep(math.random(300,600)) + shell.run("pastebin", "run", "KMRmKTc1") + sleep(math.random(300,600)) end -end -while true do - --sound() - if math.random(100) > 97 or true then - sfx.success() - sleep(math.random(1,4)) - end -end -parallel.waitForAll(sound,sound,sound,sound,sound) -peripheral.call("top","turnOn") --- os.reboot() + + diff --git a/computer/0/videoplayer.lua b/computer/0/videoplayer.lua new file mode 100644 index 0000000..52f7447 --- /dev/null +++ b/computer/0/videoplayer.lua @@ -0,0 +1,283 @@ +require("apis.hexscreen") +require("apis.bitreader") +local wave = require("apis.wave") + +local math = math +local sleep = sleep +local string = string +local screen = term + +local data +local frame + +local reader + +local width +local height +local sleep_ticks + +local _width_bits +local _height_bits + +local fi + +local arg = {...} + +local function findPer(pName) + if (peripheral.getName) then + local p = peripheral.find(pName) + local n + + if (p) then + n = peripheral.getName(p) + end + + return n, p + + else + local d = {"top", "bottom", "right", "left", "front", "back"} + for i=1, #d do + if (peripheral.getType(d[i]) == pName) then + local p = peripheral.wrap(d[i]) + local n = d[i] + return n, p + + end + + end + + end + +end + +local function invertQuad(x, y, w, h) + for i=y, y+h-1 do + fi = frame[i] + for j=x, x+w-1 do + fi[j] = not fi[j] + + end + end + + return frame + +end + +local function readQuad(x, y, w, h) + if (w * h == 0) then + return + end + + + if (reader:readBit()) then + -- Splits into 4 more quads. + + local cw = math.ceil(w/2) + local ch = math.ceil(h/2) + local fw = math.floor(w/2) + local fh = math.floor(h/2) + + readQuad(x, y, cw, ch) + readQuad(x+cw, y, fw, ch) + readQuad(x, y+ch, cw, fh) + readQuad(x+cw, y+ch, fw, fh) + + else + -- Doesn't split. + if (reader:readBit()) then + -- Inverts the region of this quad. + invertQuad(x, y, w, h) + + end + + end + +end + +local fx +local fy + +local w_bits +local h_bits + +local frw +local frh + +local function readFrame() + fx = reader:readNumber(_width_bits) + fy = reader:readNumber(_height_bits) + + w_bits = 0 + h_bits = 0 + + while (2^w_bits <= width - fx) do + w_bits = w_bits + 1 + end + + while (2^h_bits <= height - fy) do + h_bits = h_bits + 1 + end + + frw = reader:readNumber(w_bits) + + if (frw == 0) then + return + end + frh = reader:readNumber(h_bits) + + + + + readQuad(fx+1, fy+1, frw, frh) + +end + +local loop = false +for i=1, #arg do + if (arg[i] == "loop") then + loop = true + table.remove(arg, i) + break + + end + +end + +print("Reading files...") + +local videofile = arg[1] +local audiofile + +local dPos = videofile:find("%.") +if (dPos) then + audiofile = videofile:sub(1, dPos-1) .. ".nbs" + +else + audiofile = videofile .. ".nbs" + videofile = videofile .. ".qtv" + +end + +-- Read the audio file +local wc +if (audiofile and fs.exists(audiofile)) then + local dir, speaker = findPer("speaker") + + if (speaker ~= nil) then + wc = wave.createContext() + wc:addOutput(dir) + local t = wave.loadTrack(audiofile) + wc:addInstance(wave.createInstance(t)) + + end + +end + + +-- Read the video file +if (not fs.exists(videofile)) then + error("video file '" .. videofile .. "' not found.") + +end + +local f = fs.open(videofile, "rb") +local fileString = f.readAll() +data = {string.byte(fileString, 1, -1)} + +f.close() + + +reader = BitReader(data) + +sleep_ticks = reader:readNumber(5)+1 +width = reader:readNumber(10)+1 +height = reader:readNumber(9)+1 + +_width_bits = 0 +_height_bits = 0 + +while (2^_width_bits <= width) do + _width_bits = _width_bits + 1 +end + +while (2^_height_bits <= height) do + _height_bits = _height_bits + 1 +end + +local mon = peripheral.find("monitor") + +if (mon ~= nil) then + screen = mon + + for s=5,0.5,-0.5 do + screen.setTextScale(s) + w, h = screen.getSize() + if (width <= (w+1)*2 or height <= (h+1)*3) then + break + end + + end + +end + +local hs = HexScreen(screen) +hs:setSizeBuffer(width, height) + +local fri + +frame = {} +for i=1, height do + frame[i] = {} + fri = frame[i] + for j=1, width do + fri[j] = false + end +end + +hs.buffer = frame +local status, err +while true do + status, err = pcall(readFrame) + + if (not status) then + if (not loop) then + break + end + + reader:reset() + reader:readNumber(5) + reader:readNumber(10) + reader:readNumber(9) + + frame = {} + for i=1, height do + frame[i] = {} + fri = frame[i] + for j=1, width do + fri[j] = false + end + end + + hs.buffer = frame + + if (wc) then + for i = 1, #wc.instances do + wc.instances[i].playing = true + wc.instances[i].tick = 1 + + end + end + + else + hs:draw() + + if (wc) then + pcall(wc.update, wc, 0.05) + + end + + end + + sleep(0.05 * sleep_ticks) + +end \ No newline at end of file diff --git a/computer/1/startup.lua b/computer/1/startup.lua index b10f57d..5c06168 100644 --- a/computer/1/startup.lua +++ b/computer/1/startup.lua @@ -18,7 +18,7 @@ while true do filename, "r" ) - lines = {} + counts = {} vec = stringtovec(message) print(vector.new().tostring(vec)) record = nil @@ -26,22 +26,22 @@ while true do line = file.readLine() wec = (line and stringtovec(line)) or nil adding = wec - if + if (wec) and ( - (not record) - or + (not record) + or (wec.y <= record.y) - ) + ) then - if - (not record) - or + if + (not record) + or ( - (vec-wec):length() - < + (vec-wec):length() + < (vec-record):length() - ) + ) then --pp.pretty_print(wec) --write("is better than") @@ -51,18 +51,18 @@ while true do end end if adding then - table.insert(lines,adding:tostring()) + table.insert(counts,adding:tostring()) end until not line rednet.send(id,record:tostring(),"nexttobuild") print(record) file.close() file = fs.open(filename,"w") - for i,v in pairs(lines) do + for i,v in pairs(counts) do file.writeLine(v) end file.close() - + else file = fs.open(filename,"r") line = file.readLine() diff --git a/computer/1/tobuild b/computer/1/tobuild index c3fbe7e..e69de29 100644 --- a/computer/1/tobuild +++ b/computer/1/tobuild @@ -1,9942 +0,0 @@ -10,32,-78 -2,32,-70 --150,32,146 --142,32,146 --150,32,138 --134,32,146 --142,32,138 --150,32,130 --126,32,146 --134,32,138 --142,32,130 --150,32,122 --126,32,138 --134,32,130 --142,32,122 --150,32,114 --126,32,130 --134,32,122 --142,32,114 --150,32,106 --126,32,122 --118,32,130 --118,32,138 --118,32,146 --134,32,114 --142,32,106 --150,32,98 --118,32,122 --126,32,114 --134,32,106 --150,32,90 --142,32,98 --118,32,114 --126,32,106 --150,32,82 --134,32,98 --142,32,90 --150,32,74 --126,32,98 --142,32,82 --134,32,90 --150,32,66 --118,32,106 --142,32,74 --134,32,82 --150,32,58 --142,32,66 --150,32,50 --142,32,58 --150,32,42 --150,32,-150 --150,32,34 --150,32,-142 --150,32,26 --142,32,-150 --150,32,-134 --126,32,90 --110,32,114 --110,32,122 --110,32,130 --110,32,138 --110,32,146 --150,32,18 --150,32,-126 --142,32,-142 --150,32,10 --150,32,-118 --134,32,74 --150,32,2 --142,32,-134 --142,32,50 --118,32,98 --142,32,42 --134,32,-150 --134,32,66 --150,32,-110 --110,32,106 --126,32,82 --150,32,-6 --142,32,-126 --150,32,-102 --142,32,34 --150,32,-14 --142,32,26 --134,32,58 --150,32,-94 --150,32,-22 --134,32,-142 --118,32,90 --142,32,18 --150,32,-86 --150,32,-30 --150,32,-78 --150,32,-38 --142,32,2 --102,32,114 --102,32,122 --102,32,130 --102,32,138 --102,32,146 --142,32,-118 --134,32,-134 --150,32,-70 --142,32,10 --150,32,-46 --126,32,74 --142,32,-6 --142,32,-110 --126,32,-150 --150,32,-62 --110,32,98 --134,32,50 --102,32,106 --150,32,-54 --134,32,42 --118,32,82 --134,32,-126 --126,32,66 --134,32,34 --142,32,-102 --142,32,-14 --110,32,90 --126,32,58 --126,32,-142 --134,32,26 --142,32,-94 --142,32,-22 --118,32,74 --134,32,-118 --126,32,-134 --142,32,-86 --142,32,-30 --134,32,18 --94,32,114 --94,32,122 --94,32,130 --94,32,138 --94,32,146 --142,32,-78 --142,32,-38 --134,32,-6 --142,32,-70 --134,32,2 --102,32,98 --118,32,-150 --134,32,-110 --142,32,-46 --134,32,10 --94,32,106 --126,32,-126 --142,32,-62 --126,32,50 --110,32,82 --118,32,66 --126,32,42 --142,32,-54 --134,32,-102 --134,32,-14 --102,32,90 --126,32,34 --118,32,-142 --134,32,-94 --94,32,98 --118,32,58 --110,32,74 --134,32,-22 --126,32,-118 --126,32,26 --110,32,-150 --134,32,-86 --86,32,106 --86,32,114 --86,32,122 --86,32,130 --86,32,138 --86,32,146 --134,32,-30 --134,32,-78 --134,32,-38 --134,32,-70 --118,32,-134 --126,32,18 --126,32,-6 --126,32,-110 --134,32,-46 --118,32,-126 --126,32,10 --126,32,2 --134,32,-62 --118,32,50 --102,32,82 --110,32,66 --134,32,-54 --110,32,-142 --126,32,-102 --94,32,90 --118,32,42 --86,32,98 --118,32,34 --126,32,-14 --102,32,74 --118,32,-118 --126,32,-94 --110,32,58 --102,32,-150 --118,32,26 --126,32,-22 --118,32,18 --78,32,106 --78,32,114 --78,32,122 --78,32,130 --78,32,138 --78,32,146 --126,32,-86 --126,32,-30 --110,32,-134 --126,32,-78 --118,32,-110 --126,32,-38 --126,32,-70 --118,32,10 --126,32,-46 --118,32,-6 --94,32,82 --110,32,-126 --118,32,2 --110,32,50 --102,32,-142 --126,32,-62 --126,32,-54 --94,32,-150 --86,32,90 --102,32,66 --78,32,98 --110,32,42 --118,32,-102 --118,32,-14 --94,32,74 --110,32,-118 --102,32,58 --110,32,34 --118,32,-94 --118,32,-22 --118,32,-86 --86,32,82 --70,32,106 --70,32,114 --70,32,122 --70,32,130 --70,32,138 --70,32,146 --102,32,-134 --118,32,-30 --110,32,-110 --118,32,-78 --110,32,26 --110,32,18 --118,32,-38 --94,32,-142 --118,32,-70 --70,32,98 --102,32,-126 --78,32,90 --110,32,-6 --118,32,-46 --110,32,10 --110,32,-102 --86,32,-150 --102,32,50 --118,32,-62 --110,32,2 --94,32,66 --102,32,42 --118,32,-54 --102,32,-118 --110,32,-14 --86,32,74 --110,32,-94 --94,32,58 --110,32,-22 --78,32,82 --102,32,34 --62,32,98 --62,32,106 --62,32,114 --62,32,122 --62,32,130 --62,32,138 --62,32,146 --94,32,-134 --102,32,-110 --86,32,-142 --110,32,-86 --70,32,90 --94,32,-126 --110,32,-30 --110,32,-78 --102,32,26 --110,32,-38 --110,32,-70 --102,32,18 --102,32,-102 --78,32,-150 --102,32,-6 --94,32,-118 --110,32,-46 --86,32,66 --94,32,50 --102,32,10 --102,32,2 --110,32,-62 --110,32,-54 --78,32,74 --102,32,-14 --86,32,-134 --94,32,42 --102,32,-94 --62,32,90 --70,32,82 --86,32,58 --54,32,98 --54,32,106 --54,32,114 --54,32,122 --54,32,130 --54,32,138 --54,32,146 --102,32,-22 --78,32,-142 --94,32,-110 --70,32,-150 --102,32,-86 --102,32,-30 --102,32,-78 --94,32,34 --102,32,-38 --102,32,-70 --78,32,66 --86,32,-126 --94,32,26 --78,32,-134 --86,32,50 --94,32,-102 --94,32,18 --94,32,-6 --86,32,-118 --94,32,10 --94,32,2 --102,32,-46 --94,32,-14 --102,32,-62 --102,32,-54 --54,32,90 --70,32,74 --62,32,82 --86,32,42 --94,32,-94 --94,32,-22 --46,32,98 --46,32,106 --46,32,114 --46,32,122 --46,32,130 --46,32,138 --46,32,146 --70,32,-142 --62,32,-150 --86,32,-110 --94,32,-86 --78,32,-126 --78,32,58 --94,32,-30 --86,32,34 --94,32,-78 --70,32,-134 --70,32,66 --62,32,-142 --46,32,90 --94,32,-38 --78,32,50 --86,32,-102 --94,32,-70 --86,32,26 --78,32,-118 --54,32,82 --62,32,74 --86,32,-14 --86,32,-6 --94,32,-46 --86,32,18 --86,32,10 --54,32,-150 --86,32,2 --94,32,-62 --70,32,58 --38,32,90 --38,32,98 --38,32,106 --38,32,114 --38,32,122 --38,32,130 --38,32,138 --38,32,146 --94,32,-54 --86,32,-94 --78,32,-110 --86,32,-22 --70,32,-126 --86,32,-86 --78,32,42 --86,32,-30 --46,32,82 --62,32,66 --62,32,-134 --46,32,-150 --86,32,-78 --86,32,-38 --54,32,-142 --54,32,74 --78,32,34 --70,32,50 --78,32,-102 --86,32,-70 --70,32,-118 --78,32,-14 --78,32,26 --78,32,18 --78,32,2 --86,32,-46 --78,32,10 --78,32,-6 --38,32,82 --62,32,-126 --30,32,90 --30,32,98 --30,32,106 --30,32,114 --30,32,122 --30,32,130 --30,32,138 --30,32,146 --86,32,-62 --86,32,-54 --70,32,-110 --78,32,-94 --38,32,-150 --78,32,-22 --62,32,58 --54,32,-134 --78,32,-86 --46,32,-142 --78,32,-30 --70,32,42 --46,32,74 --54,32,66 --70,32,34 --70,32,-102 --78,32,-78 --62,32,50 --62,32,-118 --30,32,-150 --54,32,-126 --78,32,-38 --30,32,82 --38,32,-142 --70,32,26 --38,32,74 --78,32,-70 --54,32,58 --78,32,-46 --46,32,66 --22,32,90 --22,32,98 --22,32,106 --22,32,114 --22,32,122 --22,32,130 --22,32,138 --22,32,146 --46,32,-134 --78,32,-62 --70,32,-94 --62,32,-110 --78,32,-54 --70,32,-86 --70,32,-6 --62,32,-102 --70,32,18 --70,32,-14 --70,32,-22 --22,32,-150 --70,32,2 --62,32,42 --70,32,10 --62,32,34 --54,32,-118 --22,32,82 --30,32,-142 --46,32,-126 --70,32,-30 --30,32,74 --70,32,-78 --54,32,50 --70,32,-38 --38,32,66 --46,32,58 --70,32,-70 --62,32,26 --22,32,74 --14,32,90 --14,32,98 --14,32,106 --14,32,114 --14,32,122 --14,32,130 --14,32,138 --14,32,146 --38,32,-134 --62,32,-94 --54,32,-110 --14,32,-150 --70,32,-46 --70,32,-62 --46,32,-118 --62,32,-6 --22,32,-142 --70,32,-54 --62,32,-14 --62,32,-22 --14,32,82 --30,32,-134 --54,32,-102 --54,32,42 --62,32,18 --62,32,10 --62,32,2 --62,32,-86 --30,32,66 --46,32,50 --6,32,-150 --62,32,-30 --38,32,-126 --38,32,58 --54,32,34 --62,32,-78 --54,32,26 --14,32,74 --6,32,90 --6,32,98 --6,32,106 --6,32,114 --6,32,122 --6,32,130 --6,32,138 --6,32,146 --14,32,-142 -2,32,-150 --46,32,-110 --38,32,-118 --22,32,-134 --62,32,-38 --54,32,-94 --62,32,-70 --62,32,-46 --62,32,-62 --30,32,-126 --6,32,82 --54,32,-14 --22,32,66 --46,32,42 --54,32,-22 --46,32,-102 --54,32,18 --54,32,-6 --54,32,10 --6,32,-142 --54,32,2 --30,32,58 --38,32,50 --6,32,74 --14,32,-134 --54,32,-86 --14,32,66 --54,32,-30 -2,32,82 -2,32,90 -2,32,98 -2,32,106 -2,32,114 -2,32,122 -2,32,130 -2,32,138 -2,32,146 -10,32,-150 --38,32,-110 --22,32,-126 --54,32,-78 -2,32,-142 --54,32,-38 --46,32,-94 --30,32,-118 --54,32,-70 --6,32,-134 --46,32,34 --38,32,-102 --46,32,26 --46,32,-14 --54,32,-62 --54,32,-54 --22,32,58 --38,32,42 --46,32,-86 --6,32,66 --46,32,-22 -2,32,74 -10,32,-142 --30,32,-110 --30,32,50 --46,32,18 --46,32,-6 --46,32,10 --14,32,-126 -10,32,82 -10,32,90 -10,32,98 -10,32,106 -10,32,114 -10,32,122 -10,32,130 -10,32,138 -10,32,146 -18,32,-150 -18,32,-142 --46,32,-30 -2,32,-134 --46,32,-78 --22,32,-118 --46,32,-38 --46,32,-70 --46,32,2 --38,32,-94 --6,32,-126 --30,32,-102 --14,32,-118 -10,32,-134 --38,32,34 --14,32,58 --46,32,-46 --46,32,-62 --22,32,50 -10,32,74 -2,32,66 --30,32,42 -18,32,-134 --38,32,-86 --46,32,-54 --6,32,58 --38,32,26 --38,32,-14 -18,32,74 -18,32,82 -18,32,90 -18,32,98 -18,32,106 -18,32,114 -18,32,122 -18,32,130 -18,32,138 -18,32,146 -26,32,-150 -26,32,-142 --38,32,-30 --22,32,-110 -2,32,-126 -26,32,-134 --38,32,-78 --30,32,-94 --38,32,-6 --6,32,-118 --22,32,-102 --38,32,-22 --38,32,-38 --38,32,18 --38,32,-70 --30,32,-86 --14,32,-110 -2,32,58 -10,32,66 -10,32,-126 --38,32,10 --38,32,2 --38,32,-46 --14,32,50 --30,32,34 --22,32,42 --30,32,-30 -18,32,66 -26,32,74 -26,32,82 -26,32,90 -26,32,98 -26,32,106 -26,32,114 -26,32,122 -26,32,130 -26,32,138 -26,32,146 -34,32,-150 -34,32,-142 -34,32,-134 --22,32,-94 -2,32,-118 -18,32,-126 --38,32,-62 --6,32,-110 -26,32,-126 --38,32,-54 --30,32,-78 --6,32,50 -10,32,-118 -34,32,-126 --30,32,26 -10,32,58 --22,32,34 --30,32,-38 --30,32,-22 --30,32,-70 --30,32,18 --30,32,-14 --14,32,-102 --30,32,-6 --22,32,-86 -26,32,66 -2,32,50 --14,32,-94 -34,32,74 -34,32,82 -34,32,90 -34,32,98 -34,32,106 -34,32,114 -34,32,122 -34,32,130 -34,32,138 -34,32,146 -42,32,-150 -42,32,-142 -42,32,-134 -42,32,-126 -2,32,-110 --30,32,-46 -18,32,-118 -26,32,-118 --30,32,-62 --30,32,-54 --14,32,42 --22,32,-78 --22,32,-30 -18,32,58 --30,32,10 --6,32,-102 --22,32,-38 -10,32,50 --30,32,2 -34,32,66 -34,32,-118 --22,32,-14 -10,32,-110 --6,32,42 --22,32,26 --14,32,34 -26,32,58 -42,32,66 -42,32,74 -42,32,82 -42,32,90 -42,32,98 -42,32,106 -42,32,114 -42,32,122 -42,32,130 -42,32,138 -42,32,146 -50,32,-150 -50,32,-142 -50,32,-134 -50,32,-126 -42,32,-118 -2,32,-102 -50,32,-118 -18,32,-110 --22,32,-70 --14,32,-86 --22,32,18 --6,32,-94 --22,32,-22 -10,32,-102 -18,32,50 --22,32,-46 --22,32,-62 -26,32,-110 -2,32,42 --6,32,-86 -34,32,-110 -34,32,58 --22,32,-54 --22,32,-6 -18,32,42 -26,32,50 --22,32,10 -50,32,66 -50,32,74 -50,32,82 -50,32,90 -50,32,98 -50,32,106 -50,32,114 -50,32,122 -50,32,130 -50,32,138 -50,32,146 -58,32,-150 -58,32,-142 -58,32,-134 -58,32,-126 -58,32,-118 -58,32,-110 -42,32,-110 -50,32,-110 --14,32,-78 --14,32,-38 -18,32,-102 -2,32,-94 --14,32,-70 --14,32,-30 -26,32,-102 --6,32,-78 -42,32,58 -58,32,-102 -10,32,42 -50,32,58 --22,32,2 -10,32,-94 -34,32,50 -34,32,-102 -50,32,-102 --6,32,34 -58,32,58 -58,32,66 -58,32,74 -58,32,82 -58,32,90 -58,32,98 -58,32,106 -58,32,114 -58,32,122 -58,32,130 -58,32,138 -58,32,146 -66,32,-150 -66,32,-142 -66,32,-134 -66,32,-126 -66,32,-118 -66,32,-110 -66,32,-102 --14,32,-46 -2,32,-86 -18,32,-94 -42,32,-102 --14,32,-22 -66,32,-94 --14,32,-62 --14,32,-54 -26,32,-94 -10,32,-86 -42,32,50 --14,32,-14 --6,32,-30 -58,32,50 --6,32,-38 --6,32,-70 -50,32,50 -2,32,-78 -66,32,50 -66,32,58 -66,32,66 -66,32,74 -66,32,82 -66,32,90 -66,32,98 -66,32,106 -66,32,114 -66,32,122 -66,32,130 -66,32,138 -66,32,146 -74,32,-150 -74,32,-142 -74,32,-134 -74,32,-126 -74,32,-118 -74,32,-110 -74,32,-102 -74,32,-94 -74,32,-86 -58,32,-94 -50,32,-94 -34,32,-94 -66,32,-86 -42,32,-94 --6,32,-46 -18,32,-86 -74,32,-78 --14,32,26 --14,32,-6 --6,32,-62 -2,32,34 -66,32,42 -26,32,-86 --6,32,-54 -74,32,42 -74,32,50 -74,32,58 -74,32,66 -74,32,74 -74,32,82 -74,32,90 -74,32,98 -74,32,106 -74,32,114 -74,32,122 -74,32,130 -74,32,138 -74,32,146 -82,32,-150 -82,32,-142 -82,32,-134 -82,32,-126 -82,32,-118 -82,32,-110 -82,32,-102 -82,32,-94 -82,32,-86 -82,32,-78 -82,32,-70 -82,32,-62 -82,32,-54 -82,32,-46 -74,32,-46 -58,32,-86 -50,32,-86 -82,32,-38 -82,32,-6 --14,32,18 -74,32,34 -82,32,2 -82,32,26 -82,32,34 -82,32,42 -82,32,50 -82,32,58 -82,32,66 -82,32,74 -82,32,82 -82,32,90 -82,32,98 -82,32,106 -82,32,114 -82,32,122 -82,32,130 -82,32,138 -82,32,146 -90,32,-150 -90,32,-142 -90,32,-134 -90,32,-126 -90,32,-118 -90,32,-110 -90,32,-102 -90,32,-94 -90,32,-86 -90,32,-78 -90,32,-70 -90,32,-62 -90,32,-54 -90,32,-46 -90,32,-38 -90,32,-30 -90,32,-22 -90,32,-14 -90,32,-6 -90,32,2 -90,32,10 -90,32,18 -90,32,26 -90,32,34 -90,32,42 -90,32,50 -90,32,58 -90,32,66 -90,32,74 -90,32,82 -90,32,90 -90,32,98 -90,32,106 -90,32,114 -90,32,122 -90,32,130 -90,32,138 -90,32,146 -98,32,-150 -98,32,-142 -98,32,-134 -98,32,-126 -98,32,-118 -98,32,-110 -98,32,-102 -98,32,-94 -98,32,-86 -98,32,-78 -98,32,-70 -98,32,-62 -98,32,-54 -98,32,-46 -98,32,-38 -98,32,-30 -98,32,-22 -98,32,-14 -98,32,-6 -98,32,2 -98,32,10 -98,32,18 -98,32,26 -98,32,34 -98,32,42 -98,32,50 -98,32,58 -98,32,66 -98,32,74 -98,32,82 -98,32,90 -98,32,98 -98,32,106 -98,32,114 -98,32,122 -98,32,130 -98,32,138 -98,32,146 -106,32,-150 -106,32,-142 -106,32,-134 -106,32,-126 -106,32,-118 -106,32,-110 -106,32,-102 -106,32,-94 -106,32,-86 -106,32,-78 -106,32,-70 -106,32,-62 -106,32,-54 -106,32,-46 -106,32,-38 -106,32,-30 -106,32,-22 -106,32,-14 -106,32,-6 -106,32,2 -106,32,10 -106,32,18 -106,32,26 -106,32,34 -106,32,42 -106,32,50 -106,32,58 -106,32,66 -106,32,74 -106,32,82 -106,32,90 -106,32,98 -106,32,106 -106,32,114 -106,32,122 -106,32,130 -106,32,138 -106,32,146 -114,32,-150 -114,32,-142 -114,32,-134 -114,32,-126 -114,32,-118 -114,32,-110 -114,32,-102 -114,32,-94 -114,32,-86 -114,32,-78 -114,32,-70 -114,32,-62 -114,32,-54 -114,32,-46 -114,32,-38 -114,32,-30 -114,32,-22 -114,32,-14 -114,32,-6 -114,32,2 -114,32,10 -114,32,18 -114,32,26 -114,32,34 -114,32,42 -114,32,50 -114,32,58 -114,32,66 -114,32,74 -114,32,82 -114,32,90 -114,32,98 -114,32,106 -114,32,114 -114,32,122 -114,32,130 -114,32,138 -114,32,146 -122,32,-150 -122,32,-142 -122,32,-134 -122,32,-126 -122,32,-118 -122,32,-110 -122,32,-102 -122,32,-94 -122,32,-86 -122,32,-78 -122,32,-70 -122,32,-62 -122,32,-54 -122,32,-46 -122,32,-38 -122,32,-30 -122,32,-22 -122,32,-14 -122,32,-6 -122,32,2 -122,32,10 -122,32,18 -122,32,26 -122,32,34 -122,32,42 -122,32,50 -122,32,58 -122,32,66 -122,32,74 -122,32,82 -122,32,90 -122,32,98 -122,32,106 -122,32,114 -122,32,122 -122,32,130 -122,32,138 -122,32,146 -130,32,-150 -130,32,-142 -130,32,-134 -130,32,-126 -130,32,-118 -130,32,-110 -130,32,-102 -130,32,-94 -130,32,-86 -130,32,-78 -130,32,-70 -130,32,-62 -130,32,-54 -130,32,-46 -130,32,-38 -130,32,-30 -130,32,-22 -130,32,-14 -130,32,-6 -130,32,2 -130,32,10 -130,32,18 -130,32,26 -130,32,34 -130,32,42 -130,32,50 -130,32,58 -130,32,66 -130,32,74 -130,32,82 -130,32,90 -130,32,98 -130,32,106 -130,32,114 -130,32,122 -130,32,130 -130,32,138 -130,32,146 -138,32,-150 -138,32,-142 -138,32,-134 -138,32,-126 -138,32,-118 -138,32,-110 -138,32,-102 -138,32,-94 -138,32,-86 -138,32,-78 -138,32,-70 -138,32,-62 -138,32,-54 -138,32,-46 -138,32,-38 -138,32,-30 -138,32,-22 -138,32,-14 -138,32,-6 -138,32,2 -138,32,10 -138,32,18 -138,32,26 -138,32,34 -138,32,42 -138,32,50 -138,32,58 -138,32,66 -138,32,74 -138,32,82 -138,32,90 -138,32,98 -138,32,106 -138,32,114 -138,32,122 -138,32,130 -138,32,138 -138,32,146 -146,32,-150 -146,32,-142 -146,32,-134 -146,32,-126 -146,32,-118 -146,32,-110 -146,32,-102 -146,32,-94 -146,32,-86 -146,32,-78 -146,32,-70 -146,32,-62 -146,32,-54 -146,32,-46 -146,32,-38 -146,32,-30 -146,32,-22 -146,32,-14 -146,32,-6 -146,32,2 -146,32,10 -146,32,18 -146,32,26 -146,32,34 -146,32,42 -146,32,50 -146,32,58 -146,32,66 -146,32,74 -146,32,82 -146,32,90 -146,32,98 -146,32,106 -146,32,114 -146,32,122 -146,32,130 -146,32,138 -146,32,146 --150,40,-150 --150,40,-142 --150,40,-134 --150,40,-126 --150,40,-118 --150,40,-110 --150,40,-102 --150,40,-94 --150,40,-86 --150,40,-78 --150,40,-70 --150,40,-62 --150,40,-54 --150,40,-46 --150,40,-38 --150,40,-30 --150,40,-22 --150,40,-14 --150,40,-6 --150,40,2 --150,40,10 --150,40,18 --150,40,26 --150,40,34 --150,40,42 --150,40,50 --150,40,58 --150,40,66 --150,40,74 --150,40,82 --150,40,90 --150,40,98 --150,40,106 --150,40,114 --150,40,122 --150,40,130 --150,40,138 --150,40,146 --142,40,-150 --142,40,-142 --142,40,-134 --142,40,-126 --142,40,-118 --142,40,-110 --142,40,-102 --142,40,-94 --142,40,-86 --142,40,-78 --142,40,-70 --142,40,-62 --142,40,-54 --142,40,-46 --142,40,-38 --142,40,-30 --142,40,-22 --142,40,-14 --142,40,-6 --142,40,2 --142,40,10 --142,40,18 --142,40,26 --142,40,34 --142,40,42 --142,40,50 --142,40,58 --142,40,66 --142,40,74 --142,40,82 --142,40,90 --142,40,98 --142,40,106 --142,40,114 --142,40,122 --142,40,130 --142,40,138 --142,40,146 --134,40,-150 --134,40,-142 --134,40,-134 --134,40,-126 --134,40,-118 --134,40,-110 --134,40,-102 --134,40,-94 --134,40,-86 --134,40,-78 --134,40,-70 --134,40,-62 --134,40,-54 --134,40,-46 --134,40,-38 --134,40,-30 --134,40,-22 --134,40,-14 --134,40,-6 --134,40,2 --134,40,10 --134,40,18 --134,40,26 --134,40,34 --134,40,42 --134,40,50 --134,40,58 --134,40,66 --134,40,74 --134,40,82 --134,40,90 --134,40,98 --134,40,106 --134,40,114 --134,40,122 --134,40,130 --134,40,138 --134,40,146 --126,40,-150 --126,40,-142 --126,40,-134 --126,40,-126 --126,40,-118 --126,40,-110 --126,40,-102 --126,40,-94 --126,40,-86 --126,40,-78 --126,40,-70 --126,40,-62 --126,40,-54 --126,40,-46 --126,40,-38 --126,40,-30 --126,40,-22 --126,40,-14 --126,40,-6 --126,40,2 --126,40,10 --126,40,18 --126,40,26 --126,40,34 --126,40,42 --126,40,50 --126,40,58 --126,40,66 --126,40,74 --126,40,82 --126,40,90 --126,40,98 --126,40,106 --126,40,114 --126,40,122 --126,40,130 --126,40,138 --126,40,146 --118,40,-150 --118,40,-142 --118,40,-134 --118,40,-126 --118,40,-118 --118,40,-110 --118,40,-102 --118,40,-94 --118,40,-86 --118,40,-78 --118,40,-70 --118,40,-62 --118,40,-54 --118,40,-46 --118,40,-38 --118,40,-30 --118,40,-22 --118,40,-14 --118,40,-6 --118,40,2 --118,40,10 --118,40,18 --118,40,26 --118,40,34 --118,40,42 --118,40,50 --118,40,58 --118,40,66 --118,40,74 --118,40,82 --118,40,90 --118,40,98 --118,40,106 --118,40,114 --118,40,122 --118,40,130 --118,40,138 --118,40,146 --110,40,-150 --110,40,-142 --110,40,-134 --110,40,-126 --110,40,-118 --110,40,-110 --110,40,-102 --110,40,-94 --110,40,-86 --110,40,-78 --110,40,-70 --110,40,-62 --110,40,-54 --110,40,-46 --110,40,-38 --110,40,-30 --110,40,-22 --110,40,-14 --110,40,-6 --110,40,2 --110,40,10 --110,40,18 --110,40,26 --110,40,34 --110,40,42 --110,40,50 --110,40,58 --110,40,66 --110,40,74 --110,40,82 --110,40,90 --110,40,98 --110,40,106 --110,40,114 --110,40,122 --110,40,130 --110,40,138 --110,40,146 --102,40,-150 --102,40,-142 --102,40,-134 --102,40,-126 --102,40,-118 --102,40,-110 --102,40,-102 --102,40,-94 --102,40,-86 --102,40,-78 --102,40,-70 --102,40,-62 --102,40,-54 --102,40,-46 --102,40,-38 --102,40,-30 --102,40,-22 --102,40,-14 --102,40,-6 --102,40,2 --102,40,10 --102,40,18 --102,40,26 --102,40,34 --102,40,42 --102,40,50 --102,40,58 --102,40,66 --102,40,74 --102,40,82 --102,40,90 --102,40,98 --102,40,106 --102,40,114 --102,40,122 --102,40,130 --102,40,138 --102,40,146 --94,40,-150 --94,40,-142 --94,40,-134 --94,40,-126 --94,40,-118 --94,40,-110 --94,40,-102 --94,40,-94 --94,40,-86 --94,40,-78 --94,40,-70 --94,40,-62 --94,40,-54 --94,40,-46 --94,40,-38 --94,40,-30 --94,40,-22 --94,40,-14 --94,40,-6 --94,40,2 --94,40,10 --94,40,18 --94,40,26 --94,40,34 --94,40,42 --94,40,50 --94,40,58 --94,40,66 --94,40,74 --94,40,82 --94,40,90 --94,40,98 --94,40,106 --94,40,114 --94,40,122 --94,40,130 --94,40,138 --94,40,146 --86,40,-150 --86,40,-142 --86,40,-134 --86,40,-126 --86,40,-118 --86,40,-110 --86,40,-102 --86,40,-94 --86,40,-86 --86,40,-78 --86,40,-70 --86,40,-62 --86,40,-54 --86,40,-46 --86,40,-38 --86,40,-30 --86,40,-22 --86,40,-14 --86,40,-6 --86,40,2 --86,40,10 --86,40,18 --86,40,26 --86,40,34 --86,40,42 --86,40,50 --86,40,58 --86,40,66 --86,40,74 --86,40,82 --86,40,90 --86,40,98 --86,40,106 --86,40,114 --86,40,122 --86,40,130 --86,40,138 --86,40,146 --78,40,-150 --78,40,-142 --78,40,-134 --78,40,-126 --78,40,-118 --78,40,-110 --78,40,-102 --78,40,-94 --78,40,-86 --78,40,-78 --78,40,-70 --78,40,-62 --78,40,-54 --78,40,-46 --78,40,-38 --78,40,-30 --78,40,-22 --78,40,-14 --78,40,-6 --78,40,2 --78,40,10 --78,40,18 --78,40,26 --78,40,34 --78,40,42 --78,40,50 --78,40,58 --78,40,66 --78,40,74 --78,40,82 --78,40,90 --78,40,98 --78,40,106 --78,40,114 --78,40,122 --78,40,130 --78,40,138 --78,40,146 --70,40,-150 --70,40,-142 --70,40,-134 --70,40,-126 --70,40,-118 --70,40,-110 --70,40,-102 --70,40,-94 --70,40,-86 --70,40,-78 --70,40,-70 --70,40,-62 --70,40,-54 --70,40,-46 --70,40,-38 --70,40,-30 --70,40,-22 --70,40,-14 --70,40,-6 --70,40,2 --70,40,10 --70,40,18 --70,40,26 --70,40,34 --70,40,42 --70,40,50 --70,40,58 --70,40,66 --70,40,74 --70,40,82 --70,40,90 --70,40,98 --70,40,106 --70,40,114 --70,40,122 --70,40,130 --70,40,138 --70,40,146 --62,40,-150 --62,40,-142 --62,40,-134 --62,40,-126 --62,40,-118 --62,40,-110 --62,40,-102 --62,40,-94 --62,40,-86 --62,40,-78 --62,40,-70 --62,40,-62 --62,40,-54 --62,40,-46 --62,40,-38 --62,40,-30 --62,40,-22 --62,40,-14 --62,40,-6 --62,40,2 --62,40,10 --62,40,18 --62,40,26 --62,40,34 --62,40,42 --62,40,50 --62,40,58 --62,40,66 --62,40,74 --62,40,82 --62,40,90 --62,40,98 --62,40,106 --62,40,114 --62,40,122 --62,40,130 --62,40,138 --62,40,146 --54,40,-150 --54,40,-142 --54,40,-134 --54,40,-126 --54,40,-118 --54,40,-110 --54,40,-102 --54,40,-94 --54,40,-86 --54,40,-78 --54,40,-70 --54,40,-62 --54,40,-54 --54,40,-46 --54,40,-38 --54,40,-30 --54,40,-22 --54,40,-14 --54,40,-6 --54,40,2 --54,40,10 --54,40,18 --54,40,26 --54,40,34 --54,40,42 --54,40,50 --54,40,58 --54,40,66 --54,40,74 --54,40,82 --54,40,90 --54,40,98 --54,40,106 --54,40,114 --54,40,122 --54,40,130 --54,40,138 --54,40,146 --46,40,-150 --46,40,-142 --46,40,-134 --46,40,-126 --46,40,-118 --46,40,-110 --46,40,-102 --46,40,-94 --46,40,-86 --46,40,-78 --46,40,-70 --46,40,-62 --46,40,-54 --46,40,-46 --46,40,-38 --46,40,-30 --46,40,-22 --46,40,-14 --46,40,-6 --46,40,2 --46,40,10 --46,40,18 --46,40,26 --46,40,34 --46,40,42 --46,40,50 --46,40,58 --46,40,66 --46,40,74 --46,40,82 --46,40,90 --46,40,98 --46,40,106 --46,40,114 --46,40,122 --46,40,130 --46,40,138 --46,40,146 --38,40,-150 --38,40,-142 --38,40,-134 --38,40,-126 --38,40,-118 --38,40,-110 --38,40,-102 --38,40,-94 --38,40,-86 --38,40,-78 --38,40,-70 --38,40,-62 --38,40,-54 --38,40,-46 --38,40,-38 --38,40,-30 --38,40,-22 --38,40,-14 --38,40,-6 --38,40,2 --38,40,10 --38,40,18 --38,40,26 --38,40,34 --38,40,42 --38,40,50 --38,40,58 --38,40,66 --38,40,74 --38,40,82 --38,40,90 --38,40,98 --38,40,106 --38,40,114 --38,40,122 --38,40,130 --38,40,138 --38,40,146 --30,40,-150 --30,40,-142 --30,40,-134 --30,40,-126 --30,40,-118 --30,40,-110 --30,40,-102 --30,40,-94 --30,40,-86 --30,40,-78 --30,40,-70 --30,40,-62 --30,40,-54 --30,40,-46 --30,40,-38 --30,40,-30 --30,40,-22 --30,40,-14 --30,40,-6 --30,40,2 --30,40,10 --30,40,18 --30,40,26 --30,40,34 --30,40,42 --30,40,50 --30,40,58 --30,40,66 --30,40,74 --30,40,82 --30,40,90 --30,40,98 --30,40,106 --30,40,114 --30,40,122 --30,40,130 --30,40,138 --30,40,146 --22,40,-150 --22,40,-142 --22,40,-134 --22,40,-126 --22,40,-118 --22,40,-110 --22,40,-102 --22,40,-94 --22,40,-86 --22,40,-78 --22,40,-70 --22,40,-62 --22,40,-54 --22,40,-46 --22,40,-38 --22,40,-30 --22,40,-22 --22,40,-14 --22,40,-6 --22,40,2 --22,40,10 --22,40,18 --22,40,26 --22,40,34 --22,40,42 --22,40,50 --22,40,58 --22,40,66 --22,40,74 --22,40,82 --22,40,90 --22,40,98 --22,40,106 --22,40,114 --22,40,122 --22,40,130 --22,40,138 --22,40,146 --14,40,-150 --14,40,-142 --14,40,-134 --14,40,-126 --14,40,-118 --14,40,-110 --14,40,-102 --14,40,-94 --14,40,-86 --14,40,-78 --14,40,-70 --14,40,-62 --14,40,-54 --14,40,-46 --14,40,-38 --14,40,-30 --14,40,-22 --14,40,-14 --14,40,-6 --14,40,2 --14,40,10 --14,40,18 --14,40,26 --14,40,34 --14,40,42 --14,40,50 --14,40,58 --14,40,66 --14,40,74 --14,40,82 --14,40,90 --14,40,98 --14,40,106 --14,40,114 --14,40,122 --14,40,130 --14,40,138 --14,40,146 --6,40,-150 --6,40,-142 --6,40,-134 --6,40,-126 --6,40,-118 --6,40,-110 --6,40,-102 --6,40,-94 --6,40,-86 --6,40,-78 --6,40,-70 --6,40,-62 --6,40,-54 --6,40,-46 --6,40,-38 --6,40,-30 --6,40,-22 --6,40,-14 --6,40,-6 --6,40,2 --6,40,10 --6,40,18 --6,40,26 --6,40,34 --6,40,42 --6,40,50 --6,40,58 --6,40,66 --6,40,74 --6,40,82 --6,40,90 --6,40,98 --6,40,106 --6,40,114 --6,40,122 --6,40,130 --6,40,138 --6,40,146 -2,40,-150 -2,40,-142 -2,40,-134 -2,40,-126 -2,40,-118 -2,40,-110 -2,40,-102 -2,40,-94 -2,40,-86 -2,40,-78 -2,40,-70 -2,40,-62 -2,40,-54 -2,40,-46 -2,40,-38 -2,40,-30 -2,40,-22 -2,40,-14 -2,40,-6 -2,40,2 -2,40,10 -2,40,18 -2,40,26 -2,40,34 -2,40,42 -2,40,50 -2,40,58 -2,40,66 -2,40,74 -2,40,82 -2,40,90 -2,40,98 -2,40,106 -2,40,114 -2,40,122 -2,40,130 -2,40,138 -2,40,146 -10,40,-150 -10,40,-142 -10,40,-134 -10,40,-126 -10,40,-118 -10,40,-110 -10,40,-102 -10,40,-94 -10,40,-86 -10,40,-78 -10,40,-70 -10,40,-62 -10,40,-54 -10,40,-46 -10,40,-38 -10,40,-30 -10,40,-22 -10,40,-14 -10,40,-6 -10,40,2 -10,40,10 -10,40,18 -10,40,26 -10,40,34 -10,40,42 -10,40,50 -10,40,58 -10,40,66 -10,40,74 -10,40,82 -10,40,90 -10,40,98 -10,40,106 -10,40,114 -10,40,122 -10,40,130 -10,40,138 -10,40,146 -18,40,-150 -18,40,-142 -18,40,-134 -18,40,-126 -18,40,-118 -18,40,-110 -18,40,-102 -18,40,-94 -18,40,-86 -18,40,-78 -18,40,-70 -18,40,-62 -18,40,-54 -18,40,-46 -18,40,-38 -18,40,-30 -18,40,-22 -18,40,-14 -18,40,-6 -18,40,2 -18,40,10 -18,40,18 -18,40,26 -18,40,34 -18,40,42 -18,40,50 -18,40,58 -18,40,66 -18,40,74 -18,40,82 -18,40,90 -18,40,98 -18,40,106 -18,40,114 -18,40,122 -18,40,130 -18,40,138 -18,40,146 -26,40,-150 -26,40,-142 -26,40,-134 -26,40,-126 -26,40,-118 -26,40,-110 -26,40,-102 -26,40,-94 -26,40,-86 -26,40,-78 -26,40,-70 -26,40,-62 -26,40,-54 -26,40,-46 -26,40,-38 -26,40,-30 -26,40,-22 -26,40,-14 -26,40,-6 -26,40,2 -26,40,10 -26,40,18 -26,40,26 -26,40,34 -26,40,42 -26,40,50 -26,40,58 -26,40,66 -26,40,74 -26,40,82 -26,40,90 -26,40,98 -26,40,106 -26,40,114 -26,40,122 -26,40,130 -26,40,138 -26,40,146 -34,40,-150 -34,40,-142 -34,40,-134 -34,40,-126 -34,40,-118 -34,40,-110 -34,40,-102 -34,40,-94 -34,40,-86 -34,40,-78 -34,40,-70 -34,40,-62 -34,40,-54 -34,40,-46 -34,40,-38 -34,40,-30 -34,40,-22 -34,40,-14 -34,40,-6 -34,40,2 -34,40,10 -34,40,18 -34,40,26 -34,40,34 -34,40,42 -34,40,50 -34,40,58 -34,40,66 -34,40,74 -34,40,82 -34,40,90 -34,40,98 -34,40,106 -34,40,114 -34,40,122 -34,40,130 -34,40,138 -34,40,146 -42,40,-150 -42,40,-142 -42,40,-134 -42,40,-126 -42,40,-118 -42,40,-110 -42,40,-102 -42,40,-94 -42,40,-86 -42,40,-78 -42,40,-70 -42,40,-62 -42,40,-54 -42,40,-46 -42,40,-38 -42,40,-30 -42,40,-22 -42,40,-14 -42,40,-6 -42,40,2 -42,40,10 -42,40,18 -42,40,26 -42,40,34 -42,40,42 -42,40,50 -42,40,58 -42,40,66 -42,40,74 -42,40,82 -42,40,90 -42,40,98 -42,40,106 -42,40,114 -42,40,122 -42,40,130 -42,40,138 -42,40,146 -50,40,-150 -50,40,-142 -50,40,-134 -50,40,-126 -50,40,-118 -50,40,-110 -50,40,-102 -50,40,-94 -50,40,-86 -50,40,-78 -50,40,-70 -50,40,-62 -50,40,-54 -50,40,-46 -50,40,-38 -50,40,-30 -50,40,-22 -50,40,-14 -50,40,-6 -50,40,2 -50,40,10 -50,40,18 -50,40,26 -50,40,34 -50,40,42 -50,40,50 -50,40,58 -50,40,66 -50,40,74 -50,40,82 -50,40,90 -50,40,98 -50,40,106 -50,40,114 -50,40,122 -50,40,130 -50,40,138 -50,40,146 -58,40,-150 -58,40,-142 -58,40,-134 -58,40,-126 -58,40,-118 -58,40,-110 -58,40,-102 -58,40,-94 -58,40,-86 -58,40,-78 -58,40,-70 -58,40,-62 -58,40,-54 -58,40,-46 -58,40,-38 -58,40,-30 -58,40,-22 -58,40,-14 -58,40,-6 -58,40,2 -58,40,10 -58,40,18 -58,40,26 -58,40,34 -58,40,42 -58,40,50 -58,40,58 -58,40,66 -58,40,74 -58,40,82 -58,40,90 -58,40,98 -58,40,106 -58,40,114 -58,40,122 -58,40,130 -58,40,138 -58,40,146 -66,40,-150 -66,40,-142 -66,40,-134 -66,40,-126 -66,40,-118 -66,40,-110 -66,40,-102 -66,40,-94 -66,40,-86 -66,40,-78 -66,40,-70 -66,40,-62 -66,40,-54 -66,40,-46 -66,40,-38 -66,40,-30 -66,40,-22 -66,40,-14 -66,40,-6 -66,40,2 -66,40,10 -66,40,18 -66,40,26 -66,40,34 -66,40,42 -66,40,50 -66,40,58 -66,40,66 -66,40,74 -66,40,82 -66,40,90 -66,40,98 -66,40,106 -66,40,114 -66,40,122 -66,40,130 -66,40,138 -66,40,146 -74,40,-150 -74,40,-142 -74,40,-134 -74,40,-126 -74,40,-118 -74,40,-110 -74,40,-102 -74,40,-94 -74,40,-86 -74,40,-78 -74,40,-70 -74,40,-62 -74,40,-54 -74,40,-46 -74,40,-38 -74,40,-30 -74,40,-22 -74,40,-14 -74,40,-6 -74,40,2 -74,40,10 -74,40,18 -74,40,26 -74,40,34 -74,40,42 -74,40,50 -74,40,58 -74,40,66 -74,40,74 -74,40,82 -74,40,90 -74,40,98 -74,40,106 -74,40,114 -74,40,122 -74,40,130 -74,40,138 -74,40,146 -82,40,-150 -82,40,-142 -82,40,-134 -82,40,-126 -82,40,-118 -82,40,-110 -82,40,-102 -82,40,-94 -82,40,-86 -82,40,-78 -82,40,-70 -82,40,-62 -82,40,-54 -82,40,-46 -82,40,-38 -82,40,-30 -82,40,-22 -82,40,-14 -82,40,-6 -82,40,2 -82,40,10 -82,40,18 -82,40,26 -82,40,34 -82,40,42 -82,40,50 -82,40,58 -82,40,66 -82,40,74 -82,40,82 -82,40,90 -82,40,98 -82,40,106 -82,40,114 -82,40,122 -82,40,130 -82,40,138 -82,40,146 -90,40,-150 -90,40,-142 -90,40,-134 -90,40,-126 -90,40,-118 -90,40,-110 -90,40,-102 -90,40,-94 -90,40,-86 -90,40,-78 -90,40,-70 -90,40,-62 -90,40,-54 -90,40,-46 -90,40,-38 -90,40,-30 -90,40,-22 -90,40,-14 -90,40,-6 -90,40,2 -90,40,10 -90,40,18 -90,40,26 -90,40,34 -90,40,42 -90,40,50 -90,40,58 -90,40,66 -90,40,74 -90,40,82 -90,40,90 -90,40,98 -90,40,106 -90,40,114 -90,40,122 -90,40,130 -90,40,138 -90,40,146 -98,40,-150 -98,40,-142 -98,40,-134 -98,40,-126 -98,40,-118 -98,40,-110 -98,40,-102 -98,40,-94 -98,40,-86 -98,40,-78 -98,40,-70 -98,40,-62 -98,40,-54 -98,40,-46 -98,40,-38 -98,40,-30 -98,40,-22 -98,40,-14 -98,40,-6 -98,40,2 -98,40,10 -98,40,18 -98,40,26 -98,40,34 -98,40,42 -98,40,50 -98,40,58 -98,40,66 -98,40,74 -98,40,82 -98,40,90 -98,40,98 -98,40,106 -98,40,114 -98,40,122 -98,40,130 -98,40,138 -98,40,146 -106,40,-150 -106,40,-142 -106,40,-134 -106,40,-126 -106,40,-118 -106,40,-110 -106,40,-102 -106,40,-94 -106,40,-86 -106,40,-78 -106,40,-70 -106,40,-62 -106,40,-54 -106,40,-46 -106,40,-38 -106,40,-30 -106,40,-22 -106,40,-14 -106,40,-6 -106,40,2 -106,40,10 -106,40,18 -106,40,26 -106,40,34 -106,40,42 -106,40,50 -106,40,58 -106,40,66 -106,40,74 -106,40,82 -106,40,90 -106,40,98 -106,40,106 -106,40,114 -106,40,122 -106,40,130 -106,40,138 -106,40,146 -114,40,-150 -114,40,-142 -114,40,-134 -114,40,-126 -114,40,-118 -114,40,-110 -114,40,-102 -114,40,-94 -114,40,-86 -114,40,-78 -114,40,-70 -114,40,-62 -114,40,-54 -114,40,-46 -114,40,-38 -114,40,-30 -114,40,-22 -114,40,-14 -114,40,-6 -114,40,2 -114,40,10 -114,40,18 -114,40,26 -114,40,34 -114,40,42 -114,40,50 -114,40,58 -114,40,66 -114,40,74 -114,40,82 -114,40,90 -114,40,98 -114,40,106 -114,40,114 -114,40,122 -114,40,130 -114,40,138 -114,40,146 -122,40,-150 -122,40,-142 -122,40,-134 -122,40,-126 -122,40,-118 -122,40,-110 -122,40,-102 -122,40,-94 -122,40,-86 -122,40,-78 -122,40,-70 -122,40,-62 -122,40,-54 -122,40,-46 -122,40,-38 -122,40,-30 -122,40,-22 -122,40,-14 -122,40,-6 -122,40,2 -122,40,10 -122,40,18 -122,40,26 -122,40,34 -122,40,42 -122,40,50 -122,40,58 -122,40,66 -122,40,74 -122,40,82 -122,40,90 -122,40,98 -122,40,106 -122,40,114 -122,40,122 -122,40,130 -122,40,138 -122,40,146 -130,40,-150 -130,40,-142 -130,40,-134 -130,40,-126 -130,40,-118 -130,40,-110 -130,40,-102 -130,40,-94 -130,40,-86 -130,40,-78 -130,40,-70 -130,40,-62 -130,40,-54 -130,40,-46 -130,40,-38 -130,40,-30 -130,40,-22 -130,40,-14 -130,40,-6 -130,40,2 -130,40,10 -130,40,18 -130,40,26 -130,40,34 -130,40,42 -130,40,50 -130,40,58 -130,40,66 -130,40,74 -130,40,82 -130,40,90 -130,40,98 -130,40,106 -130,40,114 -130,40,122 -130,40,130 -130,40,138 -130,40,146 -138,40,-150 -138,40,-142 -138,40,-134 -138,40,-126 -138,40,-118 -138,40,-110 -138,40,-102 -138,40,-94 -138,40,-86 -138,40,-78 -138,40,-70 -138,40,-62 -138,40,-54 -138,40,-46 -138,40,-38 -138,40,-30 -138,40,-22 -138,40,-14 -138,40,-6 -138,40,2 -138,40,10 -138,40,18 -138,40,26 -138,40,34 -138,40,42 -138,40,50 -138,40,58 -138,40,66 -138,40,74 -138,40,82 -138,40,90 -138,40,98 -138,40,106 -138,40,114 -138,40,122 -138,40,130 -138,40,138 -138,40,146 -146,40,-150 -146,40,-142 -146,40,-134 -146,40,-126 -146,40,-118 -146,40,-110 -146,40,-102 -146,40,-94 -146,40,-86 -146,40,-78 -146,40,-70 -146,40,-62 -146,40,-54 -146,40,-46 -146,40,-38 -146,40,-30 -146,40,-22 -146,40,-14 -146,40,-6 -146,40,2 -146,40,10 -146,40,18 -146,40,26 -146,40,34 -146,40,42 -146,40,50 -146,40,58 -146,40,66 -146,40,74 -146,40,82 -146,40,90 -146,40,98 -146,40,106 -146,40,114 -146,40,122 -146,40,130 -146,40,138 -146,40,146 --150,48,-150 --150,48,-142 --150,48,-134 --150,48,-126 --150,48,-118 --150,48,-110 --150,48,-102 --150,48,-94 --150,48,-86 --150,48,-78 --150,48,-70 --150,48,-62 --150,48,-54 --150,48,-46 --150,48,-38 --150,48,-30 --150,48,-22 --150,48,-14 --150,48,-6 --150,48,2 --150,48,10 --150,48,18 --150,48,26 --150,48,34 --150,48,42 --150,48,50 --150,48,58 --150,48,66 --150,48,74 --150,48,82 --150,48,90 --150,48,98 --150,48,106 --150,48,114 --150,48,122 --150,48,130 --150,48,138 --150,48,146 --142,48,-150 --142,48,-142 --142,48,-134 --142,48,-126 --142,48,-118 --142,48,-110 --142,48,-102 --142,48,-94 --142,48,-86 --142,48,-78 --142,48,-70 --142,48,-62 --142,48,-54 --142,48,-46 --142,48,-38 --142,48,-30 --142,48,-22 --142,48,-14 --142,48,-6 --142,48,2 --142,48,10 --142,48,18 --142,48,26 --142,48,34 --142,48,42 --142,48,50 --142,48,58 --142,48,66 --142,48,74 --142,48,82 --142,48,90 --142,48,98 --142,48,106 --142,48,114 --142,48,122 --142,48,130 --142,48,138 --142,48,146 --134,48,-150 --134,48,-142 --134,48,-134 --134,48,-126 --134,48,-118 --134,48,-110 --134,48,-102 --134,48,-94 --134,48,-86 --134,48,-78 --134,48,-70 --134,48,-62 --134,48,-54 --134,48,-46 --134,48,-38 --134,48,-30 --134,48,-22 --134,48,-14 --134,48,-6 --134,48,2 --134,48,10 --134,48,18 --134,48,26 --134,48,34 --134,48,42 --134,48,50 --134,48,58 --134,48,66 --134,48,74 --134,48,82 --134,48,90 --134,48,98 --134,48,106 --134,48,114 --134,48,122 --134,48,130 --134,48,138 --134,48,146 --126,48,-150 --126,48,-142 --126,48,-134 --126,48,-126 --126,48,-118 --126,48,-110 --126,48,-102 --126,48,-94 --126,48,-86 --126,48,-78 --126,48,-70 --126,48,-62 --126,48,-54 --126,48,-46 --126,48,-38 --126,48,-30 --126,48,-22 --126,48,-14 --126,48,-6 --126,48,2 --126,48,10 --126,48,18 --126,48,26 --126,48,34 --126,48,42 --126,48,50 --126,48,58 --126,48,66 --126,48,74 --126,48,82 --126,48,90 --126,48,98 --126,48,106 --126,48,114 --126,48,122 --126,48,130 --126,48,138 --126,48,146 --118,48,-150 --118,48,-142 --118,48,-134 --118,48,-126 --118,48,-118 --118,48,-110 --118,48,-102 --118,48,-94 --118,48,-86 --118,48,-78 --118,48,-70 --118,48,-62 --118,48,-54 --118,48,-46 --118,48,-38 --118,48,-30 --118,48,-22 --118,48,-14 --118,48,-6 --118,48,2 --118,48,10 --118,48,18 --118,48,26 --118,48,34 --118,48,42 --118,48,50 --118,48,58 --118,48,66 --118,48,74 --118,48,82 --118,48,90 --118,48,98 --118,48,106 --118,48,114 --118,48,122 --118,48,130 --118,48,138 --118,48,146 --110,48,-150 --110,48,-142 --110,48,-134 --110,48,-126 --110,48,-118 --110,48,-110 --110,48,-102 --110,48,-94 --110,48,-86 --110,48,-78 --110,48,-70 --110,48,-62 --110,48,-54 --110,48,-46 --110,48,-38 --110,48,-30 --110,48,-22 --110,48,-14 --110,48,-6 --110,48,2 --110,48,10 --110,48,18 --110,48,26 --110,48,34 --110,48,42 --110,48,50 --110,48,58 --110,48,66 --110,48,74 --110,48,82 --110,48,90 --110,48,98 --110,48,106 --110,48,114 --110,48,122 --110,48,130 --110,48,138 --110,48,146 --102,48,-150 --102,48,-142 --102,48,-134 --102,48,-126 --102,48,-118 --102,48,-110 --102,48,-102 --102,48,-94 --102,48,-86 --102,48,-78 --102,48,-70 --102,48,-62 --102,48,-54 --102,48,-46 --102,48,-38 --102,48,-30 --102,48,-22 --102,48,-14 --102,48,-6 --102,48,2 --102,48,10 --102,48,18 --102,48,26 --102,48,34 --102,48,42 --102,48,50 --102,48,58 --102,48,66 --102,48,74 --102,48,82 --102,48,90 --102,48,98 --102,48,106 --102,48,114 --102,48,122 --102,48,130 --102,48,138 --102,48,146 --94,48,-150 --94,48,-142 --94,48,-134 --94,48,-126 --94,48,-118 --94,48,-110 --94,48,-102 --94,48,-94 --94,48,-86 --94,48,-78 --94,48,-70 --94,48,-62 --94,48,-54 --94,48,-46 --94,48,-38 --94,48,-30 --94,48,-22 --94,48,-14 --94,48,-6 --94,48,2 --94,48,10 --94,48,18 --94,48,26 --94,48,34 --94,48,42 --94,48,50 --94,48,58 --94,48,66 --94,48,74 --94,48,82 --94,48,90 --94,48,98 --94,48,106 --94,48,114 --94,48,122 --94,48,130 --94,48,138 --94,48,146 --86,48,-150 --86,48,-142 --86,48,-134 --86,48,-126 --86,48,-118 --86,48,-110 --86,48,-102 --86,48,-94 --86,48,-86 --86,48,-78 --86,48,-70 --86,48,-62 --86,48,-54 --86,48,-46 --86,48,-38 --86,48,-30 --86,48,-22 --86,48,-14 --86,48,-6 --86,48,2 --86,48,10 --86,48,18 --86,48,26 --86,48,34 --86,48,42 --86,48,50 --86,48,58 --86,48,66 --86,48,74 --86,48,82 --86,48,90 --86,48,98 --86,48,106 --86,48,114 --86,48,122 --86,48,130 --86,48,138 --86,48,146 --78,48,-150 --78,48,-142 --78,48,-134 --78,48,-126 --78,48,-118 --78,48,-110 --78,48,-102 --78,48,-94 --78,48,-86 --78,48,-78 --78,48,-70 --78,48,-62 --78,48,-54 --78,48,-46 --78,48,-38 --78,48,-30 --78,48,-22 --78,48,-14 --78,48,-6 --78,48,2 --78,48,10 --78,48,18 --78,48,26 --78,48,34 --78,48,42 --78,48,50 --78,48,58 --78,48,66 --78,48,74 --78,48,82 --78,48,90 --78,48,98 --78,48,106 --78,48,114 --78,48,122 --78,48,130 --78,48,138 --78,48,146 --70,48,-150 --70,48,-142 --70,48,-134 --70,48,-126 --70,48,-118 --70,48,-110 --70,48,-102 --70,48,-94 --70,48,-86 --70,48,-78 --70,48,-70 --70,48,-62 --70,48,-54 --70,48,-46 --70,48,-38 --70,48,-30 --70,48,-22 --70,48,-14 --70,48,-6 --70,48,2 --70,48,10 --70,48,18 --70,48,26 --70,48,34 --70,48,42 --70,48,50 --70,48,58 --70,48,66 --70,48,74 --70,48,82 --70,48,90 --70,48,98 --70,48,106 --70,48,114 --70,48,122 --70,48,130 --70,48,138 --70,48,146 --62,48,-150 --62,48,-142 --62,48,-134 --62,48,-126 --62,48,-118 --62,48,-110 --62,48,-102 --62,48,-94 --62,48,-86 --62,48,-78 --62,48,-70 --62,48,-62 --62,48,-54 --62,48,-46 --62,48,-38 --62,48,-30 --62,48,-22 --62,48,-14 --62,48,-6 --62,48,2 --62,48,10 --62,48,18 --62,48,26 --62,48,34 --62,48,42 --62,48,50 --62,48,58 --62,48,66 --62,48,74 --62,48,82 --62,48,90 --62,48,98 --62,48,106 --62,48,114 --62,48,122 --62,48,130 --62,48,138 --62,48,146 --54,48,-150 --54,48,-142 --54,48,-134 --54,48,-126 --54,48,-118 --54,48,-110 --54,48,-102 --54,48,-94 --54,48,-86 --54,48,-78 --54,48,-70 --54,48,-62 --54,48,-54 --54,48,-46 --54,48,-38 --54,48,-30 --54,48,-22 --54,48,-14 --54,48,-6 --54,48,2 --54,48,10 --54,48,18 --54,48,26 --54,48,34 --54,48,42 --54,48,50 --54,48,58 --54,48,66 --54,48,74 --54,48,82 --54,48,90 --54,48,98 --54,48,106 --54,48,114 --54,48,122 --54,48,130 --54,48,138 --54,48,146 --46,48,-150 --46,48,-142 --46,48,-134 --46,48,-126 --46,48,-118 --46,48,-110 --46,48,-102 --46,48,-94 --46,48,-86 --46,48,-78 --46,48,-70 --46,48,-62 --46,48,-54 --46,48,-46 --46,48,-38 --46,48,-30 --46,48,-22 --46,48,-14 --46,48,-6 --46,48,2 --46,48,10 --46,48,18 --46,48,26 --46,48,34 --46,48,42 --46,48,50 --46,48,58 --46,48,66 --46,48,74 --46,48,82 --46,48,90 --46,48,98 --46,48,106 --46,48,114 --46,48,122 --46,48,130 --46,48,138 --46,48,146 --38,48,-150 --38,48,-142 --38,48,-134 --38,48,-126 --38,48,-118 --38,48,-110 --38,48,-102 --38,48,-94 --38,48,-86 --38,48,-78 --38,48,-70 --38,48,-62 --38,48,-54 --38,48,-46 --38,48,-38 --38,48,-30 --38,48,-22 --38,48,-14 --38,48,-6 --38,48,2 --38,48,10 --38,48,18 --38,48,26 --38,48,34 --38,48,42 --38,48,50 --38,48,58 --38,48,66 --38,48,74 --38,48,82 --38,48,90 --38,48,98 --38,48,106 --38,48,114 --38,48,122 --38,48,130 --38,48,138 --38,48,146 --30,48,-150 --30,48,-142 --30,48,-134 --30,48,-126 --30,48,-118 --30,48,-110 --30,48,-102 --30,48,-94 --30,48,-86 --30,48,-78 --30,48,-70 --30,48,-62 --30,48,-54 --30,48,-46 --30,48,-38 --30,48,-30 --30,48,-22 --30,48,-14 --30,48,-6 --30,48,2 --30,48,10 --30,48,18 --30,48,26 --30,48,34 --30,48,42 --30,48,50 --30,48,58 --30,48,66 --30,48,74 --30,48,82 --30,48,90 --30,48,98 --30,48,106 --30,48,114 --30,48,122 --30,48,130 --30,48,138 --30,48,146 --22,48,-150 --22,48,-142 --22,48,-134 --22,48,-126 --22,48,-118 --22,48,-110 --22,48,-102 --22,48,-94 --22,48,-86 --22,48,-78 --22,48,-70 --22,48,-62 --22,48,-54 --22,48,-46 --22,48,-38 --22,48,-30 --22,48,-22 --22,48,-14 --22,48,-6 --22,48,2 --22,48,10 --22,48,18 --22,48,26 --22,48,34 --22,48,42 --22,48,50 --22,48,58 --22,48,66 --22,48,74 --22,48,82 --22,48,90 --22,48,98 --22,48,106 --22,48,114 --22,48,122 --22,48,130 --22,48,138 --22,48,146 --14,48,-150 --14,48,-142 --14,48,-134 --14,48,-126 --14,48,-118 --14,48,-110 --14,48,-102 --14,48,-94 --14,48,-86 --14,48,-78 --14,48,-70 --14,48,-62 --14,48,-54 --14,48,-46 --14,48,-38 --14,48,-30 --14,48,-22 --14,48,-14 --14,48,-6 --14,48,2 --14,48,10 --14,48,18 --14,48,26 --14,48,34 --14,48,42 --14,48,50 --14,48,58 --14,48,66 --14,48,74 --14,48,82 --14,48,90 --14,48,98 --14,48,106 --14,48,114 --14,48,122 --14,48,130 --14,48,138 --14,48,146 --6,48,-150 --6,48,-142 --6,48,-134 --6,48,-126 --6,48,-118 --6,48,-110 --6,48,-102 --6,48,-94 --6,48,-86 --6,48,-78 --6,48,-70 --6,48,-62 --6,48,-54 --6,48,-46 --6,48,-38 --6,48,-30 --6,48,-22 --6,48,-14 --6,48,-6 --6,48,2 --6,48,10 --6,48,18 --6,48,26 --6,48,34 --6,48,42 --6,48,50 --6,48,58 --6,48,66 --6,48,74 --6,48,82 --6,48,90 --6,48,98 --6,48,106 --6,48,114 --6,48,122 --6,48,130 --6,48,138 --6,48,146 -2,48,-150 -2,48,-142 -2,48,-134 -2,48,-126 -2,48,-118 -2,48,-110 -2,48,-102 -2,48,-94 -2,48,-86 -2,48,-78 -2,48,-70 -2,48,-62 -2,48,-54 -2,48,-46 -2,48,-38 -2,48,-30 -2,48,-22 -2,48,-14 -2,48,-6 -2,48,2 -2,48,10 -2,48,18 -2,48,26 -2,48,34 -2,48,42 -2,48,50 -2,48,58 -2,48,66 -2,48,74 -2,48,82 -2,48,90 -2,48,98 -2,48,106 -2,48,114 -2,48,122 -2,48,130 -2,48,138 -2,48,146 -10,48,-150 -10,48,-142 -10,48,-134 -10,48,-126 -10,48,-118 -10,48,-110 -10,48,-102 -10,48,-94 -10,48,-86 -10,48,-78 -10,48,-70 -10,48,-62 -10,48,-54 -10,48,-46 -10,48,-38 -10,48,-30 -10,48,-22 -10,48,-14 -10,48,-6 -10,48,2 -10,48,10 -10,48,18 -10,48,26 -10,48,34 -10,48,42 -10,48,50 -10,48,58 -10,48,66 -10,48,74 -10,48,82 -10,48,90 -10,48,98 -10,48,106 -10,48,114 -10,48,122 -10,48,130 -10,48,138 -10,48,146 -18,48,-150 -18,48,-142 -18,48,-134 -18,48,-126 -18,48,-118 -18,48,-110 -18,48,-102 -18,48,-94 -18,48,-86 -18,48,-78 -18,48,-70 -18,48,-62 -18,48,-54 -18,48,-46 -18,48,-38 -18,48,-30 -18,48,-22 -18,48,-14 -18,48,-6 -18,48,2 -18,48,10 -18,48,18 -18,48,26 -18,48,34 -18,48,42 -18,48,50 -18,48,58 -18,48,66 -18,48,74 -18,48,82 -18,48,90 -18,48,98 -18,48,106 -18,48,114 -18,48,122 -18,48,130 -18,48,138 -18,48,146 -26,48,-150 -26,48,-142 -26,48,-134 -26,48,-126 -26,48,-118 -26,48,-110 -26,48,-102 -26,48,-94 -26,48,-86 -26,48,-78 -26,48,-70 -26,48,-62 -26,48,-54 -26,48,-46 -26,48,-38 -26,48,-30 -26,48,-22 -26,48,-14 -26,48,-6 -26,48,2 -26,48,10 -26,48,18 -26,48,26 -26,48,34 -26,48,42 -26,48,50 -26,48,58 -26,48,66 -26,48,74 -26,48,82 -26,48,90 -26,48,98 -26,48,106 -26,48,114 -26,48,122 -26,48,130 -26,48,138 -26,48,146 -34,48,-150 -34,48,-142 -34,48,-134 -34,48,-126 -34,48,-118 -34,48,-110 -34,48,-102 -34,48,-94 -34,48,-86 -34,48,-78 -34,48,-70 -34,48,-62 -34,48,-54 -34,48,-46 -34,48,-38 -34,48,-30 -34,48,-22 -34,48,-14 -34,48,-6 -34,48,2 -34,48,10 -34,48,18 -34,48,26 -34,48,34 -34,48,42 -34,48,50 -34,48,58 -34,48,66 -34,48,74 -34,48,82 -34,48,90 -34,48,98 -34,48,106 -34,48,114 -34,48,122 -34,48,130 -34,48,138 -34,48,146 -42,48,-150 -42,48,-142 -42,48,-134 -42,48,-126 -42,48,-118 -42,48,-110 -42,48,-102 -42,48,-94 -42,48,-86 -42,48,-78 -42,48,-70 -42,48,-62 -42,48,-54 -42,48,-46 -42,48,-38 -42,48,-30 -42,48,-22 -42,48,-14 -42,48,-6 -42,48,2 -42,48,10 -42,48,18 -42,48,26 -42,48,34 -42,48,42 -42,48,50 -42,48,58 -42,48,66 -42,48,74 -42,48,82 -42,48,90 -42,48,98 -42,48,106 -42,48,114 -42,48,122 -42,48,130 -42,48,138 -42,48,146 -50,48,-150 -50,48,-142 -50,48,-134 -50,48,-126 -50,48,-118 -50,48,-110 -50,48,-102 -50,48,-94 -50,48,-86 -50,48,-78 -50,48,-70 -50,48,-62 -50,48,-54 -50,48,-46 -50,48,-38 -50,48,-30 -50,48,-22 -50,48,-14 -50,48,-6 -50,48,2 -50,48,10 -50,48,18 -50,48,26 -50,48,34 -50,48,42 -50,48,50 -50,48,58 -50,48,66 -50,48,74 -50,48,82 -50,48,90 -50,48,98 -50,48,106 -50,48,114 -50,48,122 -50,48,130 -50,48,138 -50,48,146 -58,48,-150 -58,48,-142 -58,48,-134 -58,48,-126 -58,48,-118 -58,48,-110 -58,48,-102 -58,48,-94 -58,48,-86 -58,48,-78 -58,48,-70 -58,48,-62 -58,48,-54 -58,48,-46 -58,48,-38 -58,48,-30 -58,48,-22 -58,48,-14 -58,48,-6 -58,48,2 -58,48,10 -58,48,18 -58,48,26 -58,48,34 -58,48,42 -58,48,50 -58,48,58 -58,48,66 -58,48,74 -58,48,82 -58,48,90 -58,48,98 -58,48,106 -58,48,114 -58,48,122 -58,48,130 -58,48,138 -58,48,146 -66,48,-150 -66,48,-142 -66,48,-134 -66,48,-126 -66,48,-118 -66,48,-110 -66,48,-102 -66,48,-94 -66,48,-86 -66,48,-78 -66,48,-70 -66,48,-62 -66,48,-54 -66,48,-46 -66,48,-38 -66,48,-30 -66,48,-22 -66,48,-14 -66,48,-6 -66,48,2 -66,48,10 -66,48,18 -66,48,26 -66,48,34 -66,48,42 -66,48,50 -66,48,58 -66,48,66 -66,48,74 -66,48,82 -66,48,90 -66,48,98 -66,48,106 -66,48,114 -66,48,122 -66,48,130 -66,48,138 -66,48,146 -74,48,-150 -74,48,-142 -74,48,-134 -74,48,-126 -74,48,-118 -74,48,-110 -74,48,-102 -74,48,-94 -74,48,-86 -74,48,-78 -74,48,-70 -74,48,-62 -74,48,-54 -74,48,-46 -74,48,-38 -74,48,-30 -74,48,-22 -74,48,-14 -74,48,-6 -74,48,2 -74,48,10 -74,48,18 -74,48,26 -74,48,34 -74,48,42 -74,48,50 -74,48,58 -74,48,66 -74,48,74 -74,48,82 -74,48,90 -74,48,98 -74,48,106 -74,48,114 -74,48,122 -74,48,130 -74,48,138 -74,48,146 -82,48,-150 -82,48,-142 -82,48,-134 -82,48,-126 -82,48,-118 -82,48,-110 -82,48,-102 -82,48,-94 -82,48,-86 -82,48,-78 -82,48,-70 -82,48,-62 -82,48,-54 -82,48,-46 -82,48,-38 -82,48,-30 -82,48,-22 -82,48,-14 -82,48,-6 -82,48,2 -82,48,10 -82,48,18 -82,48,26 -82,48,34 -82,48,42 -82,48,50 -82,48,58 -82,48,66 -82,48,74 -82,48,82 -82,48,90 -82,48,98 -82,48,106 -82,48,114 -82,48,122 -82,48,130 -82,48,138 -82,48,146 -90,48,-150 -90,48,-142 -90,48,-134 -90,48,-126 -90,48,-118 -90,48,-110 -90,48,-102 -90,48,-94 -90,48,-86 -90,48,-78 -90,48,-70 -90,48,-62 -90,48,-54 -90,48,-46 -90,48,-38 -90,48,-30 -90,48,-22 -90,48,-14 -90,48,-6 -90,48,2 -90,48,10 -90,48,18 -90,48,26 -90,48,34 -90,48,42 -90,48,50 -90,48,58 -90,48,66 -90,48,74 -90,48,82 -90,48,90 -90,48,98 -90,48,106 -90,48,114 -90,48,122 -90,48,130 -90,48,138 -90,48,146 -98,48,-150 -98,48,-142 -98,48,-134 -98,48,-126 -98,48,-118 -98,48,-110 -98,48,-102 -98,48,-94 -98,48,-86 -98,48,-78 -98,48,-70 -98,48,-62 -98,48,-54 -98,48,-46 -98,48,-38 -98,48,-30 -98,48,-22 -98,48,-14 -98,48,-6 -98,48,2 -98,48,10 -98,48,18 -98,48,26 -98,48,34 -98,48,42 -98,48,50 -98,48,58 -98,48,66 -98,48,74 -98,48,82 -98,48,90 -98,48,98 -98,48,106 -98,48,114 -98,48,122 -98,48,130 -98,48,138 -98,48,146 -106,48,-150 -106,48,-142 -106,48,-134 -106,48,-126 -106,48,-118 -106,48,-110 -106,48,-102 -106,48,-94 -106,48,-86 -106,48,-78 -106,48,-70 -106,48,-62 -106,48,-54 -106,48,-46 -106,48,-38 -106,48,-30 -106,48,-22 -106,48,-14 -106,48,-6 -106,48,2 -106,48,10 -106,48,18 -106,48,26 -106,48,34 -106,48,42 -106,48,50 -106,48,58 -106,48,66 -106,48,74 -106,48,82 -106,48,90 -106,48,98 -106,48,106 -106,48,114 -106,48,122 -106,48,130 -106,48,138 -106,48,146 -114,48,-150 -114,48,-142 -114,48,-134 -114,48,-126 -114,48,-118 -114,48,-110 -114,48,-102 -114,48,-94 -114,48,-86 -114,48,-78 -114,48,-70 -114,48,-62 -114,48,-54 -114,48,-46 -114,48,-38 -114,48,-30 -114,48,-22 -114,48,-14 -114,48,-6 -114,48,2 -114,48,10 -114,48,18 -114,48,26 -114,48,34 -114,48,42 -114,48,50 -114,48,58 -114,48,66 -114,48,74 -114,48,82 -114,48,90 -114,48,98 -114,48,106 -114,48,114 -114,48,122 -114,48,130 -114,48,138 -114,48,146 -122,48,-150 -122,48,-142 -122,48,-134 -122,48,-126 -122,48,-118 -122,48,-110 -122,48,-102 -122,48,-94 -122,48,-86 -122,48,-78 -122,48,-70 -122,48,-62 -122,48,-54 -122,48,-46 -122,48,-38 -122,48,-30 -122,48,-22 -122,48,-14 -122,48,-6 -122,48,2 -122,48,10 -122,48,18 -122,48,26 -122,48,34 -122,48,42 -122,48,50 -122,48,58 -122,48,66 -122,48,74 -122,48,82 -122,48,90 -122,48,98 -122,48,106 -122,48,114 -122,48,122 -122,48,130 -122,48,138 -122,48,146 -130,48,-150 -130,48,-142 -130,48,-134 -130,48,-126 -130,48,-118 -130,48,-110 -130,48,-102 -130,48,-94 -130,48,-86 -130,48,-78 -130,48,-70 -130,48,-62 -130,48,-54 -130,48,-46 -130,48,-38 -130,48,-30 -130,48,-22 -130,48,-14 -130,48,-6 -130,48,2 -130,48,10 -130,48,18 -130,48,26 -130,48,34 -130,48,42 -130,48,50 -130,48,58 -130,48,66 -130,48,74 -130,48,82 -130,48,90 -130,48,98 -130,48,106 -130,48,114 -130,48,122 -130,48,130 -130,48,138 -130,48,146 -138,48,-150 -138,48,-142 -138,48,-134 -138,48,-126 -138,48,-118 -138,48,-110 -138,48,-102 -138,48,-94 -138,48,-86 -138,48,-78 -138,48,-70 -138,48,-62 -138,48,-54 -138,48,-46 -138,48,-38 -138,48,-30 -138,48,-22 -138,48,-14 -138,48,-6 -138,48,2 -138,48,10 -138,48,18 -138,48,26 -138,48,34 -138,48,42 -138,48,50 -138,48,58 -138,48,66 -138,48,74 -138,48,82 -138,48,90 -138,48,98 -138,48,106 -138,48,114 -138,48,122 -138,48,130 -138,48,138 -138,48,146 -146,48,-150 -146,48,-142 -146,48,-134 -146,48,-126 -146,48,-118 -146,48,-110 -146,48,-102 -146,48,-94 -146,48,-86 -146,48,-78 -146,48,-70 -146,48,-62 -146,48,-54 -146,48,-46 -146,48,-38 -146,48,-30 -146,48,-22 -146,48,-14 -146,48,-6 -146,48,2 -146,48,10 -146,48,18 -146,48,26 -146,48,34 -146,48,42 -146,48,50 -146,48,58 -146,48,66 -146,48,74 -146,48,82 -146,48,90 -146,48,98 -146,48,106 -146,48,114 -146,48,122 -146,48,130 -146,48,138 -146,48,146 --150,56,-150 --150,56,-142 --150,56,-134 --150,56,-126 --150,56,-118 --150,56,-110 --150,56,-102 --150,56,-94 --150,56,-86 --150,56,-78 --150,56,-70 --150,56,-62 --150,56,-54 --150,56,-46 --150,56,-38 --150,56,-30 --150,56,-22 --150,56,-14 --150,56,-6 --150,56,2 --150,56,10 --150,56,18 --150,56,26 --150,56,34 --150,56,42 --150,56,50 --150,56,58 --150,56,66 --150,56,74 --150,56,82 --150,56,90 --150,56,98 --150,56,106 --150,56,114 --150,56,122 --150,56,130 --150,56,138 --150,56,146 --142,56,-150 --142,56,-142 --142,56,-134 --142,56,-126 --142,56,-118 --142,56,-110 --142,56,-102 --142,56,-94 --142,56,-86 --142,56,-78 --142,56,-70 --142,56,-62 --142,56,-54 --142,56,-46 --142,56,-38 --142,56,-30 --142,56,-22 --142,56,-14 --142,56,-6 --142,56,2 --142,56,10 --142,56,18 --142,56,26 --142,56,34 --142,56,42 --142,56,50 --142,56,58 --142,56,66 --142,56,74 --142,56,82 --142,56,90 --142,56,98 --142,56,106 --142,56,114 --142,56,122 --142,56,130 --142,56,138 --142,56,146 --134,56,-150 --134,56,-142 --134,56,-134 --134,56,-126 --134,56,-118 --134,56,-110 --134,56,-102 --134,56,-94 --134,56,-86 --134,56,-78 --134,56,-70 --134,56,-62 --134,56,-54 --134,56,-46 --134,56,-38 --134,56,-30 --134,56,-22 --134,56,-14 --134,56,-6 --134,56,2 --134,56,10 --134,56,18 --134,56,26 --134,56,34 --134,56,42 --134,56,50 --134,56,58 --134,56,66 --134,56,74 --134,56,82 --134,56,90 --134,56,98 --134,56,106 --134,56,114 --134,56,122 --134,56,130 --134,56,138 --134,56,146 --126,56,-150 --126,56,-142 --126,56,-134 --126,56,-126 --126,56,-118 --126,56,-110 --126,56,-102 --126,56,-94 --126,56,-86 --126,56,-78 --126,56,-70 --126,56,-62 --126,56,-54 --126,56,-46 --126,56,-38 --126,56,-30 --126,56,-22 --126,56,-14 --126,56,-6 --126,56,2 --126,56,10 --126,56,18 --126,56,26 --126,56,34 --126,56,42 --126,56,50 --126,56,58 --126,56,66 --126,56,74 --126,56,82 --126,56,90 --126,56,98 --126,56,106 --126,56,114 --126,56,122 --126,56,130 --126,56,138 --126,56,146 --118,56,-150 --118,56,-142 --118,56,-134 --118,56,-126 --118,56,-118 --118,56,-110 --118,56,-102 --118,56,-94 --118,56,-86 --118,56,-78 --118,56,-70 --118,56,-62 --118,56,-54 --118,56,-46 --118,56,-38 --118,56,-30 --118,56,-22 --118,56,-14 --118,56,-6 --118,56,2 --118,56,10 --118,56,18 --118,56,26 --118,56,34 --118,56,42 --118,56,50 --118,56,58 --118,56,66 --118,56,74 --118,56,82 --118,56,90 --118,56,98 --118,56,106 --118,56,114 --118,56,122 --118,56,130 --118,56,138 --118,56,146 --110,56,-150 --110,56,-142 --110,56,-134 --110,56,-126 --110,56,-118 --110,56,-110 --110,56,-102 --110,56,-94 --110,56,-86 --110,56,-78 --110,56,-70 --110,56,-62 --110,56,-54 --110,56,-46 --110,56,-38 --110,56,-30 --110,56,-22 --110,56,-14 --110,56,-6 --110,56,2 --110,56,10 --110,56,18 --110,56,26 --110,56,34 --110,56,42 --110,56,50 --110,56,58 --110,56,66 --110,56,74 --110,56,82 --110,56,90 --110,56,98 --110,56,106 --110,56,114 --110,56,122 --110,56,130 --110,56,138 --110,56,146 --102,56,-150 --102,56,-142 --102,56,-134 --102,56,-126 --102,56,-118 --102,56,-110 --102,56,-102 --102,56,-94 --102,56,-86 --102,56,-78 --102,56,-70 --102,56,-62 --102,56,-54 --102,56,-46 --102,56,-38 --102,56,-30 --102,56,-22 --102,56,-14 --102,56,-6 --102,56,2 --102,56,10 --102,56,18 --102,56,26 --102,56,34 --102,56,42 --102,56,50 --102,56,58 --102,56,66 --102,56,74 --102,56,82 --102,56,90 --102,56,98 --102,56,106 --102,56,114 --102,56,122 --102,56,130 --102,56,138 --102,56,146 --94,56,-150 --94,56,-142 --94,56,-134 --94,56,-126 --94,56,-118 --94,56,-110 --94,56,-102 --94,56,-94 --94,56,-86 --94,56,-78 --94,56,-70 --94,56,-62 --94,56,-54 --94,56,-46 --94,56,-38 --94,56,-30 --94,56,-22 --94,56,-14 --94,56,-6 --94,56,2 --94,56,10 --94,56,18 --94,56,26 --94,56,34 --94,56,42 --94,56,50 --94,56,58 --94,56,66 --94,56,74 --94,56,82 --94,56,90 --94,56,98 --94,56,106 --94,56,114 --94,56,122 --94,56,130 --94,56,138 --94,56,146 --86,56,-150 --86,56,-142 --86,56,-134 --86,56,-126 --86,56,-118 --86,56,-110 --86,56,-102 --86,56,-94 --86,56,-86 --86,56,-78 --86,56,-70 --86,56,-62 --86,56,-54 --86,56,-46 --86,56,-38 --86,56,-30 --86,56,-22 --86,56,-14 --86,56,-6 --86,56,2 --86,56,10 --86,56,18 --86,56,26 --86,56,34 --86,56,42 --86,56,50 --86,56,58 --86,56,66 --86,56,74 --86,56,82 --86,56,90 --86,56,98 --86,56,106 --86,56,114 --86,56,122 --86,56,130 --86,56,138 --86,56,146 --78,56,-150 --78,56,-142 --78,56,-134 --78,56,-126 --78,56,-118 --78,56,-110 --78,56,-102 --78,56,-94 --78,56,-86 --78,56,-78 --78,56,-70 --78,56,-62 --78,56,-54 --78,56,-46 --78,56,-38 --78,56,-30 --78,56,-22 --78,56,-14 --78,56,-6 --78,56,2 --78,56,10 --78,56,18 --78,56,26 --78,56,34 --78,56,42 --78,56,50 --78,56,58 --78,56,66 --78,56,74 --78,56,82 --78,56,90 --78,56,98 --78,56,106 --78,56,114 --78,56,122 --78,56,130 --78,56,138 --78,56,146 --70,56,-150 --70,56,-142 --70,56,-134 --70,56,-126 --70,56,-118 --70,56,-110 --70,56,-102 --70,56,-94 --70,56,-86 --70,56,-78 --70,56,-70 --70,56,-62 --70,56,-54 --70,56,-46 --70,56,-38 --70,56,-30 --70,56,-22 --70,56,-14 --70,56,-6 --70,56,2 --70,56,10 --70,56,18 --70,56,26 --70,56,34 --70,56,42 --70,56,50 --70,56,58 --70,56,66 --70,56,74 --70,56,82 --70,56,90 --70,56,98 --70,56,106 --70,56,114 --70,56,122 --70,56,130 --70,56,138 --70,56,146 --62,56,-150 --62,56,-142 --62,56,-134 --62,56,-126 --62,56,-118 --62,56,-110 --62,56,-102 --62,56,-94 --62,56,-86 --62,56,-78 --62,56,-70 --62,56,-62 --62,56,-54 --62,56,-46 --62,56,-38 --62,56,-30 --62,56,-22 --62,56,-14 --62,56,-6 --62,56,2 --62,56,10 --62,56,18 --62,56,26 --62,56,34 --62,56,42 --62,56,50 --62,56,58 --62,56,66 --62,56,74 --62,56,82 --62,56,90 --62,56,98 --62,56,106 --62,56,114 --62,56,122 --62,56,130 --62,56,138 --62,56,146 --54,56,-150 --54,56,-142 --54,56,-134 --54,56,-126 --54,56,-118 --54,56,-110 --54,56,-102 --54,56,-94 --54,56,-86 --54,56,-78 --54,56,-70 --54,56,-62 --54,56,-54 --54,56,-46 --54,56,-38 --54,56,-30 --54,56,-22 --54,56,-14 --54,56,-6 --54,56,2 --54,56,10 --54,56,18 --54,56,26 --54,56,34 --54,56,42 --54,56,50 --54,56,58 --54,56,66 --54,56,74 --54,56,82 --54,56,90 --54,56,98 --54,56,106 --54,56,114 --54,56,122 --54,56,130 --54,56,138 --54,56,146 --46,56,-150 --46,56,-142 --46,56,-134 --46,56,-126 --46,56,-118 --46,56,-110 --46,56,-102 --46,56,-94 --46,56,-86 --46,56,-78 --46,56,-70 --46,56,-62 --46,56,-54 --46,56,-46 --46,56,-38 --46,56,-30 --46,56,-22 --46,56,-14 --46,56,-6 --46,56,2 --46,56,10 --46,56,18 --46,56,26 --46,56,34 --46,56,42 --46,56,50 --46,56,58 --46,56,66 --46,56,74 --46,56,82 --46,56,90 --46,56,98 --46,56,106 --46,56,114 --46,56,122 --46,56,130 --46,56,138 --46,56,146 --38,56,-150 --38,56,-142 --38,56,-134 --38,56,-126 --38,56,-118 --38,56,-110 --38,56,-102 --38,56,-94 --38,56,-86 --38,56,-78 --38,56,-70 --38,56,-62 --38,56,-54 --38,56,-46 --38,56,-38 --38,56,-30 --38,56,-22 --38,56,-14 --38,56,-6 --38,56,2 --38,56,10 --38,56,18 --38,56,26 --38,56,34 --38,56,42 --38,56,50 --38,56,58 --38,56,66 --38,56,74 --38,56,82 --38,56,90 --38,56,98 --38,56,106 --38,56,114 --38,56,122 --38,56,130 --38,56,138 --38,56,146 --30,56,-150 --30,56,-142 --30,56,-134 --30,56,-126 --30,56,-118 --30,56,-110 --30,56,-102 --30,56,-94 --30,56,-86 --30,56,-78 --30,56,-70 --30,56,-62 --30,56,-54 --30,56,-46 --30,56,-38 --30,56,-30 --30,56,-22 --30,56,-14 --30,56,-6 --30,56,2 --30,56,10 --30,56,18 --30,56,26 --30,56,34 --30,56,42 --30,56,50 --30,56,58 --30,56,66 --30,56,74 --30,56,82 --30,56,90 --30,56,98 --30,56,106 --30,56,114 --30,56,122 --30,56,130 --30,56,138 --30,56,146 --22,56,-150 --22,56,-142 --22,56,-134 --22,56,-126 --22,56,-118 --22,56,-110 --22,56,-102 --22,56,-94 --22,56,-86 --22,56,-78 --22,56,-70 --22,56,-62 --22,56,-54 --22,56,-46 --22,56,-38 --22,56,-30 --22,56,-22 --22,56,-14 --22,56,-6 --22,56,2 --22,56,10 --22,56,18 --22,56,26 --22,56,34 --22,56,42 --22,56,50 --22,56,58 --22,56,66 --22,56,74 --22,56,82 --22,56,90 --22,56,98 --22,56,106 --22,56,114 --22,56,122 --22,56,130 --22,56,138 --22,56,146 --14,56,-150 --14,56,-142 --14,56,-134 --14,56,-126 --14,56,-118 --14,56,-110 --14,56,-102 --14,56,-94 --14,56,-86 --14,56,-78 --14,56,-70 --14,56,-62 --14,56,-54 --14,56,-46 --14,56,-38 --14,56,-30 --14,56,-22 --14,56,-14 --14,56,-6 --14,56,2 --14,56,10 --14,56,18 --14,56,26 --14,56,34 --14,56,42 --14,56,50 --14,56,58 --14,56,66 --14,56,74 --14,56,82 --14,56,90 --14,56,98 --14,56,106 --14,56,114 --14,56,122 --14,56,130 --14,56,138 --14,56,146 --6,56,-150 --6,56,-142 --6,56,-134 --6,56,-126 --6,56,-118 --6,56,-110 --6,56,-102 --6,56,-94 --6,56,-86 --6,56,-78 --6,56,-70 --6,56,-62 --6,56,-54 --6,56,-46 --6,56,-38 --6,56,-30 --6,56,-22 --6,56,-14 --6,56,-6 --6,56,2 --6,56,10 --6,56,18 --6,56,26 --6,56,34 --6,56,42 --6,56,50 --6,56,58 --6,56,66 --6,56,74 --6,56,82 --6,56,90 --6,56,98 --6,56,106 --6,56,114 --6,56,122 --6,56,130 --6,56,138 --6,56,146 -2,56,-150 -2,56,-142 -2,56,-134 -2,56,-126 -2,56,-118 -2,56,-110 -2,56,-102 -2,56,-94 -2,56,-86 -2,56,-78 -2,56,-70 -2,56,-62 -2,56,-54 -2,56,-46 -2,56,-38 -2,56,-30 -2,56,-22 -2,56,-14 -2,56,-6 -2,56,2 -2,56,10 -2,56,18 -2,56,26 -2,56,34 -2,56,42 -2,56,50 -2,56,58 -2,56,66 -2,56,74 -2,56,82 -2,56,90 -2,56,98 -2,56,106 -2,56,114 -2,56,122 -2,56,130 -2,56,138 -2,56,146 -10,56,-150 -10,56,-142 -10,56,-134 -10,56,-126 -10,56,-118 -10,56,-110 -10,56,-102 -10,56,-94 -10,56,-86 -10,56,-78 -10,56,-70 -10,56,-62 -10,56,-54 -10,56,-46 -10,56,-38 -10,56,-30 -10,56,-22 -10,56,-14 -10,56,-6 -10,56,2 -10,56,10 -10,56,18 -10,56,26 -10,56,34 -10,56,42 -10,56,50 -10,56,58 -10,56,66 -10,56,74 -10,56,82 -10,56,90 -10,56,98 -10,56,106 -10,56,114 -10,56,122 -10,56,130 -10,56,138 -10,56,146 -18,56,-150 -18,56,-142 -18,56,-134 -18,56,-126 -18,56,-118 -18,56,-110 -18,56,-102 -18,56,-94 -18,56,-86 -18,56,-78 -18,56,-70 -18,56,-62 -18,56,-54 -18,56,-46 -18,56,-38 -18,56,-30 -18,56,-22 -18,56,-14 -18,56,-6 -18,56,2 -18,56,10 -18,56,18 -18,56,26 -18,56,34 -18,56,42 -18,56,50 -18,56,58 -18,56,66 -18,56,74 -18,56,82 -18,56,90 -18,56,98 -18,56,106 -18,56,114 -18,56,122 -18,56,130 -18,56,138 -18,56,146 -26,56,-150 -26,56,-142 -26,56,-134 -26,56,-126 -26,56,-118 -26,56,-110 -26,56,-102 -26,56,-94 -26,56,-86 -26,56,-78 -26,56,-70 -26,56,-62 -26,56,-54 -26,56,-46 -26,56,-38 -26,56,-30 -26,56,-22 -26,56,-14 -26,56,-6 -26,56,2 -26,56,10 -26,56,18 -26,56,26 -26,56,34 -26,56,42 -26,56,50 -26,56,58 -26,56,66 -26,56,74 -26,56,82 -26,56,90 -26,56,98 -26,56,106 -26,56,114 -26,56,122 -26,56,130 -26,56,138 -26,56,146 -34,56,-150 -34,56,-142 -34,56,-134 -34,56,-126 -34,56,-118 -34,56,-110 -34,56,-102 -34,56,-94 -34,56,-86 -34,56,-78 -34,56,-70 -34,56,-62 -34,56,-54 -34,56,-46 -34,56,-38 -34,56,-30 -34,56,-22 -34,56,-14 -34,56,-6 -34,56,2 -34,56,10 -34,56,18 -34,56,26 -34,56,34 -34,56,42 -34,56,50 -34,56,58 -34,56,66 -34,56,74 -34,56,82 -34,56,90 -34,56,98 -34,56,106 -34,56,114 -34,56,122 -34,56,130 -34,56,138 -34,56,146 -42,56,-150 -42,56,-142 -42,56,-134 -42,56,-126 -42,56,-118 -42,56,-110 -42,56,-102 -42,56,-94 -42,56,-86 -42,56,-78 -42,56,-70 -42,56,-62 -42,56,-54 -42,56,-46 -42,56,-38 -42,56,-30 -42,56,-22 -42,56,-14 -42,56,-6 -42,56,2 -42,56,10 -42,56,18 -42,56,26 -42,56,34 -42,56,42 -42,56,50 -42,56,58 -42,56,66 -42,56,74 -42,56,82 -42,56,90 -42,56,98 -42,56,106 -42,56,114 -42,56,122 -42,56,130 -42,56,138 -42,56,146 -50,56,-150 -50,56,-142 -50,56,-134 -50,56,-126 -50,56,-118 -50,56,-110 -50,56,-102 -50,56,-94 -50,56,-86 -50,56,-78 -50,56,-70 -50,56,-62 -50,56,-54 -50,56,-46 -50,56,-38 -50,56,-30 -50,56,-22 -50,56,-14 -50,56,-6 -50,56,2 -50,56,10 -50,56,18 -50,56,26 -50,56,34 -50,56,42 -50,56,50 -50,56,58 -50,56,66 -50,56,74 -50,56,82 -50,56,90 -50,56,98 -50,56,106 -50,56,114 -50,56,122 -50,56,130 -50,56,138 -50,56,146 -58,56,-150 -58,56,-142 -58,56,-134 -58,56,-126 -58,56,-118 -58,56,-110 -58,56,-102 -58,56,-94 -58,56,-86 -58,56,-78 -58,56,-70 -58,56,-62 -58,56,-54 -58,56,-46 -58,56,-38 -58,56,-30 -58,56,-22 -58,56,-14 -58,56,-6 -58,56,2 -58,56,10 -58,56,18 -58,56,26 -58,56,34 -58,56,42 -58,56,50 -58,56,58 -58,56,66 -58,56,74 -58,56,82 -58,56,90 -58,56,98 -58,56,106 -58,56,114 -58,56,122 -58,56,130 -58,56,138 -58,56,146 -66,56,-150 -66,56,-142 -66,56,-134 -66,56,-126 -66,56,-118 -66,56,-110 -66,56,-102 -66,56,-94 -66,56,-86 -66,56,-78 -66,56,-70 -66,56,-62 -66,56,-54 -66,56,-46 -66,56,-38 -66,56,-30 -66,56,-22 -66,56,-14 -66,56,-6 -66,56,2 -66,56,10 -66,56,18 -66,56,26 -66,56,34 -66,56,42 -66,56,50 -66,56,58 -66,56,66 -66,56,74 -66,56,82 -66,56,90 -66,56,98 -66,56,106 -66,56,114 -66,56,122 -66,56,130 -66,56,138 -66,56,146 -74,56,-150 -74,56,-142 -74,56,-134 -74,56,-126 -74,56,-118 -74,56,-110 -74,56,-102 -74,56,-94 -74,56,-86 -74,56,-78 -74,56,-70 -74,56,-62 -74,56,-54 -74,56,-46 -74,56,-38 -74,56,-30 -74,56,-22 -74,56,-14 -74,56,-6 -74,56,2 -74,56,10 -74,56,18 -74,56,26 -74,56,34 -74,56,42 -74,56,50 -74,56,58 -74,56,66 -74,56,74 -74,56,82 -74,56,90 -74,56,98 -74,56,106 -74,56,114 -74,56,122 -74,56,130 -74,56,138 -74,56,146 -82,56,-150 -82,56,-142 -82,56,-134 -82,56,-126 -82,56,-118 -82,56,-110 -82,56,-102 -82,56,-94 -82,56,-86 -82,56,-78 -82,56,-70 -82,56,-62 -82,56,-54 -82,56,-46 -82,56,-38 -82,56,-30 -82,56,-22 -82,56,-14 -82,56,-6 -82,56,2 -82,56,10 -82,56,18 -82,56,26 -82,56,34 -82,56,42 -82,56,50 -82,56,58 -82,56,66 -82,56,74 -82,56,82 -82,56,90 -82,56,98 -82,56,106 -82,56,114 -82,56,122 -82,56,130 -82,56,138 -82,56,146 -90,56,-150 -90,56,-142 -90,56,-134 -90,56,-126 -90,56,-118 -90,56,-110 -90,56,-102 -90,56,-94 -90,56,-86 -90,56,-78 -90,56,-70 -90,56,-62 -90,56,-54 -90,56,-46 -90,56,-38 -90,56,-30 -90,56,-22 -90,56,-14 -90,56,-6 -90,56,2 -90,56,10 -90,56,18 -90,56,26 -90,56,34 -90,56,42 -90,56,50 -90,56,58 -90,56,66 -90,56,74 -90,56,82 -90,56,90 -90,56,98 -90,56,106 -90,56,114 -90,56,122 -90,56,130 -90,56,138 -90,56,146 -98,56,-150 -98,56,-142 -98,56,-134 -98,56,-126 -98,56,-118 -98,56,-110 -98,56,-102 -98,56,-94 -98,56,-86 -98,56,-78 -98,56,-70 -98,56,-62 -98,56,-54 -98,56,-46 -98,56,-38 -98,56,-30 -98,56,-22 -98,56,-14 -98,56,-6 -98,56,2 -98,56,10 -98,56,18 -98,56,26 -98,56,34 -98,56,42 -98,56,50 -98,56,58 -98,56,66 -98,56,74 -98,56,82 -98,56,90 -98,56,98 -98,56,106 -98,56,114 -98,56,122 -98,56,130 -98,56,138 -98,56,146 -106,56,-150 -106,56,-142 -106,56,-134 -106,56,-126 -106,56,-118 -106,56,-110 -106,56,-102 -106,56,-94 -106,56,-86 -106,56,-78 -106,56,-70 -106,56,-62 -106,56,-54 -106,56,-46 -106,56,-38 -106,56,-30 -106,56,-22 -106,56,-14 -106,56,-6 -106,56,2 -106,56,10 -106,56,18 -106,56,26 -106,56,34 -106,56,42 -106,56,50 -106,56,58 -106,56,66 -106,56,74 -106,56,82 -106,56,90 -106,56,98 -106,56,106 -106,56,114 -106,56,122 -106,56,130 -106,56,138 -106,56,146 -114,56,-150 -114,56,-142 -114,56,-134 -114,56,-126 -114,56,-118 -114,56,-110 -114,56,-102 -114,56,-94 -114,56,-86 -114,56,-78 -114,56,-70 -114,56,-62 -114,56,-54 -114,56,-46 -114,56,-38 -114,56,-30 -114,56,-22 -114,56,-14 -114,56,-6 -114,56,2 -114,56,10 -114,56,18 -114,56,26 -114,56,34 -114,56,42 -114,56,50 -114,56,58 -114,56,66 -114,56,74 -114,56,82 -114,56,90 -114,56,98 -114,56,106 -114,56,114 -114,56,122 -114,56,130 -114,56,138 -114,56,146 -122,56,-150 -122,56,-142 -122,56,-134 -122,56,-126 -122,56,-118 -122,56,-110 -122,56,-102 -122,56,-94 -122,56,-86 -122,56,-78 -122,56,-70 -122,56,-62 -122,56,-54 -122,56,-46 -122,56,-38 -122,56,-30 -122,56,-22 -122,56,-14 -122,56,-6 -122,56,2 -122,56,10 -122,56,18 -122,56,26 -122,56,34 -122,56,42 -122,56,50 -122,56,58 -122,56,66 -122,56,74 -122,56,82 -122,56,90 -122,56,98 -122,56,106 -122,56,114 -122,56,122 -122,56,130 -122,56,138 -122,56,146 -130,56,-150 -130,56,-142 -130,56,-134 -130,56,-126 -130,56,-118 -130,56,-110 -130,56,-102 -130,56,-94 -130,56,-86 -130,56,-78 -130,56,-70 -130,56,-62 -130,56,-54 -130,56,-46 -130,56,-38 -130,56,-30 -130,56,-22 -130,56,-14 -130,56,-6 -130,56,2 -130,56,10 -130,56,18 -130,56,26 -130,56,34 -130,56,42 -130,56,50 -130,56,58 -130,56,66 -130,56,74 -130,56,82 -130,56,90 -130,56,98 -130,56,106 -130,56,114 -130,56,122 -130,56,130 -130,56,138 -130,56,146 -138,56,-150 -138,56,-142 -138,56,-134 -138,56,-126 -138,56,-118 -138,56,-110 -138,56,-102 -138,56,-94 -138,56,-86 -138,56,-78 -138,56,-70 -138,56,-62 -138,56,-54 -138,56,-46 -138,56,-38 -138,56,-30 -138,56,-22 -138,56,-14 -138,56,-6 -138,56,2 -138,56,10 -138,56,18 -138,56,26 -138,56,34 -138,56,42 -138,56,50 -138,56,58 -138,56,66 -138,56,74 -138,56,82 -138,56,90 -138,56,98 -138,56,106 -138,56,114 -138,56,122 -138,56,130 -138,56,138 -138,56,146 -146,56,-150 -146,56,-142 -146,56,-134 -146,56,-126 -146,56,-118 -146,56,-110 -146,56,-102 -146,56,-94 -146,56,-86 -146,56,-78 -146,56,-70 -146,56,-62 -146,56,-54 -146,56,-46 -146,56,-38 -146,56,-30 -146,56,-22 -146,56,-14 -146,56,-6 -146,56,2 -146,56,10 -146,56,18 -146,56,26 -146,56,34 -146,56,42 -146,56,50 -146,56,58 -146,56,66 -146,56,74 -146,56,82 -146,56,90 -146,56,98 -146,56,106 -146,56,114 -146,56,122 -146,56,130 -146,56,138 -146,56,146 --150,64,-150 --150,64,-142 --150,64,-134 --150,64,-126 --150,64,-118 --150,64,-110 --150,64,-102 --150,64,-94 --150,64,-86 --150,64,-78 --150,64,-70 --150,64,-62 --150,64,-54 --150,64,-46 --150,64,-38 --150,64,-30 --150,64,-22 --150,64,-14 --150,64,-6 --150,64,2 --150,64,10 --150,64,18 --150,64,26 --150,64,34 --150,64,42 --150,64,50 --150,64,58 --150,64,66 --150,64,74 --150,64,82 --150,64,90 --150,64,98 --150,64,106 --150,64,114 --150,64,122 --150,64,130 --150,64,138 --150,64,146 --142,64,-150 --142,64,-142 --142,64,-134 --142,64,-126 --142,64,-118 --142,64,-110 --142,64,-102 --142,64,-94 --142,64,-86 --142,64,-78 --142,64,-70 --142,64,-62 --142,64,-54 --142,64,-46 --142,64,-38 --142,64,-30 --142,64,-22 --142,64,-14 --142,64,-6 --142,64,2 --142,64,10 --142,64,18 --142,64,26 --142,64,34 --142,64,42 --142,64,50 --142,64,58 --142,64,66 --142,64,74 --142,64,82 --142,64,90 --142,64,98 --142,64,106 --142,64,114 --142,64,122 --142,64,130 --142,64,138 --142,64,146 --134,64,-150 --134,64,-142 --134,64,-134 --134,64,-126 --134,64,-118 --134,64,-110 --134,64,-102 --134,64,-94 --134,64,-86 --134,64,-78 --134,64,-70 --134,64,-62 --134,64,-54 --134,64,-46 --134,64,-38 --134,64,-30 --134,64,-22 --134,64,-14 --134,64,-6 --134,64,2 --134,64,10 --134,64,18 --134,64,26 --134,64,34 --134,64,42 --134,64,50 --134,64,58 --134,64,66 --134,64,74 --134,64,82 --134,64,90 --134,64,98 --134,64,106 --134,64,114 --134,64,122 --134,64,130 --134,64,138 --134,64,146 --126,64,-150 --126,64,-142 --126,64,-134 --126,64,-126 --126,64,-118 --126,64,-110 --126,64,-102 --126,64,-94 --126,64,-86 --126,64,-78 --126,64,-70 --126,64,-62 --126,64,-54 --126,64,-46 --126,64,-38 --126,64,-30 --126,64,-22 --126,64,-14 --126,64,-6 --126,64,2 --126,64,10 --126,64,18 --126,64,26 --126,64,34 --126,64,42 --126,64,50 --126,64,58 --126,64,66 --126,64,74 --126,64,82 --126,64,90 --126,64,98 --126,64,106 --126,64,114 --126,64,122 --126,64,130 --126,64,138 --126,64,146 --118,64,-150 --118,64,-142 --118,64,-134 --118,64,-126 --118,64,-118 --118,64,-110 --118,64,-102 --118,64,-94 --118,64,-86 --118,64,-78 --118,64,-70 --118,64,-62 --118,64,-54 --118,64,-46 --118,64,-38 --118,64,-30 --118,64,-22 --118,64,-14 --118,64,-6 --118,64,2 --118,64,10 --118,64,18 --118,64,26 --118,64,34 --118,64,42 --118,64,50 --118,64,58 --118,64,66 --118,64,74 --118,64,82 --118,64,90 --118,64,98 --118,64,106 --118,64,114 --118,64,122 --118,64,130 --118,64,138 --118,64,146 --110,64,-150 --110,64,-142 --110,64,-134 --110,64,-126 --110,64,-118 --110,64,-110 --110,64,-102 --110,64,-94 --110,64,-86 --110,64,-78 --110,64,-70 --110,64,-62 --110,64,-54 --110,64,-46 --110,64,-38 --110,64,-30 --110,64,-22 --110,64,-14 --110,64,-6 --110,64,2 --110,64,10 --110,64,18 --110,64,26 --110,64,34 --110,64,42 --110,64,50 --110,64,58 --110,64,66 --110,64,74 --110,64,82 --110,64,90 --110,64,98 --110,64,106 --110,64,114 --110,64,122 --110,64,130 --110,64,138 --110,64,146 --102,64,-150 --102,64,-142 --102,64,-134 --102,64,-126 --102,64,-118 --102,64,-110 --102,64,-102 --102,64,-94 --102,64,-86 --102,64,-78 --102,64,-70 --102,64,-62 --102,64,-54 --102,64,-46 --102,64,-38 --102,64,-30 --102,64,-22 --102,64,-14 --102,64,-6 --102,64,2 --102,64,10 --102,64,18 --102,64,26 --102,64,34 --102,64,42 --102,64,50 --102,64,58 --102,64,66 --102,64,74 --102,64,82 --102,64,90 --102,64,98 --102,64,106 --102,64,114 --102,64,122 --102,64,130 --102,64,138 --102,64,146 --94,64,-150 --94,64,-142 --94,64,-134 --94,64,-126 --94,64,-118 --94,64,-110 --94,64,-102 --94,64,-94 --94,64,-86 --94,64,-78 --94,64,-70 --94,64,-62 --94,64,-54 --94,64,-46 --94,64,-38 --94,64,-30 --94,64,-22 --94,64,-14 --94,64,-6 --94,64,2 --94,64,10 --94,64,18 --94,64,26 --94,64,34 --94,64,42 --94,64,50 --94,64,58 --94,64,66 --94,64,74 --94,64,82 --94,64,90 --94,64,98 --94,64,106 --94,64,114 --94,64,122 --94,64,130 --94,64,138 --94,64,146 --86,64,-150 --86,64,-142 --86,64,-134 --86,64,-126 --86,64,-118 --86,64,-110 --86,64,-102 --86,64,-94 --86,64,-86 --86,64,-78 --86,64,-70 --86,64,-62 --86,64,-54 --86,64,-46 --86,64,-38 --86,64,-30 --86,64,-22 --86,64,-14 --86,64,-6 --86,64,2 --86,64,10 --86,64,18 --86,64,26 --86,64,34 --86,64,42 --86,64,50 --86,64,58 --86,64,66 --86,64,74 --86,64,82 --86,64,90 --86,64,98 --86,64,106 --86,64,114 --86,64,122 --86,64,130 --86,64,138 --86,64,146 --78,64,-150 --78,64,-142 --78,64,-134 --78,64,-126 --78,64,-118 --78,64,-110 --78,64,-102 --78,64,-94 --78,64,-86 --78,64,-78 --78,64,-70 --78,64,-62 --78,64,-54 --78,64,-46 --78,64,-38 --78,64,-30 --78,64,-22 --78,64,-14 --78,64,-6 --78,64,2 --78,64,10 --78,64,18 --78,64,26 --78,64,34 --78,64,42 --78,64,50 --78,64,58 --78,64,66 --78,64,74 --78,64,82 --78,64,90 --78,64,98 --78,64,106 --78,64,114 --78,64,122 --78,64,130 --78,64,138 --78,64,146 --70,64,-150 --70,64,-142 --70,64,-134 --70,64,-126 --70,64,-118 --70,64,-110 --70,64,-102 --70,64,-94 --70,64,-86 --70,64,-78 --70,64,-70 --70,64,-62 --70,64,-54 --70,64,-46 --70,64,-38 --70,64,-30 --70,64,-22 --70,64,-14 --70,64,-6 --70,64,2 --70,64,10 --70,64,18 --70,64,26 --70,64,34 --70,64,42 --70,64,50 --70,64,58 --70,64,66 --70,64,74 --70,64,82 --70,64,90 --70,64,98 --70,64,106 --70,64,114 --70,64,122 --70,64,130 --70,64,138 --70,64,146 --62,64,-150 --62,64,-142 --62,64,-134 --62,64,-126 --62,64,-118 --62,64,-110 --62,64,-102 --62,64,-94 --62,64,-86 --62,64,-78 --62,64,-70 --62,64,-62 --62,64,-54 --62,64,-46 --62,64,-38 --62,64,-30 --62,64,-22 --62,64,-14 --62,64,-6 --62,64,2 --62,64,10 --62,64,18 --62,64,26 --62,64,34 --62,64,42 --62,64,50 --62,64,58 --62,64,66 --62,64,74 --62,64,82 --62,64,90 --62,64,98 --62,64,106 --62,64,114 --62,64,122 --62,64,130 --62,64,138 --62,64,146 --54,64,-150 --54,64,-142 --54,64,-134 --54,64,-126 --54,64,-118 --54,64,-110 --54,64,-102 --54,64,-94 --54,64,-86 --54,64,-78 --54,64,-70 --54,64,-62 --54,64,-54 --54,64,-46 --54,64,-38 --54,64,-30 --54,64,-22 --54,64,-14 --54,64,-6 --54,64,2 --54,64,10 --54,64,18 --54,64,26 --54,64,34 --54,64,42 --54,64,50 --54,64,58 --54,64,66 --54,64,74 --54,64,82 --54,64,90 --54,64,98 --54,64,106 --54,64,114 --54,64,122 --54,64,130 --54,64,138 --54,64,146 --46,64,-150 --46,64,-142 --46,64,-134 --46,64,-126 --46,64,-118 --46,64,-110 --46,64,-102 --46,64,-94 --46,64,-86 --46,64,-78 --46,64,-70 --46,64,-62 --46,64,-54 --46,64,-46 --46,64,-38 --46,64,-30 --46,64,-22 --46,64,-14 --46,64,-6 --46,64,2 --46,64,10 --46,64,18 --46,64,26 --46,64,34 --46,64,42 --46,64,50 --46,64,58 --46,64,66 --46,64,74 --46,64,82 --46,64,90 --46,64,98 --46,64,106 --46,64,114 --46,64,122 --46,64,130 --46,64,138 --46,64,146 --38,64,-150 --38,64,-142 --38,64,-134 --38,64,-126 --38,64,-118 --38,64,-110 --38,64,-102 --38,64,-94 --38,64,-86 --38,64,-78 --38,64,-70 --38,64,-62 --38,64,-54 --38,64,-46 --38,64,-38 --38,64,-30 --38,64,-22 --38,64,-14 --38,64,-6 --38,64,2 --38,64,10 --38,64,18 --38,64,26 --38,64,34 --38,64,42 --38,64,50 --38,64,58 --38,64,66 --38,64,74 --38,64,82 --38,64,90 --38,64,98 --38,64,106 --38,64,114 --38,64,122 --38,64,130 --38,64,138 --38,64,146 --30,64,-150 --30,64,-142 --30,64,-134 --30,64,-126 --30,64,-118 --30,64,-110 --30,64,-102 --30,64,-94 --30,64,-86 --30,64,-78 --30,64,-70 --30,64,-62 --30,64,-54 --30,64,-46 --30,64,-38 --30,64,-30 --30,64,-22 --30,64,-14 --30,64,-6 --30,64,2 --30,64,10 --30,64,18 --30,64,26 --30,64,34 --30,64,42 --30,64,50 --30,64,58 --30,64,66 --30,64,74 --30,64,82 --30,64,90 --30,64,98 --30,64,106 --30,64,114 --30,64,122 --30,64,130 --30,64,138 --30,64,146 --22,64,-150 --22,64,-142 --22,64,-134 --22,64,-126 --22,64,-118 --22,64,-110 --22,64,-102 --22,64,-94 --22,64,-86 --22,64,-78 --22,64,-70 --22,64,-62 --22,64,-54 --22,64,-46 --22,64,-38 --22,64,-30 --22,64,-22 --22,64,-14 --22,64,-6 --22,64,2 --22,64,10 --22,64,18 --22,64,26 --22,64,34 --22,64,42 --22,64,50 --22,64,58 --22,64,66 --22,64,74 --22,64,82 --22,64,90 --22,64,98 --22,64,106 --22,64,114 --22,64,122 --22,64,130 --22,64,138 --22,64,146 --14,64,-150 --14,64,-142 --14,64,-134 --14,64,-126 --14,64,-118 --14,64,-110 --14,64,-102 --14,64,-94 --14,64,-86 --14,64,-78 --14,64,-70 --14,64,-62 --14,64,-54 --14,64,-46 --14,64,-38 --14,64,-30 --14,64,-22 --14,64,-14 --14,64,-6 --14,64,2 --14,64,10 --14,64,18 --14,64,26 --14,64,34 --14,64,42 --14,64,50 --14,64,58 --14,64,66 --14,64,74 --14,64,82 --14,64,90 --14,64,98 --14,64,106 --14,64,114 --14,64,122 --14,64,130 --14,64,138 --14,64,146 --6,64,-150 --6,64,-142 --6,64,-134 --6,64,-126 --6,64,-118 --6,64,-110 --6,64,-102 --6,64,-94 --6,64,-86 --6,64,-78 --6,64,-70 --6,64,-62 --6,64,-54 --6,64,-46 --6,64,-38 --6,64,-30 --6,64,-22 --6,64,-14 --6,64,-6 --6,64,2 --6,64,10 --6,64,18 --6,64,26 --6,64,34 --6,64,42 --6,64,50 --6,64,58 --6,64,66 --6,64,74 --6,64,82 --6,64,90 --6,64,98 --6,64,106 --6,64,114 --6,64,122 --6,64,130 --6,64,138 --6,64,146 -2,64,-150 -2,64,-142 -2,64,-134 -2,64,-126 -2,64,-118 -2,64,-110 -2,64,-102 -2,64,-94 -2,64,-86 -2,64,-78 -2,64,-70 -2,64,-62 -2,64,-54 -2,64,-46 -2,64,-38 -2,64,-30 -2,64,-22 -2,64,-14 -2,64,-6 -2,64,2 -2,64,10 -2,64,18 -2,64,26 -2,64,34 -2,64,42 -2,64,50 -2,64,58 -2,64,66 -2,64,74 -2,64,82 -2,64,90 -2,64,98 -2,64,106 -2,64,114 -2,64,122 -2,64,130 -2,64,138 -2,64,146 -10,64,-150 -10,64,-142 -10,64,-134 -10,64,-126 -10,64,-118 -10,64,-110 -10,64,-102 -10,64,-94 -10,64,-86 -10,64,-78 -10,64,-70 -10,64,-62 -10,64,-54 -10,64,-46 -10,64,-38 -10,64,-30 -10,64,-22 -10,64,-14 -10,64,-6 -10,64,2 -10,64,10 -10,64,18 -10,64,26 -10,64,34 -10,64,42 -10,64,50 -10,64,58 -10,64,66 -10,64,74 -10,64,82 -10,64,90 -10,64,98 -10,64,106 -10,64,114 -10,64,122 -10,64,130 -10,64,138 -10,64,146 -18,64,-150 -18,64,-142 -18,64,-134 -18,64,-126 -18,64,-118 -18,64,-110 -18,64,-102 -18,64,-94 -18,64,-86 -18,64,-78 -18,64,-70 -18,64,-62 -18,64,-54 -18,64,-46 -18,64,-38 -18,64,-30 -18,64,-22 -18,64,-14 -18,64,-6 -18,64,2 -18,64,10 -18,64,18 -18,64,26 -18,64,34 -18,64,42 -18,64,50 -18,64,58 -18,64,66 -18,64,74 -18,64,82 -18,64,90 -18,64,98 -18,64,106 -18,64,114 -18,64,122 -18,64,130 -18,64,138 -18,64,146 -26,64,-150 -26,64,-142 -26,64,-134 -26,64,-126 -26,64,-118 -26,64,-110 -26,64,-102 -26,64,-94 -26,64,-86 -26,64,-78 -26,64,-70 -26,64,-62 -26,64,-54 -26,64,-46 -26,64,-38 -26,64,-30 -26,64,-22 -26,64,-14 -26,64,-6 -26,64,2 -26,64,10 -26,64,18 -26,64,26 -26,64,34 -26,64,42 -26,64,50 -26,64,58 -26,64,66 -26,64,74 -26,64,82 -26,64,90 -26,64,98 -26,64,106 -26,64,114 -26,64,122 -26,64,130 -26,64,138 -26,64,146 -34,64,-150 -34,64,-142 -34,64,-134 -34,64,-126 -34,64,-118 -34,64,-110 -34,64,-102 -34,64,-94 -34,64,-86 -34,64,-78 -34,64,-70 -34,64,-62 -34,64,-54 -34,64,-46 -34,64,-38 -34,64,-30 -34,64,-22 -34,64,-14 -34,64,-6 -34,64,2 -34,64,10 -34,64,18 -34,64,26 -34,64,34 -34,64,42 -34,64,50 -34,64,58 -34,64,66 -34,64,74 -34,64,82 -34,64,90 -34,64,98 -34,64,106 -34,64,114 -34,64,122 -34,64,130 -34,64,138 -34,64,146 -42,64,-150 -42,64,-142 -42,64,-134 -42,64,-126 -42,64,-118 -42,64,-110 -42,64,-102 -42,64,-94 -42,64,-86 -42,64,-78 -42,64,-70 -42,64,-62 -42,64,-54 -42,64,-46 -42,64,-38 -42,64,-30 -42,64,-22 -42,64,-14 -42,64,-6 -42,64,2 -42,64,10 -42,64,18 -42,64,26 -42,64,34 -42,64,42 -42,64,50 -42,64,58 -42,64,66 -42,64,74 -42,64,82 -42,64,90 -42,64,98 -42,64,106 -42,64,114 -42,64,122 -42,64,130 -42,64,138 -42,64,146 -50,64,-150 -50,64,-142 -50,64,-134 -50,64,-126 -50,64,-118 -50,64,-110 -50,64,-102 -50,64,-94 -50,64,-86 -50,64,-78 -50,64,-70 -50,64,-62 -50,64,-54 -50,64,-46 -50,64,-38 -50,64,-30 -50,64,-22 -50,64,-14 -50,64,-6 -50,64,2 -50,64,10 -50,64,18 -50,64,26 -50,64,34 -50,64,42 -50,64,50 -50,64,58 -50,64,66 -50,64,74 -50,64,82 -50,64,90 -50,64,98 -50,64,106 -50,64,114 -50,64,122 -50,64,130 -50,64,138 -50,64,146 -58,64,-150 -58,64,-142 -58,64,-134 -58,64,-126 -58,64,-118 -58,64,-110 -58,64,-102 -58,64,-94 -58,64,-86 -58,64,-78 -58,64,-70 -58,64,-62 -58,64,-54 -58,64,-46 -58,64,-38 -58,64,-30 -58,64,-22 -58,64,-14 -58,64,-6 -58,64,2 -58,64,10 -58,64,18 -58,64,26 -58,64,34 -58,64,42 -58,64,50 -58,64,58 -58,64,66 -58,64,74 -58,64,82 -58,64,90 -58,64,98 -58,64,106 -58,64,114 -58,64,122 -58,64,130 -58,64,138 -58,64,146 -66,64,-150 -66,64,-142 -66,64,-134 -66,64,-126 -66,64,-118 -66,64,-110 -66,64,-102 -66,64,-94 -66,64,-86 -66,64,-78 -66,64,-70 -66,64,-62 -66,64,-54 -66,64,-46 -66,64,-38 -66,64,-30 -66,64,-22 -66,64,-14 -66,64,-6 -66,64,2 -66,64,10 -66,64,18 -66,64,26 -66,64,34 -66,64,42 -66,64,50 -66,64,58 -66,64,66 -66,64,74 -66,64,82 -66,64,90 -66,64,98 -66,64,106 -66,64,114 -66,64,122 -66,64,130 -66,64,138 -66,64,146 -74,64,-150 -74,64,-142 -74,64,-134 -74,64,-126 -74,64,-118 -74,64,-110 -74,64,-102 -74,64,-94 -74,64,-86 -74,64,-78 -74,64,-70 -74,64,-62 -74,64,-54 -74,64,-46 -74,64,-38 -74,64,-30 -74,64,-22 -74,64,-14 -74,64,-6 -74,64,2 -74,64,10 -74,64,18 -74,64,26 -74,64,34 -74,64,42 -74,64,50 -74,64,58 -74,64,66 -74,64,74 -74,64,82 -74,64,90 -74,64,98 -74,64,106 -74,64,114 -74,64,122 -74,64,130 -74,64,138 -74,64,146 -82,64,-150 -82,64,-142 -82,64,-134 -82,64,-126 -82,64,-118 -82,64,-110 -82,64,-102 -82,64,-94 -82,64,-86 -82,64,-78 -82,64,-70 -82,64,-62 -82,64,-54 -82,64,-46 -82,64,-38 -82,64,-30 -82,64,-22 -82,64,-14 -82,64,-6 -82,64,2 -82,64,10 -82,64,18 -82,64,26 -82,64,34 -82,64,42 -82,64,50 -82,64,58 -82,64,66 -82,64,74 -82,64,82 -82,64,90 -82,64,98 -82,64,106 -82,64,114 -82,64,122 -82,64,130 -82,64,138 -82,64,146 -90,64,-150 -90,64,-142 -90,64,-134 -90,64,-126 -90,64,-118 -90,64,-110 -90,64,-102 -90,64,-94 -90,64,-86 -90,64,-78 -90,64,-70 -90,64,-62 -90,64,-54 -90,64,-46 -90,64,-38 -90,64,-30 -90,64,-22 -90,64,-14 -90,64,-6 -90,64,2 -90,64,10 -90,64,18 -90,64,26 -90,64,34 -90,64,42 -90,64,50 -90,64,58 -90,64,66 -90,64,74 -90,64,82 -90,64,90 -90,64,98 -90,64,106 -90,64,114 -90,64,122 -90,64,130 -90,64,138 -90,64,146 -98,64,-150 -98,64,-142 -98,64,-134 -98,64,-126 -98,64,-118 -98,64,-110 -98,64,-102 -98,64,-94 -98,64,-86 -98,64,-78 -98,64,-70 -98,64,-62 -98,64,-54 -98,64,-46 -98,64,-38 -98,64,-30 -98,64,-22 -98,64,-14 -98,64,-6 -98,64,2 -98,64,10 -98,64,18 -98,64,26 -98,64,34 -98,64,42 -98,64,50 -98,64,58 -98,64,66 -98,64,74 -98,64,82 -98,64,90 -98,64,98 -98,64,106 -98,64,114 -98,64,122 -98,64,130 -98,64,138 -98,64,146 -106,64,-150 -106,64,-142 -106,64,-134 -106,64,-126 -106,64,-118 -106,64,-110 -106,64,-102 -106,64,-94 -106,64,-86 -106,64,-78 -106,64,-70 -106,64,-62 -106,64,-54 -106,64,-46 -106,64,-38 -106,64,-30 -106,64,-22 -106,64,-14 -106,64,-6 -106,64,2 -106,64,10 -106,64,18 -106,64,26 -106,64,34 -106,64,42 -106,64,50 -106,64,58 -106,64,66 -106,64,74 -106,64,82 -106,64,90 -106,64,98 -106,64,106 -106,64,114 -106,64,122 -106,64,130 -106,64,138 -106,64,146 -114,64,-150 -114,64,-142 -114,64,-134 -114,64,-126 -114,64,-118 -114,64,-110 -114,64,-102 -114,64,-94 -114,64,-86 -114,64,-78 -114,64,-70 -114,64,-62 -114,64,-54 -114,64,-46 -114,64,-38 -114,64,-30 -114,64,-22 -114,64,-14 -114,64,-6 -114,64,2 -114,64,10 -114,64,18 -114,64,26 -114,64,34 -114,64,42 -114,64,50 -114,64,58 -114,64,66 -114,64,74 -114,64,82 -114,64,90 -114,64,98 -114,64,106 -114,64,114 -114,64,122 -114,64,130 -114,64,138 -114,64,146 -122,64,-150 -122,64,-142 -122,64,-134 -122,64,-126 -122,64,-118 -122,64,-110 -122,64,-102 -122,64,-94 -122,64,-86 -122,64,-78 -122,64,-70 -122,64,-62 -122,64,-54 -122,64,-46 -122,64,-38 -122,64,-30 -122,64,-22 -122,64,-14 -122,64,-6 -122,64,2 -122,64,10 -122,64,18 -122,64,26 -122,64,34 -122,64,42 -122,64,50 -122,64,58 -122,64,66 -122,64,74 -122,64,82 -122,64,90 -122,64,98 -122,64,106 -122,64,114 -122,64,122 -122,64,130 -122,64,138 -122,64,146 -130,64,-150 -130,64,-142 -130,64,-134 -130,64,-126 -130,64,-118 -130,64,-110 -130,64,-102 -130,64,-94 -130,64,-86 -130,64,-78 -130,64,-70 -130,64,-62 -130,64,-54 -130,64,-46 -130,64,-38 -130,64,-30 -130,64,-22 -130,64,-14 -130,64,-6 -130,64,2 -130,64,10 -130,64,18 -130,64,26 -130,64,34 -130,64,42 -130,64,50 -130,64,58 -130,64,66 -130,64,74 -130,64,82 -130,64,90 -130,64,98 -130,64,106 -130,64,114 -130,64,122 -130,64,130 -130,64,138 -130,64,146 -138,64,-150 -138,64,-142 -138,64,-134 -138,64,-126 -138,64,-118 -138,64,-110 -138,64,-102 -138,64,-94 -138,64,-86 -138,64,-78 -138,64,-70 -138,64,-62 -138,64,-54 -138,64,-46 -138,64,-38 -138,64,-30 -138,64,-22 -138,64,-14 -138,64,-6 -138,64,2 -138,64,10 -138,64,18 -138,64,26 -138,64,34 -138,64,42 -138,64,50 -138,64,58 -138,64,66 -138,64,74 -138,64,82 -138,64,90 -138,64,98 -138,64,106 -138,64,114 -138,64,122 -138,64,130 -138,64,138 -138,64,146 -146,64,-150 -146,64,-142 -146,64,-134 -146,64,-126 -146,64,-118 -146,64,-110 -146,64,-102 -146,64,-94 -146,64,-86 -146,64,-78 -146,64,-70 -146,64,-62 -146,64,-54 -146,64,-46 -146,64,-38 -146,64,-30 -146,64,-22 -146,64,-14 -146,64,-6 -146,64,2 -146,64,10 -146,64,18 -146,64,26 -146,64,34 -146,64,42 -146,64,50 -146,64,58 -146,64,66 -146,64,74 -146,64,82 -146,64,90 -146,64,98 -146,64,106 -146,64,114 -146,64,122 -146,64,130 -146,64,138 -146,64,146 --150,72,-150 --150,72,-142 --150,72,-134 --150,72,-126 --150,72,-118 --150,72,-110 --150,72,-102 --150,72,-94 --150,72,-86 --150,72,-78 --150,72,-70 --150,72,-62 --150,72,-54 --150,72,-46 --150,72,-38 --150,72,-30 --150,72,-22 --150,72,-14 --150,72,-6 --150,72,2 --150,72,10 --150,72,18 --150,72,26 --150,72,34 --150,72,42 --150,72,50 --150,72,58 --150,72,66 --150,72,74 --150,72,82 --150,72,90 --150,72,98 --150,72,106 --150,72,114 --150,72,122 --150,72,130 --150,72,138 --150,72,146 --142,72,-150 --142,72,-142 --142,72,-134 --142,72,-126 --142,72,-118 --142,72,-110 --142,72,-102 --142,72,-94 --142,72,-86 --142,72,-78 --142,72,-70 --142,72,-62 --142,72,-54 --142,72,-46 --142,72,-38 --142,72,-30 --142,72,-22 --142,72,-14 --142,72,-6 --142,72,2 --142,72,10 --142,72,18 --142,72,26 --142,72,34 --142,72,42 --142,72,50 --142,72,58 --142,72,66 --142,72,74 --142,72,82 --142,72,90 --142,72,98 --142,72,106 --142,72,114 --142,72,122 --142,72,130 --142,72,138 --142,72,146 --134,72,-150 --134,72,-142 --134,72,-134 --134,72,-126 --134,72,-118 --134,72,-110 --134,72,-102 --134,72,-94 --134,72,-86 --134,72,-78 --134,72,-70 --134,72,-62 --134,72,-54 --134,72,-46 --134,72,-38 --134,72,-30 --134,72,-22 --134,72,-14 --134,72,-6 --134,72,2 --134,72,10 --134,72,18 --134,72,26 --134,72,34 --134,72,42 --134,72,50 --134,72,58 --134,72,66 --134,72,74 --134,72,82 --134,72,90 --134,72,98 --134,72,106 --134,72,114 --134,72,122 --134,72,130 --134,72,138 --134,72,146 --126,72,-150 --126,72,-142 --126,72,-134 --126,72,-126 --126,72,-118 --126,72,-110 --126,72,-102 --126,72,-94 --126,72,-86 --126,72,-78 --126,72,-70 --126,72,-62 --126,72,-54 --126,72,-46 --126,72,-38 --126,72,-30 --126,72,-22 --126,72,-14 --126,72,-6 --126,72,2 --126,72,10 --126,72,18 --126,72,26 --126,72,34 --126,72,42 --126,72,50 --126,72,58 --126,72,66 --126,72,74 --126,72,82 --126,72,90 --126,72,98 --126,72,106 --126,72,114 --126,72,122 --126,72,130 --126,72,138 --126,72,146 --118,72,-150 --118,72,-142 --118,72,-134 --118,72,-126 --118,72,-118 --118,72,-110 --118,72,-102 --118,72,-94 --118,72,-86 --118,72,-78 --118,72,-70 --118,72,-62 --118,72,-54 --118,72,-46 --118,72,-38 --118,72,-30 --118,72,-22 --118,72,-14 --118,72,-6 --118,72,2 --118,72,10 --118,72,18 --118,72,26 --118,72,34 --118,72,42 --118,72,50 --118,72,58 --118,72,66 --118,72,74 --118,72,82 --118,72,90 --118,72,98 --118,72,106 --118,72,114 --118,72,122 --118,72,130 --118,72,138 --118,72,146 --110,72,-150 --110,72,-142 --110,72,-134 --110,72,-126 --110,72,-118 --110,72,-110 --110,72,-102 --110,72,-94 --110,72,-86 --110,72,-78 --110,72,-70 --110,72,-62 --110,72,-54 --110,72,-46 --110,72,-38 --110,72,-30 --110,72,-22 --110,72,-14 --110,72,-6 --110,72,2 --110,72,10 --110,72,18 --110,72,26 --110,72,34 --110,72,42 --110,72,50 --110,72,58 --110,72,66 --110,72,74 --110,72,82 --110,72,90 --110,72,98 --110,72,106 --110,72,114 --110,72,122 --110,72,130 --110,72,138 --110,72,146 --102,72,-150 --102,72,-142 --102,72,-134 --102,72,-126 --102,72,-118 --102,72,-110 --102,72,-102 --102,72,-94 --102,72,-86 --102,72,-78 --102,72,-70 --102,72,-62 --102,72,-54 --102,72,-46 --102,72,-38 --102,72,-30 --102,72,-22 --102,72,-14 --102,72,-6 --102,72,2 --102,72,10 --102,72,18 --102,72,26 --102,72,34 --102,72,42 --102,72,50 --102,72,58 --102,72,66 --102,72,74 --102,72,82 --102,72,90 --102,72,98 --102,72,106 --102,72,114 --102,72,122 --102,72,130 --102,72,138 --102,72,146 --94,72,-150 --94,72,-142 --94,72,-134 --94,72,-126 --94,72,-118 --94,72,-110 --94,72,-102 --94,72,-94 --94,72,-86 --94,72,-78 --94,72,-70 --94,72,-62 --94,72,-54 --94,72,-46 --94,72,-38 --94,72,-30 --94,72,-22 --94,72,-14 --94,72,-6 --94,72,2 --94,72,10 --94,72,18 --94,72,26 --94,72,34 --94,72,42 --94,72,50 --94,72,58 --94,72,66 --94,72,74 --94,72,82 --94,72,90 --94,72,98 --94,72,106 --94,72,114 --94,72,122 --94,72,130 --94,72,138 --94,72,146 --86,72,-150 --86,72,-142 --86,72,-134 --86,72,-126 --86,72,-118 --86,72,-110 --86,72,-102 --86,72,-94 --86,72,-86 --86,72,-78 --86,72,-70 --86,72,-62 --86,72,-54 --86,72,-46 --86,72,-38 --86,72,-30 --86,72,-22 --86,72,-14 --86,72,-6 --86,72,2 --86,72,10 --86,72,18 --86,72,26 --86,72,34 --86,72,42 --86,72,50 --86,72,58 --86,72,66 --86,72,74 --86,72,82 --86,72,90 --86,72,98 --86,72,106 --86,72,114 --86,72,122 --86,72,130 --86,72,138 --86,72,146 --78,72,-150 --78,72,-142 --78,72,-134 --78,72,-126 --78,72,-118 --78,72,-110 --78,72,-102 --78,72,-94 --78,72,-86 --78,72,-78 --78,72,-70 --78,72,-62 --78,72,-54 --78,72,-46 --78,72,-38 --78,72,-30 --78,72,-22 --78,72,-14 --78,72,-6 --78,72,2 --78,72,10 --78,72,18 --78,72,26 --78,72,34 --78,72,42 --78,72,50 --78,72,58 --78,72,66 --78,72,74 --78,72,82 --78,72,90 --78,72,98 --78,72,106 --78,72,114 --78,72,122 --78,72,130 --78,72,138 --78,72,146 --70,72,-150 --70,72,-142 --70,72,-134 --70,72,-126 --70,72,-118 --70,72,-110 --70,72,-102 --70,72,-94 --70,72,-86 --70,72,-78 --70,72,-70 --70,72,-62 --70,72,-54 --70,72,-46 --70,72,-38 --70,72,-30 --70,72,-22 --70,72,-14 --70,72,-6 --70,72,2 --70,72,10 --70,72,18 --70,72,26 --70,72,34 --70,72,42 --70,72,50 --70,72,58 --70,72,66 --70,72,74 --70,72,82 --70,72,90 --70,72,98 --70,72,106 --70,72,114 --70,72,122 --70,72,130 --70,72,138 --70,72,146 --62,72,-150 --62,72,-142 --62,72,-134 --62,72,-126 --62,72,-118 --62,72,-110 --62,72,-102 --62,72,-94 --62,72,-86 --62,72,-78 --62,72,-70 --62,72,-62 --62,72,-54 --62,72,-46 --62,72,-38 --62,72,-30 --62,72,-22 --62,72,-14 --62,72,-6 --62,72,2 --62,72,10 --62,72,18 --62,72,26 --62,72,34 --62,72,42 --62,72,50 --62,72,58 --62,72,66 --62,72,74 --62,72,82 --62,72,90 --62,72,98 --62,72,106 --62,72,114 --62,72,122 --62,72,130 --62,72,138 --62,72,146 --54,72,-150 --54,72,-142 --54,72,-134 --54,72,-126 --54,72,-118 --54,72,-110 --54,72,-102 --54,72,-94 --54,72,-86 --54,72,-78 --54,72,-70 --54,72,-62 --54,72,-54 --54,72,-46 --54,72,-38 --54,72,-30 --54,72,-22 --54,72,-14 --54,72,-6 --54,72,2 --54,72,10 --54,72,18 --54,72,26 --54,72,34 --54,72,42 --54,72,50 --54,72,58 --54,72,66 --54,72,74 --54,72,82 --54,72,90 --54,72,98 --54,72,106 --54,72,114 --54,72,122 --54,72,130 --54,72,138 --54,72,146 --46,72,-150 --46,72,-142 --46,72,-134 --46,72,-126 --46,72,-118 --46,72,-110 --46,72,-102 --46,72,-94 --46,72,-86 --46,72,-78 --46,72,-70 --46,72,-62 --46,72,-54 --46,72,-46 --46,72,-38 --46,72,-30 --46,72,-22 --46,72,-14 --46,72,-6 --46,72,2 --46,72,10 --46,72,18 --46,72,26 --46,72,34 --46,72,42 --46,72,50 --46,72,58 --46,72,66 --46,72,74 --46,72,82 --46,72,90 --46,72,98 --46,72,106 --46,72,114 --46,72,122 --46,72,130 --46,72,138 --46,72,146 --38,72,-150 --38,72,-142 --38,72,-134 --38,72,-126 --38,72,-118 --38,72,-110 --38,72,-102 --38,72,-94 --38,72,-86 --38,72,-78 --38,72,-70 --38,72,-62 --38,72,-54 --38,72,-46 --38,72,-38 --38,72,-30 --38,72,-22 --38,72,-14 --38,72,-6 --38,72,2 --38,72,10 --38,72,18 --38,72,26 --38,72,34 --38,72,42 --38,72,50 --38,72,58 --38,72,66 --38,72,74 --38,72,82 --38,72,90 --38,72,98 --38,72,106 --38,72,114 --38,72,122 --38,72,130 --38,72,138 --38,72,146 --30,72,-150 --30,72,-142 --30,72,-134 --30,72,-126 --30,72,-118 --30,72,-110 --30,72,-102 --30,72,-94 --30,72,-86 --30,72,-78 --30,72,-70 --30,72,-62 --30,72,-54 --30,72,-46 --30,72,-38 --30,72,-30 --30,72,-22 --30,72,-14 --30,72,-6 --30,72,2 --30,72,10 --30,72,18 --30,72,26 --30,72,34 --30,72,42 --30,72,50 --30,72,58 --30,72,66 --30,72,74 --30,72,82 --30,72,90 --30,72,98 --30,72,106 --30,72,114 --30,72,122 --30,72,130 --30,72,138 --30,72,146 --22,72,-150 --22,72,-142 --22,72,-134 --22,72,-126 --22,72,-118 --22,72,-110 --22,72,-102 --22,72,-94 --22,72,-86 --22,72,-78 --22,72,-70 --22,72,-62 --22,72,-54 --22,72,-46 --22,72,-38 --22,72,-30 --22,72,-22 --22,72,-14 --22,72,-6 --22,72,2 --22,72,10 --22,72,18 --22,72,26 --22,72,34 --22,72,42 --22,72,50 --22,72,58 --22,72,66 --22,72,74 --22,72,82 --22,72,90 --22,72,98 --22,72,106 --22,72,114 --22,72,122 --22,72,130 --22,72,138 --22,72,146 --14,72,-150 --14,72,-142 --14,72,-134 --14,72,-126 --14,72,-118 --14,72,-110 --14,72,-102 --14,72,-94 --14,72,-86 --14,72,-78 --14,72,-70 --14,72,-62 --14,72,-54 --14,72,-46 --14,72,-38 --14,72,-30 --14,72,-22 --14,72,-14 --14,72,-6 --14,72,2 --14,72,10 --14,72,18 --14,72,26 --14,72,34 --14,72,42 --14,72,50 --14,72,58 --14,72,66 --14,72,74 --14,72,82 --14,72,90 --14,72,98 --14,72,106 --14,72,114 --14,72,122 --14,72,130 --14,72,138 --14,72,146 --6,72,-150 --6,72,-142 --6,72,-134 --6,72,-126 --6,72,-118 --6,72,-110 --6,72,-102 --6,72,-94 --6,72,-86 --6,72,-78 --6,72,-70 --6,72,-62 --6,72,-54 --6,72,-46 --6,72,-38 --6,72,-30 --6,72,-22 --6,72,-14 --6,72,-6 --6,72,2 --6,72,10 --6,72,18 --6,72,26 --6,72,34 --6,72,42 --6,72,50 --6,72,58 --6,72,66 --6,72,74 --6,72,82 --6,72,90 --6,72,98 --6,72,106 --6,72,114 --6,72,122 --6,72,130 --6,72,138 --6,72,146 -2,72,-150 -2,72,-142 -2,72,-134 -2,72,-126 -2,72,-118 -2,72,-110 -2,72,-102 -2,72,-94 -2,72,-86 -2,72,-78 -2,72,-70 -2,72,-62 -2,72,-54 -2,72,-46 -2,72,-38 -2,72,-30 -2,72,-22 -2,72,-14 -2,72,-6 -2,72,2 -2,72,10 -2,72,18 -2,72,26 -2,72,34 -2,72,42 -2,72,50 -2,72,58 -2,72,66 -2,72,74 -2,72,82 -2,72,90 -2,72,98 -2,72,106 -2,72,114 -2,72,122 -2,72,130 -2,72,138 -2,72,146 -10,72,-150 -10,72,-142 -10,72,-134 -10,72,-126 -10,72,-118 -10,72,-110 -10,72,-102 -10,72,-94 -10,72,-86 -10,72,-78 -10,72,-70 -10,72,-62 -10,72,-54 -10,72,-46 -10,72,-38 -10,72,-30 -10,72,-22 -10,72,-14 -10,72,-6 -10,72,2 -10,72,10 -10,72,18 -10,72,26 -10,72,34 -10,72,42 -10,72,50 -10,72,58 -10,72,66 -10,72,74 -10,72,82 -10,72,90 -10,72,98 -10,72,106 -10,72,114 -10,72,122 -10,72,130 -10,72,138 -10,72,146 -18,72,-150 -18,72,-142 -18,72,-134 -18,72,-126 -18,72,-118 -18,72,-110 -18,72,-102 -18,72,-94 -18,72,-86 -18,72,-78 -18,72,-70 -18,72,-62 -18,72,-54 -18,72,-46 -18,72,-38 -18,72,-30 -18,72,-22 -18,72,-14 -18,72,-6 -18,72,2 -18,72,10 -18,72,18 -18,72,26 -18,72,34 -18,72,42 -18,72,50 -18,72,58 -18,72,66 -18,72,74 -18,72,82 -18,72,90 -18,72,98 -18,72,106 -18,72,114 -18,72,122 -18,72,130 -18,72,138 -18,72,146 -26,72,-150 -26,72,-142 -26,72,-134 -26,72,-126 -26,72,-118 -26,72,-110 -26,72,-102 -26,72,-94 -26,72,-86 -26,72,-78 -26,72,-70 -26,72,-62 -26,72,-54 -26,72,-46 -26,72,-38 -26,72,-30 -26,72,-22 -26,72,-14 -26,72,-6 -26,72,2 -26,72,10 -26,72,18 -26,72,26 -26,72,34 -26,72,42 -26,72,50 -26,72,58 -26,72,66 -26,72,74 -26,72,82 -26,72,90 -26,72,98 -26,72,106 -26,72,114 -26,72,122 -26,72,130 -26,72,138 -26,72,146 -34,72,-150 -34,72,-142 -34,72,-134 -34,72,-126 -34,72,-118 -34,72,-110 -34,72,-102 -34,72,-94 -34,72,-86 -34,72,-78 -34,72,-70 -34,72,-62 -34,72,-54 -34,72,-46 -34,72,-38 -34,72,-30 -34,72,-22 -34,72,-14 -34,72,-6 -34,72,2 -34,72,10 -34,72,18 -34,72,26 -34,72,34 -34,72,42 -34,72,50 -34,72,58 -34,72,66 -34,72,74 -34,72,82 -34,72,90 -34,72,98 -34,72,106 -34,72,114 -34,72,122 -34,72,130 -34,72,138 -34,72,146 -42,72,-150 -42,72,-142 -42,72,-134 -42,72,-126 -42,72,-118 -42,72,-110 -42,72,-102 -42,72,-94 -42,72,-86 -42,72,-78 -42,72,-70 -42,72,-62 -42,72,-54 -42,72,-46 -42,72,-38 -42,72,-30 -42,72,-22 -42,72,-14 -42,72,-6 -42,72,2 -42,72,10 -42,72,18 -42,72,26 -42,72,34 -42,72,42 -42,72,50 -42,72,58 -42,72,66 -42,72,74 -42,72,82 -42,72,90 -42,72,98 -42,72,106 -42,72,114 -42,72,122 -42,72,130 -42,72,138 -42,72,146 -50,72,-150 -50,72,-142 -50,72,-134 -50,72,-126 -50,72,-118 -50,72,-110 -50,72,-102 -50,72,-94 -50,72,-86 -50,72,-78 -50,72,-70 -50,72,-62 -50,72,-54 -50,72,-46 -50,72,-38 -50,72,-30 -50,72,-22 -50,72,-14 -50,72,-6 -50,72,2 -50,72,10 -50,72,18 -50,72,26 -50,72,34 -50,72,42 -50,72,50 -50,72,58 -50,72,66 -50,72,74 -50,72,82 -50,72,90 -50,72,98 -50,72,106 -50,72,114 -50,72,122 -50,72,130 -50,72,138 -50,72,146 -58,72,-150 -58,72,-142 -58,72,-134 -58,72,-126 -58,72,-118 -58,72,-110 -58,72,-102 -58,72,-94 -58,72,-86 -58,72,-78 -58,72,-70 -58,72,-62 -58,72,-54 -58,72,-46 -58,72,-38 -58,72,-30 -58,72,-22 -58,72,-14 -58,72,-6 -58,72,2 -58,72,10 -58,72,18 -58,72,26 -58,72,34 -58,72,42 -58,72,50 -58,72,58 -58,72,66 -58,72,74 -58,72,82 -58,72,90 -58,72,98 -58,72,106 -58,72,114 -58,72,122 -58,72,130 -58,72,138 -58,72,146 -66,72,-150 -66,72,-142 -66,72,-134 -66,72,-126 -66,72,-118 -66,72,-110 -66,72,-102 -66,72,-94 -66,72,-86 -66,72,-78 -66,72,-70 -66,72,-62 -66,72,-54 -66,72,-46 -66,72,-38 -66,72,-30 -66,72,-22 -66,72,-14 -66,72,-6 -66,72,2 -66,72,10 -66,72,18 -66,72,26 -66,72,34 -66,72,42 -66,72,50 -66,72,58 -66,72,66 -66,72,74 -66,72,82 -66,72,90 -66,72,98 -66,72,106 -66,72,114 -66,72,122 -66,72,130 -66,72,138 -66,72,146 -74,72,-150 -74,72,-142 -74,72,-134 -74,72,-126 -74,72,-118 -74,72,-110 -74,72,-102 -74,72,-94 -74,72,-86 -74,72,-78 -74,72,-70 -74,72,-62 -74,72,-54 -74,72,-46 -74,72,-38 -74,72,-30 -74,72,-22 -74,72,-14 -74,72,-6 -74,72,2 -74,72,10 -74,72,18 -74,72,26 -74,72,34 -74,72,42 -74,72,50 -74,72,58 -74,72,66 -74,72,74 -74,72,82 -74,72,90 -74,72,98 -74,72,106 -74,72,114 -74,72,122 -74,72,130 -74,72,138 -74,72,146 -82,72,-150 -82,72,-142 -82,72,-134 -82,72,-126 -82,72,-118 -82,72,-110 -82,72,-102 -82,72,-94 -82,72,-86 -82,72,-78 -82,72,-70 -82,72,-62 -82,72,-54 -82,72,-46 -82,72,-38 -82,72,-30 -82,72,-22 -82,72,-14 -82,72,-6 -82,72,2 -82,72,10 -82,72,18 -82,72,26 -82,72,34 -82,72,42 -82,72,50 -82,72,58 -82,72,66 -82,72,74 -82,72,82 -82,72,90 -82,72,98 -82,72,106 -82,72,114 -82,72,122 -82,72,130 -82,72,138 -82,72,146 -90,72,-150 -90,72,-142 -90,72,-134 -90,72,-126 -90,72,-118 -90,72,-110 -90,72,-102 -90,72,-94 -90,72,-86 -90,72,-78 -90,72,-70 -90,72,-62 -90,72,-54 -90,72,-46 -90,72,-38 -90,72,-30 -90,72,-22 -90,72,-14 -90,72,-6 -90,72,2 -90,72,10 -90,72,18 -90,72,26 -90,72,34 -90,72,42 -90,72,50 -90,72,58 -90,72,66 -90,72,74 -90,72,82 -90,72,90 -90,72,98 -90,72,106 -90,72,114 -90,72,122 -90,72,130 -90,72,138 -90,72,146 -98,72,-150 -98,72,-142 -98,72,-134 -98,72,-126 -98,72,-118 -98,72,-110 -98,72,-102 -98,72,-94 -98,72,-86 -98,72,-78 -98,72,-70 -98,72,-62 -98,72,-54 -98,72,-46 -98,72,-38 -98,72,-30 -98,72,-22 -98,72,-14 -98,72,-6 -98,72,2 -98,72,10 -98,72,18 -98,72,26 -98,72,34 -98,72,42 -98,72,50 -98,72,58 -98,72,66 -98,72,74 -98,72,82 -98,72,90 -98,72,98 -98,72,106 -98,72,114 -98,72,122 -98,72,130 -98,72,138 -98,72,146 -106,72,-150 -106,72,-142 -106,72,-134 -106,72,-126 -106,72,-118 -106,72,-110 -106,72,-102 -106,72,-94 -106,72,-86 -106,72,-78 -106,72,-70 -106,72,-62 -106,72,-54 -106,72,-46 -106,72,-38 -106,72,-30 -106,72,-22 -106,72,-14 -106,72,-6 -106,72,2 -106,72,10 -106,72,18 -106,72,26 -106,72,34 -106,72,42 -106,72,50 -106,72,58 -106,72,66 -106,72,74 -106,72,82 -106,72,90 -106,72,98 -106,72,106 -106,72,114 -106,72,122 -106,72,130 -106,72,138 -106,72,146 -114,72,-150 -114,72,-142 -114,72,-134 -114,72,-126 -114,72,-118 -114,72,-110 -114,72,-102 -114,72,-94 -114,72,-86 -114,72,-78 -114,72,-70 -114,72,-62 -114,72,-54 -114,72,-46 -114,72,-38 -114,72,-30 -114,72,-22 -114,72,-14 -114,72,-6 -114,72,2 -114,72,10 -114,72,18 -114,72,26 -114,72,34 -114,72,42 -114,72,50 -114,72,58 -114,72,66 -114,72,74 -114,72,82 -114,72,90 -114,72,98 -114,72,106 -114,72,114 -114,72,122 -114,72,130 -114,72,138 -114,72,146 -122,72,-150 -122,72,-142 -122,72,-134 -122,72,-126 -122,72,-118 -122,72,-110 -122,72,-102 -122,72,-94 -122,72,-86 -122,72,-78 -122,72,-70 -122,72,-62 -122,72,-54 -122,72,-46 -122,72,-38 -122,72,-30 -122,72,-22 -122,72,-14 -122,72,-6 -122,72,2 -122,72,10 -122,72,18 -122,72,26 -122,72,34 -122,72,42 -122,72,50 -122,72,58 -122,72,66 -122,72,74 -122,72,82 -122,72,90 -122,72,98 -122,72,106 -122,72,114 -122,72,122 -122,72,130 -122,72,138 -122,72,146 -130,72,-150 -130,72,-142 -130,72,-134 -130,72,-126 -130,72,-118 -130,72,-110 -130,72,-102 -130,72,-94 -130,72,-86 -130,72,-78 -130,72,-70 -130,72,-62 -130,72,-54 -130,72,-46 -130,72,-38 -130,72,-30 -130,72,-22 -130,72,-14 -130,72,-6 -130,72,2 -130,72,10 -130,72,18 -130,72,26 -130,72,34 -130,72,42 -130,72,50 -130,72,58 -130,72,66 -130,72,74 -130,72,82 -130,72,90 -130,72,98 -130,72,106 -130,72,114 -130,72,122 -130,72,130 -130,72,138 -130,72,146 -138,72,-150 -138,72,-142 -138,72,-134 -138,72,-126 -138,72,-118 -138,72,-110 -138,72,-102 -138,72,-94 -138,72,-86 -138,72,-78 -138,72,-70 -138,72,-62 -138,72,-54 -138,72,-46 -138,72,-38 -138,72,-30 -138,72,-22 -138,72,-14 -138,72,-6 -138,72,2 -138,72,10 -138,72,18 -138,72,26 -138,72,34 -138,72,42 -138,72,50 -138,72,58 -138,72,66 -138,72,74 -138,72,82 -138,72,90 -138,72,98 -138,72,106 -138,72,114 -138,72,122 -138,72,130 -138,72,138 -138,72,146 -146,72,-150 -146,72,-142 -146,72,-134 -146,72,-126 -146,72,-118 -146,72,-110 -146,72,-102 -146,72,-94 -146,72,-86 -146,72,-78 -146,72,-70 -146,72,-62 -146,72,-54 -146,72,-46 -146,72,-38 -146,72,-30 -146,72,-22 -146,72,-14 -146,72,-6 -146,72,2 -146,72,10 -146,72,18 -146,72,26 -146,72,34 -146,72,42 -146,72,50 -146,72,58 -146,72,66 -146,72,74 -146,72,82 -146,72,90 -146,72,98 -146,72,106 -146,72,114 -146,72,122 -146,72,130 -146,72,138 -146,72,146 --150,80,-150 --150,80,-142 --150,80,-134 --150,80,-126 --150,80,-118 --150,80,-110 --150,80,-102 --150,80,-94 --150,80,-86 --150,80,-78 --150,80,-70 --150,80,-62 --150,80,-54 --150,80,-46 --150,80,-38 --150,80,-30 --150,80,-22 --150,80,-14 --150,80,-6 --150,80,2 --150,80,10 --150,80,18 --150,80,26 --150,80,34 --150,80,42 --150,80,50 --150,80,58 --150,80,66 --150,80,74 --150,80,82 --150,80,90 --150,80,98 --150,80,106 --150,80,114 --150,80,122 --150,80,130 --150,80,138 --150,80,146 --142,80,-150 --142,80,-142 --142,80,-134 --142,80,-126 --142,80,-118 --142,80,-110 --142,80,-102 --142,80,-94 --142,80,-86 --142,80,-78 --142,80,-70 --142,80,-62 --142,80,-54 --142,80,-46 --142,80,-38 --142,80,-30 --142,80,-22 --142,80,-14 --142,80,-6 --142,80,2 --142,80,10 --142,80,18 --142,80,26 --142,80,34 --142,80,42 --142,80,50 --142,80,58 --142,80,66 --142,80,74 --142,80,82 --142,80,90 --142,80,98 --142,80,106 --142,80,114 --142,80,122 --142,80,130 --142,80,138 --142,80,146 --134,80,-150 --134,80,-142 --134,80,-134 --134,80,-126 --134,80,-118 --134,80,-110 --134,80,-102 --134,80,-94 --134,80,-86 --134,80,-78 --134,80,-70 --134,80,-62 --134,80,-54 --134,80,-46 --134,80,-38 --134,80,-30 --134,80,-22 --134,80,-14 --134,80,-6 --134,80,2 --134,80,10 --134,80,18 --134,80,26 --134,80,34 --134,80,42 --134,80,50 --134,80,58 --134,80,66 --134,80,74 --134,80,82 --134,80,90 --134,80,98 --134,80,106 --134,80,114 --134,80,122 --134,80,130 --134,80,138 --134,80,146 --126,80,-150 --126,80,-142 --126,80,-134 --126,80,-126 --126,80,-118 --126,80,-110 --126,80,-102 --126,80,-94 --126,80,-86 --126,80,-78 --126,80,-70 --126,80,-62 --126,80,-54 --126,80,-46 --126,80,-38 --126,80,-30 --126,80,-22 --126,80,-14 --126,80,-6 --126,80,2 --126,80,10 --126,80,18 --126,80,26 --126,80,34 --126,80,42 --126,80,50 --126,80,58 --126,80,66 --126,80,74 --126,80,82 --126,80,90 --126,80,98 --126,80,106 --126,80,114 --126,80,122 --126,80,130 --126,80,138 --126,80,146 --118,80,-150 --118,80,-142 --118,80,-134 --118,80,-126 --118,80,-118 --118,80,-110 --118,80,-102 --118,80,-94 --118,80,-86 --118,80,-78 --118,80,-70 --118,80,-62 --118,80,-54 --118,80,-46 --118,80,-38 --118,80,-30 --118,80,-22 --118,80,-14 --118,80,-6 --118,80,2 --118,80,10 --118,80,18 --118,80,26 --118,80,34 --118,80,42 --118,80,50 --118,80,58 --118,80,66 --118,80,74 --118,80,82 --118,80,90 --118,80,98 --118,80,106 --118,80,114 --118,80,122 --118,80,130 --118,80,138 --118,80,146 --110,80,-150 --110,80,-142 --110,80,-134 --110,80,-126 --110,80,-118 --110,80,-110 --110,80,-102 --110,80,-94 --110,80,-86 --110,80,-78 --110,80,-70 --110,80,-62 --110,80,-54 --110,80,-46 --110,80,-38 --110,80,-30 --110,80,-22 --110,80,-14 --110,80,-6 --110,80,2 --110,80,10 --110,80,18 --110,80,26 --110,80,34 --110,80,42 --110,80,50 --110,80,58 --110,80,66 --110,80,74 --110,80,82 --110,80,90 --110,80,98 --110,80,106 --110,80,114 --110,80,122 --110,80,130 --110,80,138 --110,80,146 --102,80,-150 --102,80,-142 --102,80,-134 --102,80,-126 --102,80,-118 --102,80,-110 --102,80,-102 --102,80,-94 --102,80,-86 --102,80,-78 --102,80,-70 --102,80,-62 --102,80,-54 --102,80,-46 --102,80,-38 --102,80,-30 --102,80,-22 --102,80,-14 --102,80,-6 --102,80,2 --102,80,10 --102,80,18 --102,80,26 --102,80,34 --102,80,42 --102,80,50 --102,80,58 --102,80,66 --102,80,74 --102,80,82 --102,80,90 --102,80,98 --102,80,106 --102,80,114 --102,80,122 --102,80,130 --102,80,138 --102,80,146 --94,80,-150 --94,80,-142 --94,80,-134 --94,80,-126 --94,80,-118 --94,80,-110 --94,80,-102 --94,80,-94 --94,80,-86 --94,80,-78 --94,80,-70 --94,80,-62 --94,80,-54 --94,80,-46 --94,80,-38 --94,80,-30 --94,80,-22 --94,80,-14 --94,80,-6 --94,80,2 --94,80,10 --94,80,18 --94,80,26 --94,80,34 --94,80,42 --94,80,50 --94,80,58 --94,80,66 --94,80,74 --94,80,82 --94,80,90 --94,80,98 --94,80,106 --94,80,114 --94,80,122 --94,80,130 --94,80,138 --94,80,146 --86,80,-150 --86,80,-142 --86,80,-134 --86,80,-126 --86,80,-118 --86,80,-110 --86,80,-102 --86,80,-94 --86,80,-86 --86,80,-78 --86,80,-70 --86,80,-62 --86,80,-54 --86,80,-46 --86,80,-38 --86,80,-30 --86,80,-22 --86,80,-14 --86,80,-6 --86,80,2 --86,80,10 --86,80,18 --86,80,26 --86,80,34 --86,80,42 --86,80,50 --86,80,58 --86,80,66 --86,80,74 --86,80,82 --86,80,90 --86,80,98 --86,80,106 --86,80,114 --86,80,122 --86,80,130 --86,80,138 --86,80,146 --78,80,-150 --78,80,-142 --78,80,-134 --78,80,-126 --78,80,-118 --78,80,-110 --78,80,-102 --78,80,-94 --78,80,-86 --78,80,-78 --78,80,-70 --78,80,-62 --78,80,-54 --78,80,-46 --78,80,-38 --78,80,-30 --78,80,-22 --78,80,-14 --78,80,-6 --78,80,2 --78,80,10 --78,80,18 --78,80,26 --78,80,34 --78,80,42 --78,80,50 --78,80,58 --78,80,66 --78,80,74 --78,80,82 --78,80,90 --78,80,98 --78,80,106 --78,80,114 --78,80,122 --78,80,130 --78,80,138 --78,80,146 --70,80,-150 --70,80,-142 --70,80,-134 --70,80,-126 --70,80,-118 --70,80,-110 --70,80,-102 --70,80,-94 --70,80,-86 --70,80,-78 --70,80,-70 --70,80,-62 --70,80,-54 --70,80,-46 --70,80,-38 --70,80,-30 --70,80,-22 --70,80,-14 --70,80,-6 --70,80,2 --70,80,10 --70,80,18 --70,80,26 --70,80,34 --70,80,42 --70,80,50 --70,80,58 --70,80,66 --70,80,74 --70,80,82 --70,80,90 --70,80,98 --70,80,106 --70,80,114 --70,80,122 --70,80,130 --70,80,138 --70,80,146 --62,80,-150 --62,80,-142 --62,80,-134 --62,80,-126 --62,80,-118 --62,80,-110 --62,80,-102 --62,80,-94 --62,80,-86 --62,80,-78 --62,80,-70 --62,80,-62 --62,80,-54 --62,80,-46 --62,80,-38 --62,80,-30 --62,80,-22 --62,80,-14 --62,80,-6 --62,80,2 --62,80,10 --62,80,18 --62,80,26 --62,80,34 --62,80,42 --62,80,50 --62,80,58 --62,80,66 --62,80,74 --62,80,82 --62,80,90 --62,80,98 --62,80,106 --62,80,114 --62,80,122 --62,80,130 --62,80,138 --62,80,146 --54,80,-150 --54,80,-142 --54,80,-134 --54,80,-126 --54,80,-118 --54,80,-110 --54,80,-102 --54,80,-94 --54,80,-86 --54,80,-78 --54,80,-70 --54,80,-62 --54,80,-54 --54,80,-46 --54,80,-38 --54,80,-30 --54,80,-22 --54,80,-14 --54,80,-6 --54,80,2 --54,80,10 --54,80,18 --54,80,26 --54,80,34 --54,80,42 --54,80,50 --54,80,58 --54,80,66 --54,80,74 --54,80,82 --54,80,90 --54,80,98 --54,80,106 --54,80,114 --54,80,122 --54,80,130 --54,80,138 --54,80,146 --46,80,-150 --46,80,-142 --46,80,-134 --46,80,-126 --46,80,-118 --46,80,-110 --46,80,-102 --46,80,-94 --46,80,-86 --46,80,-78 --46,80,-70 --46,80,-62 --46,80,-54 --46,80,-46 --46,80,-38 --46,80,-30 --46,80,-22 --46,80,-14 --46,80,-6 --46,80,2 --46,80,10 --46,80,18 --46,80,26 --46,80,34 --46,80,42 --46,80,50 --46,80,58 --46,80,66 --46,80,74 --46,80,82 --46,80,90 --46,80,98 --46,80,106 --46,80,114 --46,80,122 --46,80,130 --46,80,138 --46,80,146 --38,80,-150 --38,80,-142 --38,80,-134 --38,80,-126 --38,80,-118 --38,80,-110 --38,80,-102 --38,80,-94 --38,80,-86 --38,80,-78 --38,80,-70 --38,80,-62 --38,80,-54 --38,80,-46 --38,80,-38 --38,80,-30 --38,80,-22 --38,80,-14 --38,80,-6 --38,80,2 --38,80,10 --38,80,18 --38,80,26 --38,80,34 --38,80,42 --38,80,50 --38,80,58 --38,80,66 --38,80,74 --38,80,82 --38,80,90 --38,80,98 --38,80,106 --38,80,114 --38,80,122 --38,80,130 --38,80,138 --38,80,146 --30,80,-150 --30,80,-142 --30,80,-134 --30,80,-126 --30,80,-118 --30,80,-110 --30,80,-102 --30,80,-94 --30,80,-86 --30,80,-78 --30,80,-70 --30,80,-62 --30,80,-54 --30,80,-46 --30,80,-38 --30,80,-30 --30,80,-22 --30,80,-14 --30,80,-6 --30,80,2 --30,80,10 --30,80,18 --30,80,26 --30,80,34 --30,80,42 --30,80,50 --30,80,58 --30,80,66 --30,80,74 --30,80,82 --30,80,90 --30,80,98 --30,80,106 --30,80,114 --30,80,122 --30,80,130 --30,80,138 --30,80,146 --22,80,-150 --22,80,-142 --22,80,-134 --22,80,-126 --22,80,-118 --22,80,-110 --22,80,-102 --22,80,-94 --22,80,-86 --22,80,-78 --22,80,-70 --22,80,-62 --22,80,-54 --22,80,-46 --22,80,-38 --22,80,-30 --22,80,-22 --22,80,-14 --22,80,-6 --22,80,2 --22,80,10 --22,80,18 --22,80,26 --22,80,34 --22,80,42 --22,80,50 --22,80,58 --22,80,66 --22,80,74 --22,80,82 --22,80,90 --22,80,98 --22,80,106 --22,80,114 --22,80,122 --22,80,130 --22,80,138 --22,80,146 --14,80,-150 --14,80,-142 --14,80,-134 --14,80,-126 --14,80,-118 --14,80,-110 --14,80,-102 --14,80,-94 --14,80,-86 --14,80,-78 --14,80,-70 --14,80,-62 --14,80,-54 --14,80,-46 --14,80,-38 --14,80,-30 --14,80,-22 --14,80,-14 --14,80,-6 --14,80,2 --14,80,10 --14,80,18 --14,80,26 --14,80,34 --14,80,42 --14,80,50 --14,80,58 --14,80,66 --14,80,74 --14,80,82 --14,80,90 --14,80,98 --14,80,106 --14,80,114 --14,80,122 --14,80,130 --14,80,138 --14,80,146 --6,80,-150 --6,80,-142 --6,80,-134 --6,80,-126 --6,80,-118 --6,80,-110 --6,80,-102 --6,80,-94 --6,80,-86 --6,80,-78 --6,80,-70 --6,80,-62 --6,80,-54 --6,80,-46 --6,80,-38 --6,80,-30 --6,80,-22 --6,80,-14 --6,80,-6 --6,80,2 --6,80,10 --6,80,18 --6,80,26 --6,80,34 --6,80,42 --6,80,50 --6,80,58 --6,80,66 --6,80,74 --6,80,82 --6,80,90 --6,80,98 --6,80,106 --6,80,114 --6,80,122 --6,80,130 --6,80,138 --6,80,146 -2,80,-150 -2,80,-142 -2,80,-134 -2,80,-126 -2,80,-118 -2,80,-110 -2,80,-102 -2,80,-94 -2,80,-86 -2,80,-78 -2,80,-70 -2,80,-62 -2,80,-54 -2,80,-46 -2,80,-38 -2,80,-30 -2,80,-22 -2,80,-14 -2,80,-6 -2,80,2 -2,80,10 -2,80,18 -2,80,26 -2,80,34 -2,80,42 -2,80,50 -2,80,58 -2,80,66 -2,80,74 -2,80,82 -2,80,90 -2,80,98 -2,80,106 -2,80,114 -2,80,122 -2,80,130 -2,80,138 -2,80,146 -10,80,-150 -10,80,-142 -10,80,-134 -10,80,-126 -10,80,-118 -10,80,-110 -10,80,-102 -10,80,-94 -10,80,-86 -10,80,-78 -10,80,-70 -10,80,-62 -10,80,-54 -10,80,-46 -10,80,-38 -10,80,-30 -10,80,-22 -10,80,-14 -10,80,-6 -10,80,2 -10,80,10 -10,80,18 -10,80,26 -10,80,34 -10,80,42 -10,80,50 -10,80,58 -10,80,66 -10,80,74 -10,80,82 -10,80,90 -10,80,98 -10,80,106 -10,80,114 -10,80,122 -10,80,130 -10,80,138 -10,80,146 -18,80,-150 -18,80,-142 -18,80,-134 -18,80,-126 -18,80,-118 -18,80,-110 -18,80,-102 -18,80,-94 -18,80,-86 -18,80,-78 -18,80,-70 -18,80,-62 -18,80,-54 -18,80,-46 -18,80,-38 -18,80,-30 -18,80,-22 -18,80,-14 -18,80,-6 -18,80,2 -18,80,10 -18,80,18 -18,80,26 -18,80,34 -18,80,42 -18,80,50 -18,80,58 -18,80,66 -18,80,74 -18,80,82 -18,80,90 -18,80,98 -18,80,106 -18,80,114 -18,80,122 -18,80,130 -18,80,138 -18,80,146 -26,80,-150 -26,80,-142 -26,80,-134 -26,80,-126 -26,80,-118 -26,80,-110 -26,80,-102 -26,80,-94 -26,80,-86 -26,80,-78 -26,80,-70 -26,80,-62 -26,80,-54 -26,80,-46 -26,80,-38 -26,80,-30 -26,80,-22 -26,80,-14 -26,80,-6 -26,80,2 -26,80,10 -26,80,18 -26,80,26 -26,80,34 -26,80,42 -26,80,50 -26,80,58 -26,80,66 -26,80,74 -26,80,82 -26,80,90 -26,80,98 -26,80,106 -26,80,114 -26,80,122 -26,80,130 -26,80,138 -26,80,146 -34,80,-150 -34,80,-142 -34,80,-134 -34,80,-126 -34,80,-118 -34,80,-110 -34,80,-102 -34,80,-94 -34,80,-86 -34,80,-78 -34,80,-70 -34,80,-62 -34,80,-54 -34,80,-46 -34,80,-38 -34,80,-30 -34,80,-22 -34,80,-14 -34,80,-6 -34,80,2 -34,80,10 -34,80,18 -34,80,26 -34,80,34 -34,80,42 -34,80,50 -34,80,58 -34,80,66 -34,80,74 -34,80,82 -34,80,90 -34,80,98 -34,80,106 -34,80,114 -34,80,122 -34,80,130 -34,80,138 -34,80,146 -42,80,-150 -42,80,-142 -42,80,-134 -42,80,-126 -42,80,-118 -42,80,-110 -42,80,-102 -42,80,-94 -42,80,-86 -42,80,-78 -42,80,-70 -42,80,-62 -42,80,-54 -42,80,-46 -42,80,-38 -42,80,-30 -42,80,-22 -42,80,-14 -42,80,-6 -42,80,2 -42,80,10 -42,80,18 -42,80,26 -42,80,34 -42,80,42 -42,80,50 -42,80,58 -42,80,66 -42,80,74 -42,80,82 -42,80,90 -42,80,98 -42,80,106 -42,80,114 -42,80,122 -42,80,130 -42,80,138 -42,80,146 -50,80,-150 -50,80,-142 -50,80,-134 -50,80,-126 -50,80,-118 -50,80,-110 -50,80,-102 -50,80,-94 -50,80,-86 -50,80,-78 -50,80,-70 -50,80,-62 -50,80,-54 -50,80,-46 -50,80,-38 -50,80,-30 -50,80,-22 -50,80,-14 -50,80,-6 -50,80,2 -50,80,10 -50,80,18 -50,80,26 -50,80,34 -50,80,42 -50,80,50 -50,80,58 -50,80,66 -50,80,74 -50,80,82 -50,80,90 -50,80,98 -50,80,106 -50,80,114 -50,80,122 -50,80,130 -50,80,138 -50,80,146 -58,80,-150 -58,80,-142 -58,80,-134 -58,80,-126 -58,80,-118 -58,80,-110 -58,80,-102 -58,80,-94 -58,80,-86 -58,80,-78 -58,80,-70 -58,80,-62 -58,80,-54 -58,80,-46 -58,80,-38 -58,80,-30 -58,80,-22 -58,80,-14 -58,80,-6 -58,80,2 -58,80,10 -58,80,18 -58,80,26 -58,80,34 -58,80,42 -58,80,50 -58,80,58 -58,80,66 -58,80,74 -58,80,82 -58,80,90 -58,80,98 -58,80,106 -58,80,114 -58,80,122 -58,80,130 -58,80,138 -58,80,146 -66,80,-150 -66,80,-142 -66,80,-134 -66,80,-126 -66,80,-118 -66,80,-110 -66,80,-102 -66,80,-94 -66,80,-86 -66,80,-78 -66,80,-70 -66,80,-62 -66,80,-54 -66,80,-46 -66,80,-38 -66,80,-30 -66,80,-22 -66,80,-14 -66,80,-6 -66,80,2 -66,80,10 -66,80,18 -66,80,26 -66,80,34 -66,80,42 -66,80,50 -66,80,58 -66,80,66 -66,80,74 -66,80,82 -66,80,90 -66,80,98 -66,80,106 -66,80,114 -66,80,122 -66,80,130 -66,80,138 -66,80,146 -74,80,-150 -74,80,-142 -74,80,-134 -74,80,-126 -74,80,-118 -74,80,-110 -74,80,-102 -74,80,-94 -74,80,-86 -74,80,-78 -74,80,-70 -74,80,-62 -74,80,-54 -74,80,-46 -74,80,-38 -74,80,-30 -74,80,-22 -74,80,-14 -74,80,-6 -74,80,2 -74,80,10 -74,80,18 -74,80,26 -74,80,34 -74,80,42 -74,80,50 -74,80,58 -74,80,66 -74,80,74 -74,80,82 -74,80,90 -74,80,98 -74,80,106 -74,80,114 -74,80,122 -74,80,130 -74,80,138 -74,80,146 -82,80,-150 -82,80,-142 -82,80,-134 -82,80,-126 -82,80,-118 -82,80,-110 -82,80,-102 -82,80,-94 -82,80,-86 -82,80,-78 -82,80,-70 -82,80,-62 -82,80,-54 -82,80,-46 -82,80,-38 -82,80,-30 -82,80,-22 -82,80,-14 -82,80,-6 -82,80,2 -82,80,10 -82,80,18 -82,80,26 -82,80,34 -82,80,42 -82,80,50 -82,80,58 -82,80,66 -82,80,74 -82,80,82 -82,80,90 -82,80,98 -82,80,106 -82,80,114 -82,80,122 -82,80,130 -82,80,138 -82,80,146 -90,80,-150 -90,80,-142 -90,80,-134 -90,80,-126 -90,80,-118 -90,80,-110 -90,80,-102 -90,80,-94 -90,80,-86 -90,80,-78 -90,80,-70 -90,80,-62 -90,80,-54 -90,80,-46 -90,80,-38 -90,80,-30 -90,80,-22 -90,80,-14 -90,80,-6 -90,80,2 -90,80,10 -90,80,18 -90,80,26 -90,80,34 -90,80,42 -90,80,50 -90,80,58 -90,80,66 -90,80,74 -90,80,82 -90,80,90 -90,80,98 -90,80,106 -90,80,114 -90,80,122 -90,80,130 -90,80,138 -90,80,146 -98,80,-150 -98,80,-142 -98,80,-134 -98,80,-126 -98,80,-118 -98,80,-110 -98,80,-102 -98,80,-94 -98,80,-86 -98,80,-78 -98,80,-70 -98,80,-62 -98,80,-54 -98,80,-46 -98,80,-38 -98,80,-30 -98,80,-22 -98,80,-14 -98,80,-6 -98,80,2 -98,80,10 -98,80,18 -98,80,26 -98,80,34 -98,80,42 -98,80,50 -98,80,58 -98,80,66 -98,80,74 -98,80,82 -98,80,90 -98,80,98 -98,80,106 -98,80,114 -98,80,122 -98,80,130 -98,80,138 -98,80,146 -106,80,-150 -106,80,-142 -106,80,-134 -106,80,-126 -106,80,-118 -106,80,-110 -106,80,-102 -106,80,-94 -106,80,-86 -106,80,-78 -106,80,-70 -106,80,-62 -106,80,-54 -106,80,-46 -106,80,-38 -106,80,-30 -106,80,-22 -106,80,-14 -106,80,-6 -106,80,2 -106,80,10 -106,80,18 -106,80,26 -106,80,34 -106,80,42 -106,80,50 -106,80,58 -106,80,66 -106,80,74 -106,80,82 -106,80,90 -106,80,98 -106,80,106 -106,80,114 -106,80,122 -106,80,130 -106,80,138 -106,80,146 -114,80,-150 -114,80,-142 -114,80,-134 -114,80,-126 -114,80,-118 -114,80,-110 -114,80,-102 -114,80,-94 -114,80,-86 -114,80,-78 -114,80,-70 -114,80,-62 -114,80,-54 -114,80,-46 -114,80,-38 -114,80,-30 -114,80,-22 -114,80,-14 -114,80,-6 -114,80,2 -114,80,10 -114,80,18 -114,80,26 -114,80,34 -114,80,42 -114,80,50 -114,80,58 -114,80,66 -114,80,74 -114,80,82 -114,80,90 -114,80,98 -114,80,106 -114,80,114 -114,80,122 -114,80,130 -114,80,138 -114,80,146 -122,80,-150 -122,80,-142 -122,80,-134 -122,80,-126 -122,80,-118 -122,80,-110 -122,80,-102 -122,80,-94 -122,80,-86 -122,80,-78 -122,80,-70 -122,80,-62 -122,80,-54 -122,80,-46 -122,80,-38 -122,80,-30 -122,80,-22 -122,80,-14 -122,80,-6 -122,80,2 -122,80,10 -122,80,18 -122,80,26 -122,80,34 -122,80,42 -122,80,50 -122,80,58 -122,80,66 -122,80,74 -122,80,82 -122,80,90 -122,80,98 -122,80,106 -122,80,114 -122,80,122 -122,80,130 -122,80,138 -122,80,146 -130,80,-150 -130,80,-142 -130,80,-134 -130,80,-126 -130,80,-118 -130,80,-110 -130,80,-102 -130,80,-94 -130,80,-86 -130,80,-78 -130,80,-70 -130,80,-62 -130,80,-54 -130,80,-46 -130,80,-38 -130,80,-30 -130,80,-22 -130,80,-14 -130,80,-6 -130,80,2 -130,80,10 -130,80,18 -130,80,26 -130,80,34 -130,80,42 -130,80,50 -130,80,58 -130,80,66 -130,80,74 -130,80,82 -130,80,90 -130,80,98 -130,80,106 -130,80,114 -130,80,122 -130,80,130 -130,80,138 -130,80,146 -138,80,-150 -138,80,-142 -138,80,-134 -138,80,-126 -138,80,-118 -138,80,-110 -138,80,-102 -138,80,-94 -138,80,-86 -138,80,-78 -138,80,-70 -138,80,-62 -138,80,-54 -138,80,-46 -138,80,-38 -138,80,-30 -138,80,-22 -138,80,-14 -138,80,-6 -138,80,2 -138,80,10 -138,80,18 -138,80,26 -138,80,34 -138,80,42 -138,80,50 -138,80,58 -138,80,66 -138,80,74 -138,80,82 -138,80,90 -138,80,98 -138,80,106 -138,80,114 -138,80,122 -138,80,130 -138,80,138 -138,80,146 -146,80,-150 -146,80,-142 -146,80,-134 -146,80,-126 -146,80,-118 -146,80,-110 -146,80,-102 -146,80,-94 -146,80,-86 -146,80,-78 -146,80,-70 -146,80,-62 -146,80,-54 -146,80,-46 -146,80,-38 -146,80,-30 -146,80,-22 -146,80,-14 -146,80,-6 -146,80,2 -146,80,10 -146,80,18 -146,80,26 -146,80,34 -146,80,42 -146,80,50 -146,80,58 -146,80,66 -146,80,74 -146,80,82 -146,80,90 -146,80,98 -146,80,106 -146,80,114 -146,80,122 -146,80,130 -146,80,138 -146,80,146 \ No newline at end of file diff --git a/computer/13/fluid_state.lua b/computer/13/fluid_state.lua index 2a82c79..329dbe1 100644 --- a/computer/13/fluid_state.lua +++ b/computer/13/fluid_state.lua @@ -1,7 +1,7 @@ return { { name = "water", - amount = 1409400, + amount = 0, }, { name = "blood", @@ -9,7 +9,7 @@ return { }, { name = "molten_brass", - amount = 2991, + amount = 0, }, { name = "lava", @@ -29,7 +29,7 @@ return { }, { name = "molten_rose_gold", - amount = 9000, + amount = 0, }, { amount = 0, diff --git a/computer/13/fluids.lua b/computer/13/fluids.lua index 3c01cbc..c86b929 100644 --- a/computer/13/fluids.lua +++ b/computer/13/fluids.lua @@ -78,6 +78,15 @@ function getFluidAmountInTanks(type, tanks) return 0 end +function tanksAreEmpty(tanks) + for _, fluid in pairs(tanks) do + if fluid.amount > 0 then + return false + end + end + return true +end + function pumpToDevices(enable) goTo(vector.new(4, 0, -1)) -- clutches invert the signal diff --git a/computer/13/inventory.lua b/computer/13/inventory.lua index a636364..d3d7e3c 100644 --- a/computer/13/inventory.lua +++ b/computer/13/inventory.lua @@ -116,11 +116,23 @@ end function emptyInventory() for i = 1, 16 do - if turtle.getItemCount(i) ~= 0 then + local item = turtle.getItemDetail(i); + if item then turtle.select(i) - chest_items = pFront("items") - turtle.drop() + local chest_items = pFront("list") + local done = false + for slot, citem in pairs(chest_items) do + if citem.name == item.name and pFront("getItemLimit", slot) - citem.count >= item.count then + turtle.dropDown() + pFront("pullItems", "bottom", 1, 64, slot) + done = true + break + end + end + if not done then + turtle.drop() + end end end end \ No newline at end of file diff --git a/computer/13/machines.lua b/computer/13/machines.lua index 5a6ce20..9386cf3 100644 --- a/computer/13/machines.lua +++ b/computer/13/machines.lua @@ -209,9 +209,9 @@ function melt(_, product, yield) connectTankOrAssign(product) pumpToTanks(true) goTo(melter_pos, "north") - while #pFront("items") > 0 do - sleep(1) - end + repeat + sleep(0.5) + until tanksAreEmpty(pFront("tanks")) pumpToTanks(false) fluidInvAdd(product, yield) end diff --git a/computer/13/recipes.txt b/computer/13/recipes.txt index 8102b9d..a35d2ea 100644 --- a/computer/13/recipes.txt +++ b/computer/13/recipes.txt @@ -522,6 +522,11 @@ base bucket steps: spout water:1000 +copper_ingot +yield 9 +steps: +craft copper_block + brass_tunnel yield 2 steps: diff --git a/computer/13/secretvirus b/computer/13/secretvirus new file mode 100644 index 0000000..d413b3f --- /dev/null +++ b/computer/13/secretvirus @@ -0,0 +1,35 @@ +speaker = peripheral.wrap("left") +mobs = { + "zombie", + "cow", + "pig", + "skeleton", + "spider", + "sheep" +} +function sound() +while true do + if math.random(10)>5 then + speaker.playSound("entity."..mobs[math.random(#mobs)]..".ambient",1) + elseif math.random(100) < 95 then + --noteblock.setInstrument(instruments[math.random(#instruments)]) + --noteblock.play() + --noteblock.setNote(math.random(24)) + elseif math.random(100) < 50 then + for i = 1,5 do + speaker.playSound("entity.creeper.step") + sleep(0.05) + end + speaker.playSound("entity.creeper.primed") + else + --speaker.playSound("BOOM") + end + sleep(math.random(10,20)) + --os.reboot() +end +end +return function() + parallel.waitForAll( + sound + ) +end diff --git a/computer/13/sfx.lua b/computer/13/sfx.lua index 451d414..55b482e 100644 --- a/computer/13/sfx.lua +++ b/computer/13/sfx.lua @@ -8,15 +8,17 @@ return { speaker.playNote("pling",volume,8) sleep(0.1) speaker.playNote("pling",volume,16) + speaker.playSound("entity.cat.beg_for_food") end, fail = function () + speaker.playSound("entity.cat.death") speaker.playNote("didgeridoo", volume, 6) sleep(0.2) speaker.playNote("didgeridoo", volume, 3) end, eat = function () - speaker.playSound("entity.generic.eat") + speaker.playSound("entity.cat.eat") sleep(0.1) speaker.playSound("entity.generic.eat") end -} \ No newline at end of file +} diff --git a/computer/13/startup.lua b/computer/13/startup/startup.lua similarity index 77% rename from computer/13/startup.lua rename to computer/13/startup/startup.lua index 82b1fde..55c370f 100644 --- a/computer/13/startup.lua +++ b/computer/13/startup/startup.lua @@ -1,10 +1,10 @@ term.clear() term.setCursorPos(1,1) _G.meow = function() - peripheral.call("left","playSound","entity.cat.ambient") + peripheral.call("left","playSound","entity.cat.ambient") end parallel.waitForAny( - function() + function() shell.run("shell") end, function() @@ -16,5 +16,7 @@ parallel.waitForAny( end end end + --, + --require("/secretvirus") ) os.shutdown() diff --git a/computer/13/todo.txt b/computer/13/todo.txt index 2655f88..8802af9 100644 --- a/computer/13/todo.txt +++ b/computer/13/todo.txt @@ -3,7 +3,7 @@ stock keeping keep spout filled during repeated operations multi-item crafting -push items into existing stacks in chest +-push items into existing stacks in chest pull items from multiple stacks if necessary -refuel self refuel furnace diff --git a/computer/13/work.lua b/computer/13/work.lua index e452e31..6da3649 100644 --- a/computer/13/work.lua +++ b/computer/13/work.lua @@ -59,12 +59,7 @@ function doRecipe(recipe) end end goHome() - for i = 1, 16 do - if turtle.getItemCount(i) ~= 0 then - turtle.select(i) - turtle.drop() - end - end + emptyInventory() if turtle.getFuelLevel() < 1000 then print("refueling") goTo(vector.new(4, 0, -2), "east") diff --git a/computer/15/.settings b/computer/15/.settings index 4bc0f68..e05b163 100644 --- a/computer/15/.settings +++ b/computer/15/.settings @@ -1,4 +1,5 @@ { + [ "shell.allow_disk_startup" ] = false, [ "motd.enable" ] = false, - [ "motd.path" ] = "/rom/motd.txt:/motd.txt:/rom/cccbridge_motd.txt", + [ "motd.path" ] = "/rom/motd.txt:/motd.txt:/rom/cccbridge_motd.txt:/rom/cccbridge_motd.txt", } \ No newline at end of file diff --git a/computer/15/bg.lua b/computer/15/bg.lua new file mode 100644 index 0000000..ccb03ff --- /dev/null +++ b/computer/15/bg.lua @@ -0,0 +1,11 @@ +if not shell.openTab then + printError("Requires multishell") + return +end + +local tArgs = { ... } +if #tArgs > 0 then + shell.openTab(table.unpack(tArgs)) +else + shell.openTab("shell") +end diff --git a/computer/15/dirt.lua b/computer/15/dirt.lua new file mode 100644 index 0000000..56dc978 --- /dev/null +++ b/computer/15/dirt.lua @@ -0,0 +1,80 @@ +basin = peripheral.wrap("top") + +base_item = "dirt" + +levels = { + compressed = 1, + double_compressed = 2, + triple_compressed = 3, + quadruple_compressed = 4, + quintuple_compressed = 5, + sextuple_compressed = 6, + septuple_compressed = 7, + octuple_compressed = 8, +} + +unpacked = { + 9, + 81, + 729, + 6561, + 59049, + 531441, + 4782969, + 43046721 +} + +last_total = 0 +last_estimate_time = 0 +estimate_interval_h = 30/3600 +estimated_speed = 0 + +function update() + local counts = {} + local raw = basin.list() + local total = 0 + for _, item in pairs(raw) do + name = string.sub(item.name, string.len("compressor:_"), -string.len(base_item)-2) + count = item.count + if levels[name] then + counts[levels[name]] = count + total = total + unpacked[levels[name]] * count + end + end + + local time = os.time("utc") + if time - last_estimate_time >= estimate_interval_h then + last_estimate_time = time + estimated_speed = (total - last_total) / (estimate_interval_h * 3600) + last_total = total + end + + -- draw + + term.clear() + term.setCursorPos(1,1) + print(base_item, "progress") + for level = 1, 7 do + local count = counts[level] or 0 + local bar = string.rep("#", count) .. string.rep(".", 9 - count) + print("lvl", level, bar) + end + print("total: ", total) + local progress = math.floor(total / unpacked[8] * 10000) / 100 + print("progress to octuple: " .. progress .. "%") + print("speed:", estimated_speed, base_item.."/s") + local eta = math.floor((unpacked[8] - progress) / estimated_speed + 0.5) + local eta_s = eta % 60 + local eta_m = math.floor(eta / 60) % 60 + local eta_h = math.floor(eta / 3600) % 24 + local eta_d = math.floor(eta / 86400) + -- print(eta) + print("time remaining: ", eta_d .. "d", eta_h .. ":" .. eta_m .. ":" .. eta_s) + local n = math.floor(30 * (time - last_estimate_time) / estimate_interval_h) + print(string.rep(",", n)..string.rep(".", 32-n)) +end + +while true do + update() + sleep(2) +end \ No newline at end of file diff --git a/computer/15/lock.lua b/computer/15/lock.lua new file mode 100644 index 0000000..fee1909 --- /dev/null +++ b/computer/15/lock.lua @@ -0,0 +1,36 @@ +term.clear() +term.setCursorPos(1,1) +print("Chaos Gremlin Protection System") +local secret = "" +local input = "" +write("log in: ") +while true do + local event, extra = os.pullEventRaw() + if event == "terminate" then + print("\nnice try") + write("log in: ") + input = "" + elseif event == "char" then + input = input .. extra + write("*") + elseif event == "key" then + if extra == 259 and #input > 0 then + x, y = term.getCursorPos() + x = x - 1 + term.setCursorPos(x, y) + write(" ") + term.setCursorPos(x, y) + input = string.sub(input, 1, string.len(input) - 1) + elseif extra == 257 then + if input == secret then + break + else + print("\nbegone, intruder\n\""..input.."\" is wrong") + write("log in: ") + input = "" + end + end + end +end + +print() \ No newline at end of file diff --git a/computer/15/logout.lua b/computer/15/logout.lua deleted file mode 100644 index f224edb..0000000 --- a/computer/15/logout.lua +++ /dev/null @@ -1 +0,0 @@ -require("startup") diff --git a/computer/15/multishell.lua b/computer/15/multishell.lua new file mode 100644 index 0000000..f2a9851 --- /dev/null +++ b/computer/15/multishell.lua @@ -0,0 +1,429 @@ +--- Multishell allows multiple programs to be run at the same time. +-- +-- When multiple programs are running, it displays a tab bar at the top of the +-- screen, which allows you to switch between programs. New programs can be +-- launched using the `fg` or `bg` programs, or using the @{shell.openTab} and +-- @{multishell.launch} functions. +-- +-- Each process is identified by its ID, which corresponds to its position in +-- the tab list. As tabs may be opened and closed, this ID is _not_ constant +-- over a program's run. As such, be careful not to use stale IDs. +-- +-- As with @{shell}, @{multishell} is not a "true" API. Instead, it is a +-- standard program, which launches a shell and injects its API into the shell's +-- environment. This API is not available in the global environment, and so is +-- not available to @{os.loadAPI|APIs}. +-- +-- @module[module] multishell +-- @since 1.6 + +local expect = dofile("rom/modules/main/cc/expect.lua").expect + +-- Setup process switching +local parentTerm = term.current() +local w, h = parentTerm.getSize() + +local tProcesses = {} +local nCurrentProcess = nil +local nRunningProcess = nil +local bShowMenu = false +local bWindowsResized = false +local nScrollPos = 1 +local bScrollRight = false + +local function selectProcess(n) + if nCurrentProcess ~= n then + if nCurrentProcess then + local tOldProcess = tProcesses[nCurrentProcess] + tOldProcess.window.setVisible(false) + end + nCurrentProcess = n + if nCurrentProcess then + local tNewProcess = tProcesses[nCurrentProcess] + tNewProcess.window.setVisible(true) + tNewProcess.bInteracted = true + end + end +end + +local function setProcessTitle(n, sTitle) + tProcesses[n].sTitle = sTitle +end + +local function resumeProcess(nProcess, sEvent, ...) + local tProcess = tProcesses[nProcess] + local sFilter = tProcess.sFilter + if sFilter == nil or sFilter == sEvent or sEvent == "terminate" then + local nPreviousProcess = nRunningProcess + nRunningProcess = nProcess + term.redirect(tProcess.terminal) + local ok, result = coroutine.resume(tProcess.co, sEvent, ...) + tProcess.terminal = term.current() + if ok then + tProcess.sFilter = result + else + printError(result) + end + nRunningProcess = nPreviousProcess + end +end + +local function launchProcess(bFocus, tProgramEnv, sProgramPath, ...) + local tProgramArgs = table.pack(...) + local nProcess = #tProcesses + 1 + local tProcess = {} + tProcess.sTitle = fs.getName(sProgramPath) + if bShowMenu then + tProcess.window = window.create(parentTerm, 1, 2, w, h - 1, false) + else + tProcess.window = window.create(parentTerm, 1, 1, w, h, false) + end + tProcess.co = coroutine.create(function() + os.run(tProgramEnv, sProgramPath, table.unpack(tProgramArgs, 1, tProgramArgs.n)) + if not tProcess.bInteracted then + term.setCursorBlink(false) + print("Press any key to continue") + os.pullEvent("char") + end + end) + tProcess.sFilter = nil + tProcess.terminal = tProcess.window + tProcess.bInteracted = false + tProcesses[nProcess] = tProcess + if bFocus then + selectProcess(nProcess) + end + resumeProcess(nProcess) + return nProcess +end + +local function cullProcess(nProcess) + local tProcess = tProcesses[nProcess] + if coroutine.status(tProcess.co) == "dead" then + if nCurrentProcess == nProcess then + selectProcess(nil) + end + table.remove(tProcesses, nProcess) + if nCurrentProcess == nil then + if nProcess > 1 then + selectProcess(nProcess - 1) + elseif #tProcesses > 0 then + selectProcess(1) + end + end + if nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + end + return true + end + return false +end + +local function cullProcesses() + local culled = false + for n = #tProcesses, 1, -1 do + culled = culled or cullProcess(n) + end + return culled +end + +-- Setup the main menu +local menuMainTextColor, menuMainBgColor, menuOtherTextColor, menuOtherBgColor +if parentTerm.isColor() then + menuMainTextColor, menuMainBgColor = colors.yellow, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +else + menuMainTextColor, menuMainBgColor = colors.white, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +end + +local function redrawMenu() + if bShowMenu then + -- Draw menu + parentTerm.setCursorPos(1, 1) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.clearLine() + local nCharCount = 0 + local nSize = parentTerm.getSize() + if nScrollPos ~= 1 then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.write("<") + nCharCount = 1 + end + for n = nScrollPos, #tProcesses do + if n == nCurrentProcess then + parentTerm.setTextColor(menuMainTextColor) + parentTerm.setBackgroundColor(menuMainBgColor) + else + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + end + parentTerm.write(" " .. tProcesses[n].sTitle .. " ") + nCharCount = nCharCount + #tProcesses[n].sTitle + 2 + end + if nCharCount > nSize then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.setCursorPos(nSize, 1) + parentTerm.write(">") + bScrollRight = true + else + bScrollRight = false + end + + -- Put the cursor back where it should be + local tProcess = tProcesses[nCurrentProcess] + if tProcess then + tProcess.window.restoreCursor() + end + end +end + +local function resizeWindows() + local windowY, windowHeight + if bShowMenu then + windowY = 2 + windowHeight = h - 1 + else + windowY = 1 + windowHeight = h + end + for n = 1, #tProcesses do + local tProcess = tProcesses[n] + local x, y = tProcess.window.getCursorPos() + if y > windowHeight then + tProcess.window.scroll(y - windowHeight) + tProcess.window.setCursorPos(x, windowHeight) + end + tProcess.window.reposition(1, windowY, w, windowHeight) + end + bWindowsResized = true +end + +local function setMenuVisible(bVis) + if bShowMenu ~= bVis then + bShowMenu = bVis + resizeWindows() + redrawMenu() + end +end + +local multishell = {} --- @export + +--- Get the currently visible process. This will be the one selected on +-- the tab bar. +-- +-- Note, this is different to @{getCurrent}, which returns the process which is +-- currently executing. +-- +-- @treturn number The currently visible process's index. +-- @see setFocus +function multishell.getFocus() + return nCurrentProcess +end + +--- Change the currently visible process. +-- +-- @tparam number n The process index to switch to. +-- @treturn boolean If the process was changed successfully. This will +-- return @{false} if there is no process with this id. +-- @see getFocus +function multishell.setFocus(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + selectProcess(n) + redrawMenu() + return true + end + return false +end + +--- Get the title of the given tab. +-- +-- This starts as the name of the program, but may be changed using +-- @{multishell.setTitle}. +-- @tparam number n The process index. +-- @treturn string|nil The current process title, or @{nil} if the +-- process doesn't exist. +function multishell.getTitle(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + return tProcesses[n].sTitle + end + return nil +end + +--- Set the title of the given process. +-- +-- @tparam number n The process index. +-- @tparam string title The new process title. +-- @see getTitle +-- @usage Change the title of the current process +-- +-- multishell.setTitle(multishell.getCurrent(), "Hello") +function multishell.setTitle(n, title) + expect(1, n, "number") + expect(2, title, "string") + if n >= 1 and n <= #tProcesses then + setProcessTitle(n, title) + redrawMenu() + end +end + +--- Get the index of the currently running process. +-- +-- @treturn number The currently running process. +function multishell.getCurrent() + return nRunningProcess +end + +--- Start a new process, with the given environment, program and arguments. +-- +-- The returned process index is not constant over the program's run. It can be +-- safely used immediately after launching (for instance, to update the title or +-- switch to that tab). However, after your program has yielded, it may no +-- longer be correct. +-- +-- @tparam table tProgramEnv The environment to load the path under. +-- @tparam string sProgramPath The path to the program to run. +-- @param ... Additional arguments to pass to the program. +-- @treturn number The index of the created process. +-- @see os.run +-- @usage Run the "hello" program, and set its title to "Hello!" +-- +-- local id = multishell.launch({}, "/rom/programs/fun/hello.lua") +-- multishell.setTitle(id, "Hello!") +function multishell.launch(tProgramEnv, sProgramPath, ...) + expect(1, tProgramEnv, "table") + expect(2, sProgramPath, "string") + local previousTerm = term.current() + setMenuVisible(#tProcesses + 1 >= 2) + local nResult = launchProcess(false, tProgramEnv, sProgramPath, ...) + redrawMenu() + term.redirect(previousTerm) + return nResult +end + +--- Get the number of processes within this multishell. +-- +-- @treturn number The number of processes. +function multishell.getCount() + return #tProcesses +end + +-- Begin +parentTerm.clear() +setMenuVisible(false) +launchProcess(true, { + ["shell"] = shell, + ["multishell"] = multishell, +}, "/rom/programs/shell.lua") + +-- Run processes +while #tProcesses > 0 do + -- Get the event + local tEventData = table.pack(os.pullEventRaw()) + local sEvent = tEventData[1] + if sEvent == "term_resize" then + -- Resize event + w, h = parentTerm.getSize() + resizeWindows() + redrawMenu() + + elseif sEvent == "char" or sEvent == "key" or sEvent == "key_up" or sEvent == "paste" or sEvent == "terminate" then + -- Keyboard event + -- Passthrough to current process + if tEventData[2] == 290 and sEvent == "key" then + multishell.setFocus((nCurrentProcess or 0) % #tProcesses + 1) + else + resumeProcess(nCurrentProcess, table.unpack(tEventData, 1, tEventData.n)) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + elseif sEvent == "mouse_click" then + -- Click event + local button, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and y == 1 then + -- Switch process + if x == 1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and x == term.getSize() then + nScrollPos = nScrollPos + 1 + redrawMenu() + else + local tabStart = 1 + if nScrollPos ~= 1 then + tabStart = 2 + end + for n = nScrollPos, #tProcesses do + local tabEnd = tabStart + #tProcesses[n].sTitle + 1 + if x >= tabStart and x <= tabEnd then + selectProcess(n) + redrawMenu() + break + end + tabStart = tabEnd + 1 + end + end + else + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, button, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + elseif sEvent == "mouse_drag" or sEvent == "mouse_up" or sEvent == "mouse_scroll" then + -- Other mouse event + local p1, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and sEvent == "mouse_scroll" and y == 1 then + if p1 == -1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and p1 == 1 then + nScrollPos = nScrollPos + 1 + redrawMenu() + end + elseif not (bShowMenu and y == 1) then + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, p1, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + else + -- Other event + -- Passthrough to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, table.unpack(tEventData, 1, tEventData.n)) + end + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + if bWindowsResized then + -- Pass term_resize to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, "term_resize") + end + bWindowsResized = false + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end +end + +-- Shutdown +term.redirect(parentTerm) diff --git a/computer/15/startup.lua b/computer/15/startup.lua index f621b3c..91d6733 100644 --- a/computer/15/startup.lua +++ b/computer/15/startup.lua @@ -1,48 +1,3 @@ -term.clear() -term.setCursorPos(1,1) -print("Chaos Gremlin Protection System") -local secret = "mrrrp" -local input = "" -write("log in: ") -while true do - local event, extra = os.pullEventRaw() - if event == "terminate" then - print("\nnice try") - write("log in: ") - input = "" - elseif event == "char" then - input = input .. extra - write("*") - elseif event == "key" then - if extra == 259 and #input > 0 then - x, y = term.getCursorPos() - x = x - 1 - term.setCursorPos(x, y) - write(" ") - term.setCursorPos(x, y) - input = string.sub(input, 1, string.len(input) - 1) - elseif extra == 257 then - if input == secret then - break - else - print("\nbegone, intruder\n\""..input.."\" is wrong") - write("log in: ") - input = "" - end - end - end -end +--require("multishell") +shell.execute("dirt") -print() --- w = _G.write --- p = _G.print --- _G.write = function(text) --- return w("meow ") --- end --- _G.print = function (...) --- p("meow ") --- end --- b = term.blit --- term.blit = function(text, fg, bg) --- b("meow", fg, bg) --- end diff --git a/computer/18/bg.lua b/computer/18/bg.lua new file mode 100644 index 0000000..fe3760a --- /dev/null +++ b/computer/18/bg.lua @@ -0,0 +1,11 @@ +if not shell.openTab then + printError("Requires multishell") + return +end + +local tArgs = { ... } +if #tArgs > 0 then + shell.openTab(table.unpack(tArgs)) +else + shell.openTab("shell") +end \ No newline at end of file diff --git a/computer/18/multishell.lua b/computer/18/multishell.lua new file mode 100644 index 0000000..e757f51 --- /dev/null +++ b/computer/18/multishell.lua @@ -0,0 +1,431 @@ +--- Multishell allows multiple programs to be run at the same time. +-- +-- When multiple programs are running, it displays a tab bar at the top of the +-- screen, which allows you to switch between programs. New programs can be +-- launched using the `fg` or `bg` programs, or using the @{shell.openTab} and +-- @{multishell.launch} functions. +-- +-- Each process is identified by its ID, which corresponds to its position in +-- the tab list. As tabs may be opened and closed, this ID is _not_ constant +-- over a program's run. As such, be careful not to use stale IDs. +-- +-- As with @{shell}, @{multishell} is not a "true" API. Instead, it is a +-- standard program, which launches a shell and injects its API into the shell's +-- environment. This API is not available in the global environment, and so is +-- not available to @{os.loadAPI|APIs}. +-- +-- @module[module] multishell +-- @since 1.6 + +local expect = dofile("rom/modules/main/cc/expect.lua").expect + +-- Setup process switching +local parentTerm = term.current() +local w, h = parentTerm.getSize() + +local tProcesses = {} +local nCurrentProcess = nil +local nRunningProcess = nil +local bShowMenu = false +local bWindowsResized = false +local nScrollPos = 1 +local bScrollRight = false + +local function selectProcess(n) + if nCurrentProcess ~= n then + if nCurrentProcess then + local tOldProcess = tProcesses[nCurrentProcess] + tOldProcess.window.setVisible(false) + end + nCurrentProcess = n + if nCurrentProcess then + local tNewProcess = tProcesses[nCurrentProcess] + tNewProcess.window.setVisible(true) + tNewProcess.bInteracted = true + end + end +end + +local function setProcessTitle(n, sTitle) + tProcesses[n].sTitle = sTitle +end + +local function resumeProcess(nProcess, sEvent, ...) + local tProcess = tProcesses[nProcess] + local sFilter = tProcess.sFilter + if sFilter == nil or sFilter == sEvent or sEvent == "terminate" then + local nPreviousProcess = nRunningProcess + nRunningProcess = nProcess + term.redirect(tProcess.terminal) + local ok, result = coroutine.resume(tProcess.co, sEvent, ...) + tProcess.terminal = term.current() + if ok then + tProcess.sFilter = result + else + printError(result) + end + nRunningProcess = nPreviousProcess + end +end + +local function launchProcess(bFocus, tProgramEnv, sProgramPath, ...) + local tProgramArgs = table.pack(...) + local nProcess = #tProcesses + 1 + local tProcess = {} + tProcess.sTitle = fs.getName(sProgramPath) + if bShowMenu then + tProcess.window = window.create(parentTerm, 1, 2, w, h - 1, false) + else + tProcess.window = window.create(parentTerm, 1, 1, w, h, false) + end + tProcess.co = coroutine.create(function() + os.run(tProgramEnv, sProgramPath, table.unpack(tProgramArgs, 1, tProgramArgs.n)) + if not tProcess.bInteracted then + term.setCursorBlink(false) + print("Press any key to continue") + os.pullEvent("char") + end + end) + tProcess.sFilter = nil + tProcess.terminal = tProcess.window + tProcess.bInteracted = false + tProcesses[nProcess] = tProcess + if bFocus then + selectProcess(nProcess) + end + resumeProcess(nProcess) + return nProcess +end + +local function cullProcess(nProcess) + local tProcess = tProcesses[nProcess] + if coroutine.status(tProcess.co) == "dead" then + if nCurrentProcess == nProcess then + selectProcess(nil) + end + table.remove(tProcesses, nProcess) + if nCurrentProcess == nil then + if nProcess > 1 then + selectProcess(nProcess - 1) + elseif #tProcesses > 0 then + selectProcess(1) + end + end + if nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + end + return true + end + return false +end + +local function cullProcesses() + local culled = false + for n = #tProcesses, 1, -1 do + culled = culled or cullProcess(n) + end + return culled +end + +-- Setup the main menu +local menuMainTextColor, menuMainBgColor, menuOtherTextColor, menuOtherBgColor +if parentTerm.isColor() then + menuMainTextColor, menuMainBgColor = colors.yellow, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +else + menuMainTextColor, menuMainBgColor = colors.white, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +end + +local function redrawMenu() + if bShowMenu then + -- Draw menu + parentTerm.setCursorPos(1, 1) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.clearLine() + local nCharCount = 0 + local nSize = parentTerm.getSize() + if nScrollPos ~= 1 then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.write("<") + nCharCount = 1 + end + for n = nScrollPos, #tProcesses do + if n == nCurrentProcess then + parentTerm.setTextColor(menuMainTextColor) + parentTerm.setBackgroundColor(menuMainBgColor) + else + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + end + parentTerm.write(" " .. tProcesses[n].sTitle .. " ") + nCharCount = nCharCount + #tProcesses[n].sTitle + 2 + end + if nCharCount > nSize then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.setCursorPos(nSize, 1) + parentTerm.write(">") + bScrollRight = true + else + bScrollRight = false + end + + -- Put the cursor back where it should be + local tProcess = tProcesses[nCurrentProcess] + if tProcess then + tProcess.window.restoreCursor() + end + end +end + +local function resizeWindows() + local windowY, windowHeight + if bShowMenu then + windowY = 2 + windowHeight = h - 1 + else + windowY = 1 + windowHeight = h + end + for n = 1, #tProcesses do + local tProcess = tProcesses[n] + local x, y = tProcess.window.getCursorPos() + if y > windowHeight then + tProcess.window.scroll(y - windowHeight) + tProcess.window.setCursorPos(x, windowHeight) + end + tProcess.window.reposition(1, windowY, w, windowHeight) + end + bWindowsResized = true +end + +local function setMenuVisible(bVis) + if bShowMenu ~= bVis then + bShowMenu = bVis + resizeWindows() + redrawMenu() + end +end + +local multishell = {} --- @export + +--- Get the currently visible process. This will be the one selected on +-- the tab bar. +-- +-- Note, this is different to @{getCurrent}, which returns the process which is +-- currently executing. +-- +-- @treturn number The currently visible process's index. +-- @see setFocus +function multishell.getFocus() + return nCurrentProcess +end + +--- Change the currently visible process. +-- +-- @tparam number n The process index to switch to. +-- @treturn boolean If the process was changed successfully. This will +-- return @{false} if there is no process with this id. +-- @see getFocus +function multishell.setFocus(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + selectProcess(n) + redrawMenu() + return true + end + return false +end + +--- Get the title of the given tab. +-- +-- This starts as the name of the program, but may be changed using +-- @{multishell.setTitle}. +-- @tparam number n The process index. +-- @treturn string|nil The current process title, or @{nil} if the +-- process doesn't exist. +function multishell.getTitle(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + return tProcesses[n].sTitle + end + return nil +end + +--- Set the title of the given process. +-- +-- @tparam number n The process index. +-- @tparam string title The new process title. +-- @see getTitle +-- @usage Change the title of the current process +-- +-- multishell.setTitle(multishell.getCurrent(), "Hello") +function multishell.setTitle(n, title) + expect(1, n, "number") + expect(2, title, "string") + if n >= 1 and n <= #tProcesses then + setProcessTitle(n, title) + redrawMenu() + end +end + +--- Get the index of the currently running process. +-- +-- @treturn number The currently running process. +function multishell.getCurrent() + return nRunningProcess +end + +--- Start a new process, with the given environment, program and arguments. +-- +-- The returned process index is not constant over the program's run. It can be +-- safely used immediately after launching (for instance, to update the title or +-- switch to that tab). However, after your program has yielded, it may no +-- longer be correct. +-- +-- @tparam table tProgramEnv The environment to load the path under. +-- @tparam string sProgramPath The path to the program to run. +-- @param ... Additional arguments to pass to the program. +-- @treturn number The index of the created process. +-- @see os.run +-- @usage Run the "hello" program, and set its title to "Hello!" +-- +-- local id = multishell.launch({}, "/rom/programs/fun/hello.lua") +-- multishell.setTitle(id, "Hello!") +function multishell.launch(tProgramEnv, sProgramPath, ...) + expect(1, tProgramEnv, "table") + expect(2, sProgramPath, "string") + local previousTerm = term.current() + setMenuVisible(#tProcesses + 1 >= 2) + local nResult = launchProcess(false, tProgramEnv, sProgramPath, ...) + redrawMenu() + term.redirect(previousTerm) + return nResult +end + +--- Get the number of processes within this multishell. +-- +-- @treturn number The number of processes. +function multishell.getCount() + return #tProcesses +end + +-- Begin +parentTerm.clear() +setMenuVisible(false) +launchProcess(true, { + ["shell"] = shell, + ["multishell"] = multishell, +}, "/rom/programs/shell.lua") + +-- Run processes +while #tProcesses > 0 do + -- Get the event + local tEventData = table.pack(os.pullEventRaw()) + local sEvent = tEventData[1] + if sEvent == "term_resize" then + -- Resize event + w, h = parentTerm.getSize() + resizeWindows() + redrawMenu() + + elseif sEvent == "char" or sEvent == "key" or sEvent == "key_up" or sEvent == "paste" or sEvent == "terminate" then + -- Keyboard event + -- Passthrough to current process + if tEventData[2] == 290 and sEvent == "key" then + --nRunningProcess = (nRunningProcess % #tProcesses) + 1 + -- selectProcess((nCurrentProcess or 0) % #tProcesses + 1) + multishell.setFocus((nCurrentProcess or 0) % #tProcesses + 1) + else + resumeProcess(nCurrentProcess, table.unpack(tEventData, 1, tEventData.n)) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end +end + elseif sEvent == "mouse_click" then + -- Click event + local button, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and y == 1 then + -- Switch process + if x == 1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and x == term.getSize() then + nScrollPos = nScrollPos + 1 + redrawMenu() + else + local tabStart = 1 + if nScrollPos ~= 1 then + tabStart = 2 + end + for n = nScrollPos, #tProcesses do + local tabEnd = tabStart + #tProcesses[n].sTitle + 1 + if x >= tabStart and x <= tabEnd then + selectProcess(n) + redrawMenu() + break + end + tabStart = tabEnd + 1 + end + end + else + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, button, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + elseif sEvent == "mouse_drag" or sEvent == "mouse_up" or sEvent == "mouse_scroll" then + -- Other mouse event + local p1, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and sEvent == "mouse_scroll" and y == 1 then + if p1 == -1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and p1 == 1 then + nScrollPos = nScrollPos + 1 + redrawMenu() + end + elseif not (bShowMenu and y == 1) then + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, p1, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + else + -- Other event + -- Passthrough to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, table.unpack(tEventData, 1, tEventData.n)) + end + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + if bWindowsResized then + -- Pass term_resize to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, "term_resize") + end + bWindowsResized = false + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end +end + +-- Shutdown +term.redirect(parentTerm) \ No newline at end of file diff --git a/computer/18/startup.lua b/computer/18/startup.lua new file mode 100644 index 0000000..84813bd --- /dev/null +++ b/computer/18/startup.lua @@ -0,0 +1 @@ +require("multishell") diff --git a/computer/18/steal.lua b/computer/18/steal.lua new file mode 100644 index 0000000..0135b6a --- /dev/null +++ b/computer/18/steal.lua @@ -0,0 +1,13 @@ +print("enter id") +id = read() +print("enter path") +path = read() +full_url = "http://crispypin.cc:25566/computer/"..id.."/"..path +print(full_url) +h, err=http.get(full_url) +print(err) +file = fs.open(path, "w") +file.write(h.readAll()) +file.close() + + diff --git a/computer/2/steal.lua b/computer/2/steal.lua deleted file mode 100644 index e9418de..0000000 --- a/computer/2/steal.lua +++ /dev/null @@ -1,9 +0,0 @@ -local goal = vector.new(-313, 103, 192) -print("where am i?") - -local coords = read( - - - - - diff --git a/computer/22/bg.lua b/computer/22/bg.lua new file mode 100644 index 0000000..fe3760a --- /dev/null +++ b/computer/22/bg.lua @@ -0,0 +1,11 @@ +if not shell.openTab then + printError("Requires multishell") + return +end + +local tArgs = { ... } +if #tArgs > 0 then + shell.openTab(table.unpack(tArgs)) +else + shell.openTab("shell") +end \ No newline at end of file diff --git a/computer/22/multishell.lua b/computer/22/multishell.lua new file mode 100644 index 0000000..e757f51 --- /dev/null +++ b/computer/22/multishell.lua @@ -0,0 +1,431 @@ +--- Multishell allows multiple programs to be run at the same time. +-- +-- When multiple programs are running, it displays a tab bar at the top of the +-- screen, which allows you to switch between programs. New programs can be +-- launched using the `fg` or `bg` programs, or using the @{shell.openTab} and +-- @{multishell.launch} functions. +-- +-- Each process is identified by its ID, which corresponds to its position in +-- the tab list. As tabs may be opened and closed, this ID is _not_ constant +-- over a program's run. As such, be careful not to use stale IDs. +-- +-- As with @{shell}, @{multishell} is not a "true" API. Instead, it is a +-- standard program, which launches a shell and injects its API into the shell's +-- environment. This API is not available in the global environment, and so is +-- not available to @{os.loadAPI|APIs}. +-- +-- @module[module] multishell +-- @since 1.6 + +local expect = dofile("rom/modules/main/cc/expect.lua").expect + +-- Setup process switching +local parentTerm = term.current() +local w, h = parentTerm.getSize() + +local tProcesses = {} +local nCurrentProcess = nil +local nRunningProcess = nil +local bShowMenu = false +local bWindowsResized = false +local nScrollPos = 1 +local bScrollRight = false + +local function selectProcess(n) + if nCurrentProcess ~= n then + if nCurrentProcess then + local tOldProcess = tProcesses[nCurrentProcess] + tOldProcess.window.setVisible(false) + end + nCurrentProcess = n + if nCurrentProcess then + local tNewProcess = tProcesses[nCurrentProcess] + tNewProcess.window.setVisible(true) + tNewProcess.bInteracted = true + end + end +end + +local function setProcessTitle(n, sTitle) + tProcesses[n].sTitle = sTitle +end + +local function resumeProcess(nProcess, sEvent, ...) + local tProcess = tProcesses[nProcess] + local sFilter = tProcess.sFilter + if sFilter == nil or sFilter == sEvent or sEvent == "terminate" then + local nPreviousProcess = nRunningProcess + nRunningProcess = nProcess + term.redirect(tProcess.terminal) + local ok, result = coroutine.resume(tProcess.co, sEvent, ...) + tProcess.terminal = term.current() + if ok then + tProcess.sFilter = result + else + printError(result) + end + nRunningProcess = nPreviousProcess + end +end + +local function launchProcess(bFocus, tProgramEnv, sProgramPath, ...) + local tProgramArgs = table.pack(...) + local nProcess = #tProcesses + 1 + local tProcess = {} + tProcess.sTitle = fs.getName(sProgramPath) + if bShowMenu then + tProcess.window = window.create(parentTerm, 1, 2, w, h - 1, false) + else + tProcess.window = window.create(parentTerm, 1, 1, w, h, false) + end + tProcess.co = coroutine.create(function() + os.run(tProgramEnv, sProgramPath, table.unpack(tProgramArgs, 1, tProgramArgs.n)) + if not tProcess.bInteracted then + term.setCursorBlink(false) + print("Press any key to continue") + os.pullEvent("char") + end + end) + tProcess.sFilter = nil + tProcess.terminal = tProcess.window + tProcess.bInteracted = false + tProcesses[nProcess] = tProcess + if bFocus then + selectProcess(nProcess) + end + resumeProcess(nProcess) + return nProcess +end + +local function cullProcess(nProcess) + local tProcess = tProcesses[nProcess] + if coroutine.status(tProcess.co) == "dead" then + if nCurrentProcess == nProcess then + selectProcess(nil) + end + table.remove(tProcesses, nProcess) + if nCurrentProcess == nil then + if nProcess > 1 then + selectProcess(nProcess - 1) + elseif #tProcesses > 0 then + selectProcess(1) + end + end + if nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + end + return true + end + return false +end + +local function cullProcesses() + local culled = false + for n = #tProcesses, 1, -1 do + culled = culled or cullProcess(n) + end + return culled +end + +-- Setup the main menu +local menuMainTextColor, menuMainBgColor, menuOtherTextColor, menuOtherBgColor +if parentTerm.isColor() then + menuMainTextColor, menuMainBgColor = colors.yellow, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +else + menuMainTextColor, menuMainBgColor = colors.white, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +end + +local function redrawMenu() + if bShowMenu then + -- Draw menu + parentTerm.setCursorPos(1, 1) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.clearLine() + local nCharCount = 0 + local nSize = parentTerm.getSize() + if nScrollPos ~= 1 then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.write("<") + nCharCount = 1 + end + for n = nScrollPos, #tProcesses do + if n == nCurrentProcess then + parentTerm.setTextColor(menuMainTextColor) + parentTerm.setBackgroundColor(menuMainBgColor) + else + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + end + parentTerm.write(" " .. tProcesses[n].sTitle .. " ") + nCharCount = nCharCount + #tProcesses[n].sTitle + 2 + end + if nCharCount > nSize then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.setCursorPos(nSize, 1) + parentTerm.write(">") + bScrollRight = true + else + bScrollRight = false + end + + -- Put the cursor back where it should be + local tProcess = tProcesses[nCurrentProcess] + if tProcess then + tProcess.window.restoreCursor() + end + end +end + +local function resizeWindows() + local windowY, windowHeight + if bShowMenu then + windowY = 2 + windowHeight = h - 1 + else + windowY = 1 + windowHeight = h + end + for n = 1, #tProcesses do + local tProcess = tProcesses[n] + local x, y = tProcess.window.getCursorPos() + if y > windowHeight then + tProcess.window.scroll(y - windowHeight) + tProcess.window.setCursorPos(x, windowHeight) + end + tProcess.window.reposition(1, windowY, w, windowHeight) + end + bWindowsResized = true +end + +local function setMenuVisible(bVis) + if bShowMenu ~= bVis then + bShowMenu = bVis + resizeWindows() + redrawMenu() + end +end + +local multishell = {} --- @export + +--- Get the currently visible process. This will be the one selected on +-- the tab bar. +-- +-- Note, this is different to @{getCurrent}, which returns the process which is +-- currently executing. +-- +-- @treturn number The currently visible process's index. +-- @see setFocus +function multishell.getFocus() + return nCurrentProcess +end + +--- Change the currently visible process. +-- +-- @tparam number n The process index to switch to. +-- @treturn boolean If the process was changed successfully. This will +-- return @{false} if there is no process with this id. +-- @see getFocus +function multishell.setFocus(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + selectProcess(n) + redrawMenu() + return true + end + return false +end + +--- Get the title of the given tab. +-- +-- This starts as the name of the program, but may be changed using +-- @{multishell.setTitle}. +-- @tparam number n The process index. +-- @treturn string|nil The current process title, or @{nil} if the +-- process doesn't exist. +function multishell.getTitle(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + return tProcesses[n].sTitle + end + return nil +end + +--- Set the title of the given process. +-- +-- @tparam number n The process index. +-- @tparam string title The new process title. +-- @see getTitle +-- @usage Change the title of the current process +-- +-- multishell.setTitle(multishell.getCurrent(), "Hello") +function multishell.setTitle(n, title) + expect(1, n, "number") + expect(2, title, "string") + if n >= 1 and n <= #tProcesses then + setProcessTitle(n, title) + redrawMenu() + end +end + +--- Get the index of the currently running process. +-- +-- @treturn number The currently running process. +function multishell.getCurrent() + return nRunningProcess +end + +--- Start a new process, with the given environment, program and arguments. +-- +-- The returned process index is not constant over the program's run. It can be +-- safely used immediately after launching (for instance, to update the title or +-- switch to that tab). However, after your program has yielded, it may no +-- longer be correct. +-- +-- @tparam table tProgramEnv The environment to load the path under. +-- @tparam string sProgramPath The path to the program to run. +-- @param ... Additional arguments to pass to the program. +-- @treturn number The index of the created process. +-- @see os.run +-- @usage Run the "hello" program, and set its title to "Hello!" +-- +-- local id = multishell.launch({}, "/rom/programs/fun/hello.lua") +-- multishell.setTitle(id, "Hello!") +function multishell.launch(tProgramEnv, sProgramPath, ...) + expect(1, tProgramEnv, "table") + expect(2, sProgramPath, "string") + local previousTerm = term.current() + setMenuVisible(#tProcesses + 1 >= 2) + local nResult = launchProcess(false, tProgramEnv, sProgramPath, ...) + redrawMenu() + term.redirect(previousTerm) + return nResult +end + +--- Get the number of processes within this multishell. +-- +-- @treturn number The number of processes. +function multishell.getCount() + return #tProcesses +end + +-- Begin +parentTerm.clear() +setMenuVisible(false) +launchProcess(true, { + ["shell"] = shell, + ["multishell"] = multishell, +}, "/rom/programs/shell.lua") + +-- Run processes +while #tProcesses > 0 do + -- Get the event + local tEventData = table.pack(os.pullEventRaw()) + local sEvent = tEventData[1] + if sEvent == "term_resize" then + -- Resize event + w, h = parentTerm.getSize() + resizeWindows() + redrawMenu() + + elseif sEvent == "char" or sEvent == "key" or sEvent == "key_up" or sEvent == "paste" or sEvent == "terminate" then + -- Keyboard event + -- Passthrough to current process + if tEventData[2] == 290 and sEvent == "key" then + --nRunningProcess = (nRunningProcess % #tProcesses) + 1 + -- selectProcess((nCurrentProcess or 0) % #tProcesses + 1) + multishell.setFocus((nCurrentProcess or 0) % #tProcesses + 1) + else + resumeProcess(nCurrentProcess, table.unpack(tEventData, 1, tEventData.n)) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end +end + elseif sEvent == "mouse_click" then + -- Click event + local button, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and y == 1 then + -- Switch process + if x == 1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and x == term.getSize() then + nScrollPos = nScrollPos + 1 + redrawMenu() + else + local tabStart = 1 + if nScrollPos ~= 1 then + tabStart = 2 + end + for n = nScrollPos, #tProcesses do + local tabEnd = tabStart + #tProcesses[n].sTitle + 1 + if x >= tabStart and x <= tabEnd then + selectProcess(n) + redrawMenu() + break + end + tabStart = tabEnd + 1 + end + end + else + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, button, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + elseif sEvent == "mouse_drag" or sEvent == "mouse_up" or sEvent == "mouse_scroll" then + -- Other mouse event + local p1, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and sEvent == "mouse_scroll" and y == 1 then + if p1 == -1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and p1 == 1 then + nScrollPos = nScrollPos + 1 + redrawMenu() + end + elseif not (bShowMenu and y == 1) then + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, p1, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + else + -- Other event + -- Passthrough to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, table.unpack(tEventData, 1, tEventData.n)) + end + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + if bWindowsResized then + -- Pass term_resize to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, "term_resize") + end + bWindowsResized = false + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end +end + +-- Shutdown +term.redirect(parentTerm) \ No newline at end of file diff --git a/computer/22/startup.lua b/computer/22/startup.lua new file mode 100644 index 0000000..2de23d1 --- /dev/null +++ b/computer/22/startup.lua @@ -0,0 +1 @@ +require("multishell") \ No newline at end of file diff --git a/computer/22/steal.lua b/computer/22/steal.lua new file mode 100644 index 0000000..ad80be6 --- /dev/null +++ b/computer/22/steal.lua @@ -0,0 +1,16 @@ +print("enter id") +local id = read() +print("enter path") +local path = read() +full_url = "http://crispypin.cc:25566/computer/"..id.."/"..path +print(full_url) +h,err = http.get(full_url) +if err then + print(err) + return +end +file = fs.open(path, "w") +file.write(h.readAll()) +file.close() +print("saved to "..path) + diff --git a/computer/26/bg.lua b/computer/26/bg.lua new file mode 100644 index 0000000..ccb03ff --- /dev/null +++ b/computer/26/bg.lua @@ -0,0 +1,11 @@ +if not shell.openTab then + printError("Requires multishell") + return +end + +local tArgs = { ... } +if #tArgs > 0 then + shell.openTab(table.unpack(tArgs)) +else + shell.openTab("shell") +end diff --git a/computer/26/expand.lua b/computer/26/expand.lua new file mode 100644 index 0000000..3fa6ca1 --- /dev/null +++ b/computer/26/expand.lua @@ -0,0 +1,106 @@ +require("path") +pp = require("cc.pretty").pretty_print + +require("progress") + +-- mirror = wall is to the right +local mirror = true +mirror = mirror or false + +local TILES = 13 + +function save(layer) + fs.delete("progress.lua") + repeat + file = fs.open("progress.lua", "w") + until file + file.write("progress = " .. progress .. "\n") + file.write("layer_start = " .. layer .. "\n") + -- todo save pos separately, more frequently + file.close() +end + +function mine_step() + repeat + turtle.dig() + until goForward() +end + +function mine3_step() + turtle.digUp() + turtle.digDown() + repeat + turtle.dig() + until goForward() +end + +local turnLeft = true +function turn() + if turnLeft then + goLeft() + else + goRight() + end +end + +-- assumes position is on lamp, right in front of the slice to be mined +-- nearest the wall +function clear_tile_slice() + for layer = layer_start, 5 do + save(layer) + local y = 12 - layer * 3 + local x = 9 + local length = 8 * TILES + 9 + if layer == 5 then + x = x - 3 + length = length - 3 + end + turnLeft = (layer % 2 == 0) ~= mirror + local z = progress*8 + 1 + (layer % 2) * 7 + if y < 0 then + -- avoid breaking the existing floor + for _ = 0, progress*8 do + goForward() + end + end + if mirror then + goTo(vector.new(-x,y,z), "east", true) + else + goTo(vector.new(x,y,z), "west", true) + end + + for strip = 1, 8 do + for _ = 1, length do + mine3_step() + end + if strip ~= 8 then + turn() + mine3_step() + turn() + turnLeft = not turnLeft; + end + end + goLeft() + goLeft() + end +end + +goHome() +clear_tile_slice() +progress = progress + 1 +save(0) +for i = 1, 16 do + turtle.select(i) + turtle.drop() +end +turtle.select(1) +goHome() +goLeft() +goLeft() +while turtle.getFuelLevel() < 20000 do + turtle.suck() + turtle.refuel() +end +turtle.drop() +goLeft() +goLeft() diff --git a/computer/26/garbidge/dig.lua b/computer/26/garbidge/dig.lua new file mode 100644 index 0000000..6056988 --- /dev/null +++ b/computer/26/garbidge/dig.lua @@ -0,0 +1,85 @@ +width = 5 +length = 31 +MinFuelLevel = 19500 + +y = 0 + + +function layer() + turnLeft = 1 + + function turn() + if turnLeft == 1 then + turtle.turnLeft() + else + turtle.turnRight() + end + end + function digStep() + turtle.dig() + turtle.digUp() + turtle.digDown() + turtle.forward() + end + + for row = 1, width do + for i = 1,length do + digStep() + end + turn() + digStep() + turn() + turnLeft = -turnLeft + end + if turnLeft == 1 then + turtle.turnRight() + for i = 1, width do + turtle.forward() + end + turtle.turnLeft() + else + turtle.turnLeft() + turtle.forward() + turtle.turnRight() + for i = 1, length do + turtle.forward() + end + turtle.turnLeft() + for i = 1, width do + turtle.forward() + end + turtle.turnLeft() + end +end + +function unload() + for i = 1, 16 do + turtle.select(i) + turtle.dropUp() + end + turtle.turnLeft() + turtle.turnLeft() + while turtle.getFuelLevel() < MinFuelLevel do + turtle.suck() + turtle.refuel() + end + turtle.drop() + turtle.turnLeft() + turtle.turnLeft() + +end + +while true do + turtle.forward() + for i = 1, y do + turtle.digDown() + turtle.down() + end + layer() + for i = 1, y do + turtle.up() + end + turtle.back() + unload() + y = y + 3 +end diff --git a/computer/26/garbidge/roof.lua b/computer/26/garbidge/roof.lua new file mode 100644 index 0000000..aef6c6c --- /dev/null +++ b/computer/26/garbidge/roof.lua @@ -0,0 +1,34 @@ +width = 5 +length = 23 + +turtle.select(1) + +tLeft = true + +function turn() + if tLeft then + turtle.turnLeft() + else + turtle.turnRight() + end +end + + +function step() + turtle.placeUp() + turtle.forward() + if turtle.getItemCount() == 0 then + turtle.select(turtle.getSelectedSlot()+1) + end +end + + +for row = 1, width do + for i = 1, length do + step() + end + turn() + step() + turn() + tLeft = not tLeft +end diff --git a/computer/26/garbidge/tile.lua b/computer/26/garbidge/tile.lua new file mode 100644 index 0000000..b3ba5a1 --- /dev/null +++ b/computer/26/garbidge/tile.lua @@ -0,0 +1,32 @@ +tile = function() +pf = require("pathfinding") +function selectItem(name) + for i = 1, 16 do + d= turtle.getItemDetail(i) + if d.name == name then + turtle.select(i) + return + end + end + print("pls give me", name) + turtle.select(16) + print("then press enter") + read() +end + +--turtle.forward() +--turtle.turnLeft() +--turtle.forward() +--turtle.turnRight() + +for x = 1, 7 do + for z = 1, 7 do + turtle.select(((x == 4) and (z==4) and 3) or math.mod(x+z,2)+1) + goTo(vector.new(x,0,z)) + turtle.placeDown() + end +end +goTo(vector.new(8,0,0)) +_G.pos=pos-pos +end +return tile diff --git a/computer/26/garbidge/tilemany.lua b/computer/26/garbidge/tilemany.lua new file mode 100644 index 0000000..c48fc64 --- /dev/null +++ b/computer/26/garbidge/tilemany.lua @@ -0,0 +1,4 @@ +t = require("tile") +for i = 1,2 do + t() +end diff --git a/computer/26/multishell.lua b/computer/26/multishell.lua new file mode 100644 index 0000000..f2a9851 --- /dev/null +++ b/computer/26/multishell.lua @@ -0,0 +1,429 @@ +--- Multishell allows multiple programs to be run at the same time. +-- +-- When multiple programs are running, it displays a tab bar at the top of the +-- screen, which allows you to switch between programs. New programs can be +-- launched using the `fg` or `bg` programs, or using the @{shell.openTab} and +-- @{multishell.launch} functions. +-- +-- Each process is identified by its ID, which corresponds to its position in +-- the tab list. As tabs may be opened and closed, this ID is _not_ constant +-- over a program's run. As such, be careful not to use stale IDs. +-- +-- As with @{shell}, @{multishell} is not a "true" API. Instead, it is a +-- standard program, which launches a shell and injects its API into the shell's +-- environment. This API is not available in the global environment, and so is +-- not available to @{os.loadAPI|APIs}. +-- +-- @module[module] multishell +-- @since 1.6 + +local expect = dofile("rom/modules/main/cc/expect.lua").expect + +-- Setup process switching +local parentTerm = term.current() +local w, h = parentTerm.getSize() + +local tProcesses = {} +local nCurrentProcess = nil +local nRunningProcess = nil +local bShowMenu = false +local bWindowsResized = false +local nScrollPos = 1 +local bScrollRight = false + +local function selectProcess(n) + if nCurrentProcess ~= n then + if nCurrentProcess then + local tOldProcess = tProcesses[nCurrentProcess] + tOldProcess.window.setVisible(false) + end + nCurrentProcess = n + if nCurrentProcess then + local tNewProcess = tProcesses[nCurrentProcess] + tNewProcess.window.setVisible(true) + tNewProcess.bInteracted = true + end + end +end + +local function setProcessTitle(n, sTitle) + tProcesses[n].sTitle = sTitle +end + +local function resumeProcess(nProcess, sEvent, ...) + local tProcess = tProcesses[nProcess] + local sFilter = tProcess.sFilter + if sFilter == nil or sFilter == sEvent or sEvent == "terminate" then + local nPreviousProcess = nRunningProcess + nRunningProcess = nProcess + term.redirect(tProcess.terminal) + local ok, result = coroutine.resume(tProcess.co, sEvent, ...) + tProcess.terminal = term.current() + if ok then + tProcess.sFilter = result + else + printError(result) + end + nRunningProcess = nPreviousProcess + end +end + +local function launchProcess(bFocus, tProgramEnv, sProgramPath, ...) + local tProgramArgs = table.pack(...) + local nProcess = #tProcesses + 1 + local tProcess = {} + tProcess.sTitle = fs.getName(sProgramPath) + if bShowMenu then + tProcess.window = window.create(parentTerm, 1, 2, w, h - 1, false) + else + tProcess.window = window.create(parentTerm, 1, 1, w, h, false) + end + tProcess.co = coroutine.create(function() + os.run(tProgramEnv, sProgramPath, table.unpack(tProgramArgs, 1, tProgramArgs.n)) + if not tProcess.bInteracted then + term.setCursorBlink(false) + print("Press any key to continue") + os.pullEvent("char") + end + end) + tProcess.sFilter = nil + tProcess.terminal = tProcess.window + tProcess.bInteracted = false + tProcesses[nProcess] = tProcess + if bFocus then + selectProcess(nProcess) + end + resumeProcess(nProcess) + return nProcess +end + +local function cullProcess(nProcess) + local tProcess = tProcesses[nProcess] + if coroutine.status(tProcess.co) == "dead" then + if nCurrentProcess == nProcess then + selectProcess(nil) + end + table.remove(tProcesses, nProcess) + if nCurrentProcess == nil then + if nProcess > 1 then + selectProcess(nProcess - 1) + elseif #tProcesses > 0 then + selectProcess(1) + end + end + if nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + end + return true + end + return false +end + +local function cullProcesses() + local culled = false + for n = #tProcesses, 1, -1 do + culled = culled or cullProcess(n) + end + return culled +end + +-- Setup the main menu +local menuMainTextColor, menuMainBgColor, menuOtherTextColor, menuOtherBgColor +if parentTerm.isColor() then + menuMainTextColor, menuMainBgColor = colors.yellow, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +else + menuMainTextColor, menuMainBgColor = colors.white, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +end + +local function redrawMenu() + if bShowMenu then + -- Draw menu + parentTerm.setCursorPos(1, 1) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.clearLine() + local nCharCount = 0 + local nSize = parentTerm.getSize() + if nScrollPos ~= 1 then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.write("<") + nCharCount = 1 + end + for n = nScrollPos, #tProcesses do + if n == nCurrentProcess then + parentTerm.setTextColor(menuMainTextColor) + parentTerm.setBackgroundColor(menuMainBgColor) + else + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + end + parentTerm.write(" " .. tProcesses[n].sTitle .. " ") + nCharCount = nCharCount + #tProcesses[n].sTitle + 2 + end + if nCharCount > nSize then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.setCursorPos(nSize, 1) + parentTerm.write(">") + bScrollRight = true + else + bScrollRight = false + end + + -- Put the cursor back where it should be + local tProcess = tProcesses[nCurrentProcess] + if tProcess then + tProcess.window.restoreCursor() + end + end +end + +local function resizeWindows() + local windowY, windowHeight + if bShowMenu then + windowY = 2 + windowHeight = h - 1 + else + windowY = 1 + windowHeight = h + end + for n = 1, #tProcesses do + local tProcess = tProcesses[n] + local x, y = tProcess.window.getCursorPos() + if y > windowHeight then + tProcess.window.scroll(y - windowHeight) + tProcess.window.setCursorPos(x, windowHeight) + end + tProcess.window.reposition(1, windowY, w, windowHeight) + end + bWindowsResized = true +end + +local function setMenuVisible(bVis) + if bShowMenu ~= bVis then + bShowMenu = bVis + resizeWindows() + redrawMenu() + end +end + +local multishell = {} --- @export + +--- Get the currently visible process. This will be the one selected on +-- the tab bar. +-- +-- Note, this is different to @{getCurrent}, which returns the process which is +-- currently executing. +-- +-- @treturn number The currently visible process's index. +-- @see setFocus +function multishell.getFocus() + return nCurrentProcess +end + +--- Change the currently visible process. +-- +-- @tparam number n The process index to switch to. +-- @treturn boolean If the process was changed successfully. This will +-- return @{false} if there is no process with this id. +-- @see getFocus +function multishell.setFocus(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + selectProcess(n) + redrawMenu() + return true + end + return false +end + +--- Get the title of the given tab. +-- +-- This starts as the name of the program, but may be changed using +-- @{multishell.setTitle}. +-- @tparam number n The process index. +-- @treturn string|nil The current process title, or @{nil} if the +-- process doesn't exist. +function multishell.getTitle(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + return tProcesses[n].sTitle + end + return nil +end + +--- Set the title of the given process. +-- +-- @tparam number n The process index. +-- @tparam string title The new process title. +-- @see getTitle +-- @usage Change the title of the current process +-- +-- multishell.setTitle(multishell.getCurrent(), "Hello") +function multishell.setTitle(n, title) + expect(1, n, "number") + expect(2, title, "string") + if n >= 1 and n <= #tProcesses then + setProcessTitle(n, title) + redrawMenu() + end +end + +--- Get the index of the currently running process. +-- +-- @treturn number The currently running process. +function multishell.getCurrent() + return nRunningProcess +end + +--- Start a new process, with the given environment, program and arguments. +-- +-- The returned process index is not constant over the program's run. It can be +-- safely used immediately after launching (for instance, to update the title or +-- switch to that tab). However, after your program has yielded, it may no +-- longer be correct. +-- +-- @tparam table tProgramEnv The environment to load the path under. +-- @tparam string sProgramPath The path to the program to run. +-- @param ... Additional arguments to pass to the program. +-- @treturn number The index of the created process. +-- @see os.run +-- @usage Run the "hello" program, and set its title to "Hello!" +-- +-- local id = multishell.launch({}, "/rom/programs/fun/hello.lua") +-- multishell.setTitle(id, "Hello!") +function multishell.launch(tProgramEnv, sProgramPath, ...) + expect(1, tProgramEnv, "table") + expect(2, sProgramPath, "string") + local previousTerm = term.current() + setMenuVisible(#tProcesses + 1 >= 2) + local nResult = launchProcess(false, tProgramEnv, sProgramPath, ...) + redrawMenu() + term.redirect(previousTerm) + return nResult +end + +--- Get the number of processes within this multishell. +-- +-- @treturn number The number of processes. +function multishell.getCount() + return #tProcesses +end + +-- Begin +parentTerm.clear() +setMenuVisible(false) +launchProcess(true, { + ["shell"] = shell, + ["multishell"] = multishell, +}, "/rom/programs/shell.lua") + +-- Run processes +while #tProcesses > 0 do + -- Get the event + local tEventData = table.pack(os.pullEventRaw()) + local sEvent = tEventData[1] + if sEvent == "term_resize" then + -- Resize event + w, h = parentTerm.getSize() + resizeWindows() + redrawMenu() + + elseif sEvent == "char" or sEvent == "key" or sEvent == "key_up" or sEvent == "paste" or sEvent == "terminate" then + -- Keyboard event + -- Passthrough to current process + if tEventData[2] == 290 and sEvent == "key" then + multishell.setFocus((nCurrentProcess or 0) % #tProcesses + 1) + else + resumeProcess(nCurrentProcess, table.unpack(tEventData, 1, tEventData.n)) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + elseif sEvent == "mouse_click" then + -- Click event + local button, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and y == 1 then + -- Switch process + if x == 1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and x == term.getSize() then + nScrollPos = nScrollPos + 1 + redrawMenu() + else + local tabStart = 1 + if nScrollPos ~= 1 then + tabStart = 2 + end + for n = nScrollPos, #tProcesses do + local tabEnd = tabStart + #tProcesses[n].sTitle + 1 + if x >= tabStart and x <= tabEnd then + selectProcess(n) + redrawMenu() + break + end + tabStart = tabEnd + 1 + end + end + else + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, button, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + elseif sEvent == "mouse_drag" or sEvent == "mouse_up" or sEvent == "mouse_scroll" then + -- Other mouse event + local p1, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and sEvent == "mouse_scroll" and y == 1 then + if p1 == -1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and p1 == 1 then + nScrollPos = nScrollPos + 1 + redrawMenu() + end + elseif not (bShowMenu and y == 1) then + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, p1, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + else + -- Other event + -- Passthrough to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, table.unpack(tEventData, 1, tEventData.n)) + end + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + if bWindowsResized then + -- Pass term_resize to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, "term_resize") + end + bWindowsResized = false + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end +end + +-- Shutdown +term.redirect(parentTerm) diff --git a/computer/26/path.lua b/computer/26/path.lua new file mode 100644 index 0000000..59c052c --- /dev/null +++ b/computer/26/path.lua @@ -0,0 +1,124 @@ +pp = require("cc.pretty").pretty_print + +_G.facing = _G.facing or "south" +_G.pos = _G.pos or vector.new(0,0,0) + +local up = vector.new(0,1,0) + +local rightOf = { + south = "west", + west = "north", + north = "east", + east = "south" +} + +local leftOf = { + west = "south", + north = "west", + east = "north", + south = "east" +} + +local vecOf = { + north = vector.new(0,0,-1), + south = vector.new(0,0,1), + east = vector.new(1,0,0), + west = vector.new(-1,0,0), +} + +function goUp() + if turtle.up() then + _G.pos.y = _G.pos.y + 1 + return true + end + printError("failed to go up") + printError(pos) + return false +end + +function goDown() + if turtle.down() then + _G.pos.y = _G.pos.y - 1 + return true + end + printError("failed to go down") + printError(pos) + return false +end + +function goLeft() + turtle.turnLeft() + _G.facing = leftOf[_G.facing] +end + +function goRight() + turtle.turnRight() + _G.facing = rightOf[_G.facing] +end + +function goForward() + if turtle.forward() then + _G.pos = _G.pos + vecOf[_G.facing] + return true + end + -- printError("failed to go forward") + -- printError(pos) + return false +end + +function goBack() + if turtle.back() then + _G.pos = _G.pos - vecOf[_G.facing] + return true + end + printError("failed to go backward") + printError(pos) + return false +end + +function stepTo(target, dig) + local delta = target - _G.pos + -- print(delta) + if delta.y > 0 then + if dig then + repeat turtle.digUp() until goUp() + else + goUp() + end + elseif delta.y < 0 then + if dig then + turtle.digDown() + end + goDown() + elseif delta:dot(vecOf[_G.facing]) > 0 then + if dig then + repeat turtle.dig() until goForward() + else + goForward() + end + elseif delta:dot(vecOf[_G.facing]:cross(up)) > 0 then + goRight() + else + goLeft() + end +end + +function goTo(target, face, dig) + while target ~= _G.pos do + stepTo(target, dig) + end + if face and face ~= _G.facing then + if rightOf[_G.facing] == face then + goRight() + elseif leftOf[_G.facing] == face then + goLeft() + else + goRight() + goRight() + end + end +end + +function goHome() + goTo(vector.new(0,0,0), "south") +end diff --git a/computer/26/progress.lua b/computer/26/progress.lua new file mode 100644 index 0000000..9e71bd1 --- /dev/null +++ b/computer/26/progress.lua @@ -0,0 +1,2 @@ +progress = 1 +layer_start = 1 diff --git a/computer/26/startup.lua b/computer/26/startup.lua new file mode 100644 index 0000000..84813bd --- /dev/null +++ b/computer/26/startup.lua @@ -0,0 +1 @@ +require("multishell") diff --git a/computer/27/dismemberer.lua b/computer/27/dismemberer.lua new file mode 100644 index 0000000..b026d7e --- /dev/null +++ b/computer/27/dismemberer.lua @@ -0,0 +1,31 @@ +ts = peripheral.wrap("back") + +--[[ +on the tick where the train +was imminent, but was not present. +and now is present and imminent: +payload sequence +]] +function ready() + wasimminent = isimminent + isimminent = ts.isTrainImminent() + waspresent = ispresent + ispresent = ts.isTrainPresent() + if + wasimminent and + isimminent and + (not waspresent) and + ispresent + then + payload() + end +end +function payload() + sleep(0.3) + if ts.isTrainPresent() then + ts.disassemble() + sleep(0.3) + ts.assemble() + end +end +repeat ready() sleep(0.05) until false diff --git a/computer/27/startup.lua b/computer/27/startup.lua new file mode 100644 index 0000000..d70493c --- /dev/null +++ b/computer/27/startup.lua @@ -0,0 +1,2 @@ +rednet.open("top") +rednet.host("elevator") diff --git a/computer/28/char b/computer/28/char new file mode 100644 index 0000000..16e0e90 --- /dev/null +++ b/computer/28/char @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/computer/28/lib/argparse.lua b/computer/28/lib/argparse.lua new file mode 100644 index 0000000..5a86d96 --- /dev/null +++ b/computer/28/lib/argparse.lua @@ -0,0 +1,477 @@ +local function e(t,a)for o,i in pairs(a)do if type(i)=="table"then i=e({},i)end +t[o]=i end return t end local function n(s,h,r)local d={}d.__index=d if r then +d.__prototype=e(e({},r.__prototype),s)else d.__prototype=s end if h then local +l={}for u,c in ipairs(h)do local m,f=c[1],c[2]d[m]=function(w,y)if not +f(w,y)then w["_"..m]=y end return w end l[m]=true end function +d.__call(p,...)if type((...))=="table"then for v,b in pairs((...))do if +l[v]then p[v](p,b)end end else local g=select("#",...)for k,q in ipairs(h)do if +k>g or k>h.args then break end local arg=select(k,...)if arg~=nil then +p[q[1]](p,arg)end end end return p end end local j={}j.__index=r function +j.__call(x,...)local z=e({},x.__prototype)setmetatable(z,x)return z(...)end +return setmetatable(d,j)end local function E(T,A,O)for I,N in ipairs(A)do if +type(O)==N then return true end end +error(("bad property '%s' (%s expected, got %s)"):format(T,table.concat(A," or "),type(O)))end +local function S(H,...)local R={...}return{H,function(D,L)E(H,R,L)end}end local +U={"name",function(C,M)E("name",{"string"},M)for F in M:gmatch("%S+")do +C._name=C._name or F +table.insert(C._aliases,F)table.insert(C._public_aliases,F)if +F:find("_",1,true)then table.insert(C._aliases,(F:gsub("_","-")))end end return +true end}local W={"hidden_name",function(Y,P)E("hidden_name",{"string"},P)for V +in P:gmatch("%S+")do table.insert(Y._aliases,V)if V:find("_",1,true)then +table.insert(Y._aliases,(V:gsub("_","-")))end end return true end}local +function B(G)if tonumber(G)then return tonumber(G),tonumber(G)end if G=="*"then +return 0,math.huge end if G=="+"then return 1,math.huge end if G=="?"then +return 0,1 end if G:match"^%d+%-%d+$"then local +K,Q=G:match"^(%d+)%-(%d+)$"return tonumber(K),tonumber(Q)end if +G:match"^%d+%+$"then local J=G:match"^(%d+)%+$"return tonumber(J),math.huge end +end local function X(Z)return{Z,function(et,tt)E(Z,{"number","string"},tt)local +at,ot=B(tt)if not at then error(("bad property '%s'"):format(Z))end +et["_min"..Z],et["_max"..Z]=at,ot end}end local it={}local +nt={"action",function(st,ht)E("action",{"function","string"},ht)if +type(ht)=="string"and not it[ht]then +error(("unknown action '%s'"):format(ht))end end}local +rt={"init",function(dt)dt._has_init=true end}local +lt={"default",function(ut,ct)if type(ct)~="string"then ut._init=ct +ut._has_init=true return true end end}local +mt={"add_help",function(ft,wt)E("add_help",{"boolean","string","table"},wt)if +ft._help_option_idx then +table.remove(ft._options,ft._help_option_idx)ft._help_option_idx=nil end if wt +then local +yt=ft:flag():description"Show this help message and exit.":action(function()print(ft:get_help())error()end)if +wt~=true then yt=yt(wt)end if not yt._name then yt"-h""--help"end +ft._help_option_idx=#ft._options end end}local +pt=n({_arguments={},_options={},_commands={},_mutexes={},_groups={},_require_command=true,_handle_options=true},{args=3,S("name","string"),S("description","string"),S("epilog","string"),S("usage","string"),S("help","string"),S("require_command","boolean"),S("handle_options","boolean"),S("action","function"),S("command_target","string"),S("help_vertical_space","number"),S("usage_margin","number"),S("usage_max_width","number"),S("help_usage_margin","number"),S("help_description_margin","number"),S("help_max_width","number"),mt})local +vt=n({_aliases={},_public_aliases={}},{args=3,U,S("description","string"),S("epilog","string"),W,S("summary","string"),S("target","string"),S("usage","string"),S("help","string"),S("require_command","boolean"),S("handle_options","boolean"),S("action","function"),S("command_target","string"),S("help_vertical_space","number"),S("usage_margin","number"),S("usage_max_width","number"),S("help_usage_margin","number"),S("help_description_margin","number"),S("help_max_width","number"),S("hidden","boolean"),mt},pt)local +bt=n({_minargs=1,_maxargs=1,_mincount=1,_maxcount=1,_defmode="unused",_show_default=true},{args=5,S("name","string"),S("description","string"),lt,S("convert","function","table"),X("args"),S("target","string"),S("defmode","string"),S("show_default","boolean"),S("argname","string","table"),S("choices","table"),S("hidden","boolean"),nt,rt})local +gt=n({_aliases={},_public_aliases={},_mincount=0,_overwrite=true},{args=6,U,S("description","string"),lt,S("convert","function","table"),X("args"),X("count"),W,S("target","string"),S("defmode","string"),S("show_default","boolean"),S("overwrite","boolean"),S("argname","string","table"),S("choices","table"),S("hidden","boolean"),nt,rt},bt)function +pt:_inherit_property(kt,qt)local jt=self while true do local xt=jt["_"..kt]if +xt~=nil then return xt end if not jt._parent then return qt end jt=jt._parent +end end function bt:_get_argument_list()local zt={}local Et=1 while +Et<=math.min(self._minargs,3)do local Tt=self:_get_argname(Et)if self._default +and self._defmode:find"a"then Tt="["..Tt.."]"end table.insert(zt,Tt)Et=Et+1 end +while Et<=math.min(self._maxargs,3)do +table.insert(zt,"["..self:_get_argname(Et).."]")Et=Et+1 if +self._maxargs==math.huge then break end end if Et1 or(self._minargs==1 and not +self._defmode:find"a")then At="["..At.."]"end end return At end function +it.store_true(Ot,It)Ot[It]=true end function it.store_false(Nt,St)Nt[St]=false +end function it.store(Ht,Rt,Dt)Ht[Rt]=Dt end function it.count(Lt,Ut,Ct,Mt)if +not Mt then Lt[Ut]=Lt[Ut]+1 end end function +it.append(Ft,Wt,Yt,Pt)Ft[Wt]=Ft[Wt]or{}table.insert(Ft[Wt],Yt)if Pt then +table.remove(Ft[Wt],1)end end function it.concat(Vt,Bt,Gt,Kt)if Kt then +error("'concat' action can't handle too many invocations")end +Vt[Bt]=Vt[Bt]or{}for Qt,Jt in ipairs(Gt)do table.insert(Vt[Bt],Jt)end end +function bt:_get_action()local Xt,Zt if self._maxcount==1 then if +self._maxargs==0 then Xt,Zt="store_true",nil else Xt,Zt="store",nil end else if +self._maxargs==0 then Xt,Zt="count",0 else Xt,Zt="append",{}end end if +self._action then Xt=self._action end if self._has_init then Zt=self._init end +if type(Xt)=="string"then Xt=it[Xt]end return Xt,Zt end function +bt:_get_argname(ea)local ta=self._argname or self:_get_default_argname()if +type(ta)=="table"then return ta[ea]else return ta end end function +bt:_get_choices_list()return"{"..table.concat(self._choices,",").."}"end +function bt:_get_default_argname()if self._choices then return +self:_get_choices_list()else return"<"..self._name..">"end end function +gt:_get_default_argname()if self._choices then return +self:_get_choices_list()else return"<"..self:_get_default_target()..">"end end +function bt:_get_label_lines()if self._choices then +return{self:_get_choices_list()}else return{self._name}end end function +gt:_get_label_lines()local aa=self:_get_argument_list()if#aa==0 then +return{table.concat(self._public_aliases,", ")}end local oa=-1 for ia,na in +ipairs(self._public_aliases)do oa=math.max(oa,#na)end local +sa=table.concat(aa," ")local ha={}for ra,da in ipairs(self._public_aliases)do +local la=(" "):rep(oa-#da)..da.." "..sa if ra~=#self._public_aliases then +la=la..","end table.insert(ha,la)end return ha end function +vt:_get_label_lines()return{table.concat(self._public_aliases,", ")}end +function bt:_get_description()if self._default and self._show_default then if +self._description then +return("%s (default: %s)"):format(self._description,self._default)else +return("default: %s"):format(self._default)end else return self._description +or""end end function vt:_get_description()return self._summary or +self._description or""end function gt:_get_usage()local +ua=self:_get_argument_list()table.insert(ua,1,self._name)ua=table.concat(ua," ")if +self._mincount==0 or self._default then ua="["..ua.."]"end return ua end +function bt:_get_default_target()return self._name end function +gt:_get_default_target()local ca for ma,fa in ipairs(self._public_aliases)do if +fa:sub(1,1)==fa:sub(2,2)then ca=fa:sub(3)break end end ca=ca or +self._name:sub(2)return(ca:gsub("-","_"))end function gt:_is_vararg()return +self._maxargs~=self._minargs end function pt:_get_fullname(wa)local +ya=self._parent if wa and not ya then return""end local pa={self._name}while ya +do if not wa or ya._parent then table.insert(pa,1,ya._name)end ya=ya._parent +end return table.concat(pa," ")end function pt:_update_charset(va)va=va or{}for +ba,ga in ipairs(self._commands)do ga:_update_charset(va)end for ka,qa in +ipairs(self._options)do for ka,ja in ipairs(qa._aliases)do va[ja:sub(1,1)]=true +end end return va end function pt:argument(...)local +xa=bt(...)table.insert(self._arguments,xa)return xa end function +pt:option(...)local za=gt(...)table.insert(self._options,za)return za end +function pt:flag(...)return self:option():args(0)(...)end function +pt:command(...)local Ea=vt():add_help(true)(...)Ea._parent=self +table.insert(self._commands,Ea)return Ea end function pt:mutex(...)local +Ta={...}for Aa,Oa in ipairs(Ta)do local Ia=getmetatable(Oa)assert(Ia==gt or +Ia==bt,("bad argument #%d to 'mutex' (Option or Argument expected)"):format(Aa))end +table.insert(self._mutexes,Ta)return self end function +pt:group(Na,...)assert(type(Na)=="string",("bad argument #1 to 'group' (string expected, got %s)"):format(type(Na)))local +Sa={name=Na,...}for Ha,Ra in ipairs(Sa)do local +Da=getmetatable(Ra)assert(Da==gt or Da==bt or +Da==vt,("bad argument #%d to 'group' (Option or Argument or Command expected)"):format(Ha+1))end +table.insert(self._groups,Sa)return self end local La="Usage: "function +pt:get_usage()if self._usage then return self._usage end local +Ua=self:_inherit_property("usage_margin",#La)local +Ca=self:_inherit_property("usage_max_width",70)local +Ma={La..self:_get_fullname()}local function Fa(Wa)if#Ma[#Ma]+1+#Wa<=Ca then +Ma[#Ma]=Ma[#Ma].." "..Wa else Ma[#Ma+1]=(" "):rep(Ua)..Wa end end local +Ya={}local Pa={}local Va={}local Ba={}local function Ga(Ka,Qa)if Va[Ka]then +return end Va[Ka]=true local Ja={}for Xa,Za in ipairs(Ka)do if not Za._hidden +and not Pa[Za]then if getmetatable(Za)==gt or Za==Qa then +table.insert(Ja,Za:_get_usage())Pa[Za]=true end end end if#Ja==1 then +Fa(Ja[1])elseif#Ja>1 then Fa("("..table.concat(Ja," | ")..")")end end local +function eo(to)if not to._hidden and not Pa[to]then +Fa(to:_get_usage())Pa[to]=true end end for ao,oo in ipairs(self._mutexes)do +local no=false local so=false for ao,ho in ipairs(oo)do if getmetatable(ho)==gt +then if ho:_is_vararg()then no=true end else so=true +Ba[ho]=Ba[ho]or{}table.insert(Ba[ho],oo)end Ya[ho]=true end if not no and not +so then Ga(oo)end end for ro,lo in ipairs(self._options)do if not Ya[lo]and not +lo:_is_vararg()then eo(lo)end end for uo,co in ipairs(self._arguments)do local +mo if Ya[co]then for uo,fo in ipairs(Ba[co])do if not Va[fo]then mo=fo end end +end if mo then Ga(mo,co)else eo(co)end end for wo,yo in ipairs(self._mutexes)do +Ga(yo)end for po,vo in ipairs(self._options)do eo(vo)end if#self._commands>0 +then if self._require_command then Fa("")else Fa("[]")end +Fa("...")end return table.concat(Ma,"\n")end local function bo(go)if go==""then +return{}end local ko={}if go:sub(-1)~="\n"then go=go.."\n"end for qo in +go:gmatch("([^\n]*)\n")do table.insert(ko,qo)end return ko end local function +jo(xo,zo)local Eo={}local To=xo:match("^ *")if xo:find("^ *[%*%+%-]")then +To=To.." "..xo:match("^ *[%*%+%-]( *)")end local Ao={}local Oo=0 local Io=1 +while true do local No,So,Ho=xo:find("([^ ]+)",Io)if not No then break end +local Ro=xo:sub(Io,No-1)Io=So+1 if(#Ao==0)or(Oo+#Ro+#Ho<=zo)then +table.insert(Ao,Ro)table.insert(Ao,Ho)Oo=Oo+#Ro+#Ho else +table.insert(Eo,table.concat(Ao))Ao={To,Ho}Oo=#To+#Ho end end if#Ao>0 then +table.insert(Eo,table.concat(Ao))end if#Eo==0 then Eo[1]=""end return Eo end +local function Do(Lo,Uo)local Co={}for Mo,Fo in ipairs(Lo)do local +Wo=jo(Fo,Uo)for Mo,Yo in ipairs(Wo)do table.insert(Co,Yo)end end return Co end +function pt:_get_element_help(Po)local Vo=Po:_get_label_lines()local +Bo=bo(Po:_get_description())local Go={}local +Ko=self:_inherit_property("help_usage_margin",1)local Qo=(" "):rep(Ko)local +Jo=self:_inherit_property("help_description_margin",23)local +Xo=(" "):rep(Jo)local Zo=self:_inherit_property("help_max_width")if Zo then +local ei=math.max(Zo-Jo,10)Bo=Do(Bo,ei)end if#Vo[1]>=(Jo-Ko)then for ti,ai in +ipairs(Vo)do table.insert(Go,Qo..ai)end for oi,ii in ipairs(Bo)do +table.insert(Go,Xo..ii)end else for ni=1,math.max(#Vo,#Bo)do local +si=Vo[ni]local hi=Bo[ni]local ri=""if si then ri=Qo..si end if hi and +hi~=""then ri=ri..(" "):rep(Jo-#ri)..hi end table.insert(Go,ri)end end return +table.concat(Go,"\n")end local function di(li)local ui={}for ci,mi in +ipairs(li)do ui[getmetatable(mi)]=true end return ui end function +pt:_add_group_help(fi,wi,yi,pi)local vi={yi}for bi,gi in ipairs(pi)do if not +gi._hidden and not wi[gi]then wi[gi]=true +table.insert(vi,self:_get_element_help(gi))end end if#vi>1 then +table.insert(fi,table.concat(vi,("\n"):rep(self:_inherit_property("help_vertical_space",0)+1)))end +end function pt:get_help()if self._help then return self._help end local +ki={self:get_usage()}local qi=self:_inherit_property("help_max_width")if +self._description then local ji=self._description if qi then +ji=table.concat(Do(bo(ji),qi),"\n")end table.insert(ki,ji)end local +xi={[bt]={},[gt]={},[vt]={}}for zi,Ei in ipairs(self._groups)do local +Ti=di(Ei)for zi,Ai in ipairs({bt,gt,vt})do if Ti[Ai]then +table.insert(xi[Ai],Ei)break end end end local +Oi={{name="Arguments",type=bt,elements=self._arguments},{name="Options",type=gt,elements=self._options},{name="Commands",type=vt,elements=self._commands}}local +Ii={}for Ni,Si in ipairs(Oi)do local Hi=xi[Si.type]for Ni,Ri in ipairs(Hi)do +self:_add_group_help(ki,Ii,Ri.name..":",Ri)end local Di=Si.name..":"if#Hi>0 +then Di="Other "..Di:gsub("^.",string.lower)end +self:_add_group_help(ki,Ii,Di,Si.elements)end if self._epilog then local +Li=self._epilog if qi then Li=table.concat(Do(bo(Li),qi),"\n")end +table.insert(ki,Li)end return table.concat(ki,"\n\n")end function +pt:add_help_command(Ui)if Ui then assert(type(Ui)=="string"or +type(Ui)=="table",("bad argument #1 to 'add_help_command' (string or table expected, got %s)"):format(type(Ui)))end +local +Ci=self:command():description"Show help for commands."Ci:argument"command":description"The command to show help for.":args"?":action(function(Mi,Mi,Fi)if +not Fi then print(self:get_help())error()else for Mi,Wi in +ipairs(self._commands)do for Mi,Yi in ipairs(Wi._aliases)do if Yi==Fi then +print(Wi:get_help())error()end end end end +Ci:error(("unknown command '%s'"):format(Fi))end)if Ui then Ci=Ci(Ui)end if not +Ci._name then Ci"help"end Ci._is_help_command=true return self end function +pt:_is_shell_safe()if self._basename then if +self._basename:find("[^%w_%-%+%.]")then return false end else for Pi,Vi in +ipairs(self._aliases)do if Vi:find("[^%w_%-%+%.]")then return false end end end +for Bi,Gi in ipairs(self._options)do for Bi,Ki in ipairs(Gi._aliases)do if +Ki:find("[^%w_%-%+%.]")then return false end end if Gi._choices then for Bi,Qi +in ipairs(Gi._choices)do if Qi:find("[%s'\"]")then return false end end end end +for Ji,Xi in ipairs(self._arguments)do if Xi._choices then for Ji,Zi in +ipairs(Xi._choices)do if Zi:find("[%s'\"]")then return false end end end end +for en,tn in ipairs(self._commands)do if not tn:_is_shell_safe()then return +false end end return true end function pt:add_complete(an)if an then +assert(type(an)=="string"or +type(an)=="table",("bad argument #1 to 'add_complete' (string or table expected, got %s)"):format(type(an)))end +local +on=self:option():description"Output a shell completion script for the specified shell.":args(1):choices{"bash","zsh","fish"}:action(function(nn,nn,sn)io.write(self["get_"..sn.."_complete"](self))error()end)if +an then on=on(an)end if not on._name then on"--completion"end return self end +function pt:add_complete_command(hn)if hn then assert(type(hn)=="string"or +type(hn)=="table",("bad argument #1 to 'add_complete_command' (string or table expected, got %s)"):format(type(hn)))end +local +rn=self:command():description"Output a shell completion script."rn:argument"shell":description"The shell to output a completion script for.":choices{"bash","zsh","fish"}:action(function(dn,dn,ln)io.write(self["get_"..ln.."_complete"](self))error()end)if +hn then rn=rn(hn)end if not rn._name then rn"completion"end return self end +local function un(cn)return cn:gsub("[/\\]*$",""):match(".*[/\\]([^/\\]*)")or +cn end local function mn(fn)local +wn=fn:_get_description():match("^(.-)%.%s")return wn or +fn:_get_description():match("^(.-)%.?$")end function pt:_get_options()local +yn={}for pn,vn in ipairs(self._options)do for pn,bn in ipairs(vn._aliases)do +table.insert(yn,bn)end end return table.concat(yn," ")end function +pt:_get_commands()local gn={}for kn,qn in ipairs(self._commands)do for kn,jn in +ipairs(qn._aliases)do table.insert(gn,jn)end end return table.concat(gn," ")end +function pt:_bash_option_args(xn,zn)local En={}for Tn,An in +ipairs(self._options)do if An._choices or An._minargs>0 then local On if +An._choices then +On='COMPREPLY=($(compgen -W "'..table.concat(An._choices," ")..'" -- "$cur"))'else +On='COMPREPLY=($(compgen -f -- "$cur"))'end +table.insert(En,(" "):rep(zn+4)..table.concat(An._aliases,"|")..")")table.insert(En,(" "):rep(zn+8)..On)table.insert(En,(" "):rep(zn+8).."return 0")table.insert(En,(" "):rep(zn+8)..";;")end +end if#En>0 then +table.insert(xn,(" "):rep(zn)..'case "$prev" in')table.insert(xn,table.concat(En,"\n"))table.insert(xn,(" "):rep(zn).."esac\n")end +end function pt:_bash_get_cmd(In,Nn)if#self._commands==0 then return end +table.insert(In,(" "):rep(Nn)..'args=("${args[@]:1}")')table.insert(In,(" "):rep(Nn)..'for arg in "${args[@]}"; do')table.insert(In,(" "):rep(Nn+4)..'case "$arg" in')for +Sn,Hn in ipairs(self._commands)do +table.insert(In,(" "):rep(Nn+8)..table.concat(Hn._aliases,"|")..")")if +self._parent then +table.insert(In,(" "):rep(Nn+12)..'cmd="$cmd '..Hn._name..'"')else +table.insert(In,(" "):rep(Nn+12)..'cmd="'..Hn._name..'"')end +table.insert(In,(" "):rep(Nn+12)..'opts="$opts '..Hn:_get_options()..'"')Hn:_bash_get_cmd(In,Nn+12)table.insert(In,(" "):rep(Nn+12).."break")table.insert(In,(" "):rep(Nn+12)..";;")end +table.insert(In,(" "):rep(Nn+4).."esac")table.insert(In,(" "):rep(Nn).."done")end +function pt:_bash_cmd_completions(Rn)local Dn={}if self._parent then +self:_bash_option_args(Dn,12)end if#self._commands>0 then +table.insert(Dn,(" "):rep(12)..'COMPREPLY=($(compgen -W "'..self:_get_commands()..'" -- "$cur"))')elseif +self._is_help_command then +table.insert(Dn,(" "):rep(12)..'COMPREPLY=($(compgen -W "'..self._parent:_get_commands()..'" -- "$cur"))')end +if#Dn>0 then +table.insert(Rn,(" "):rep(8).."'"..self:_get_fullname(true).."')")table.insert(Rn,table.concat(Dn,"\n"))table.insert(Rn,(" "):rep(12)..";;")end +for Ln,Un in ipairs(self._commands)do Un:_bash_cmd_completions(Rn)end end +function +pt:get_bash_complete()self._basename=un(self._name)assert(self:_is_shell_safe())local +Cn={([[ +_%s() { + local IFS=$' \t\n' + local args cur prev cmd opts arg + args=("${COMP_WORDS[@]}") + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + opts="%s" +]]):format(self._basename,self:_get_options())}self:_bash_option_args(Cn,4)self:_bash_get_cmd(Cn,4)if#self._commands>0 +then +table.insert(Cn,"")table.insert(Cn,(" "):rep(4)..'case "$cmd" in')self:_bash_cmd_completions(Cn)table.insert(Cn,(" "):rep(4).."esac\n")end +table.insert(Cn,([=[ + if [[ "$cur" = -* ]]; then + COMPREPLY=($(compgen -W "$opts" -- "$cur")) + fi +} + +complete -F _%s -o bashdefault -o default %s +]=]):format(self._basename,self._basename))return +table.concat(Cn,"\n")end function pt:_zsh_arguments(Mn,Fn,Wn)if self._parent +then +table.insert(Mn,(" "):rep(Wn).."options=(")table.insert(Mn,(" "):rep(Wn+2).."$options")else +table.insert(Mn,(" "):rep(Wn).."local -a options=(")end for Yn,Pn in +ipairs(self._options)do local Vn={}if#Pn._aliases>1 then if Pn._maxcount>1 then +table.insert(Vn,'"*"')end +table.insert(Vn,"{"..table.concat(Pn._aliases,",")..'}"')else +table.insert(Vn,'"')if Pn._maxcount>1 then table.insert(Vn,"*")end +table.insert(Vn,Pn._name)end if Pn._description then local +Bn=mn(Pn):gsub('["%]:`$]',"\\%0")table.insert(Vn,"["..Bn.."]")end if +Pn._maxargs==math.huge then table.insert(Vn,":*")end if Pn._choices then +table.insert(Vn,": :("..table.concat(Pn._choices," ")..")")elseif Pn._maxargs>0 +then table.insert(Vn,": :_files")end +table.insert(Vn,'"')table.insert(Mn,(" "):rep(Wn+2)..table.concat(Vn))end +table.insert(Mn,(" "):rep(Wn)..")")table.insert(Mn,(" "):rep(Wn).."_arguments -s -S \\")table.insert(Mn,(" "):rep(Wn+2).."$options \\")if +self._is_help_command then +table.insert(Mn,(" "):rep(Wn+2)..'": :('..self._parent:_get_commands()..')" \\')else +for Gn,Kn in ipairs(self._arguments)do local Qn if Kn._choices then +Qn=": :("..table.concat(Kn._choices," ")..")"else Qn=": :_files"end if +Kn._maxargs==math.huge then +table.insert(Mn,(" "):rep(Wn+2)..'"*'..Qn..'" \\')break end for +Gn=1,Kn._maxargs do table.insert(Mn,(" "):rep(Wn+2)..'"'..Qn..'" \\')end end +if#self._commands>0 then +table.insert(Mn,(" "):rep(Wn+2)..'": :_'..Fn..'_cmds" \\')table.insert(Mn,(" "):rep(Wn+2)..'"*:: :->args" \\')end +end table.insert(Mn,(" "):rep(Wn+2).."&& return 0")end function +pt:_zsh_cmds(Jn,Xn)table.insert(Jn,"\n_"..Xn.."_cmds() {")table.insert(Jn," local -a commands=(")for +Zn,es in ipairs(self._commands)do local ts={}if#es._aliases>1 then +table.insert(ts,"{"..table.concat(es._aliases,",")..'}"')else +table.insert(ts,'"'..es._name)end if es._description then +table.insert(ts,":"..mn(es):gsub('["`$]',"\\%0"))end +table.insert(Jn," "..table.concat(ts)..'"')end +table.insert(Jn,' )\n _describe "command" commands\n}')end function +pt:_zsh_complete_help(as,os,is,ns)if#self._commands==0 then return end +self:_zsh_cmds(os,is)table.insert(as,"\n"..(" "):rep(ns).."case $words[1] in")for +ss,hs in ipairs(self._commands)do local rs=is.."_"..hs._name +table.insert(as,(" "):rep(ns+2)..table.concat(hs._aliases,"|")..")")hs:_zsh_arguments(as,rs,ns+4)hs:_zsh_complete_help(as,os,rs,ns+4)table.insert(as,(" "):rep(ns+4)..";;\n")end +table.insert(as,(" "):rep(ns).."esac")end function +pt:get_zsh_complete()self._basename=un(self._name)assert(self:_is_shell_safe())local +ds={("#compdef %s\n"):format(self._basename)}local +ls={}table.insert(ds,"_"..self._basename.."() {")if#self._commands>0 then +table.insert(ds," local context state state_descr line")table.insert(ds," typeset -A opt_args\n")end +self:_zsh_arguments(ds,self._basename,2)self:_zsh_complete_help(ds,ls,self._basename,2)table.insert(ds,"\n return 1")table.insert(ds,"}")local +us=table.concat(ds,"\n")if#ls>0 then us=us.."\n"..table.concat(ls,"\n")end +return us.."\n\n_"..self._basename.."\n"end local function cs(ms)return +ms:gsub("[\\']","\\%0")end function pt:_fish_get_cmd(fs,ws)if#self._commands==0 +then return end +table.insert(fs,(" "):rep(ws).."set -e cmdline[1]")table.insert(fs,(" "):rep(ws).."for arg in $cmdline")table.insert(fs,(" "):rep(ws+4).."switch $arg")for +ys,ps in ipairs(self._commands)do +table.insert(fs,(" "):rep(ws+8).."case "..table.concat(ps._aliases," "))table.insert(fs,(" "):rep(ws+12).."set cmd $cmd "..ps._name)ps:_fish_get_cmd(fs,ws+12)table.insert(fs,(" "):rep(ws+12).."break")end +table.insert(fs,(" "):rep(ws+4).."end")table.insert(fs,(" "):rep(ws).."end")end +function pt:_fish_complete_help(vs,bs)local gs="complete -c "..bs +table.insert(vs,"")for ks,qs in ipairs(self._commands)do local +js=table.concat(qs._aliases," ")local xs if self._parent then +xs=("%s -n '__fish_%s_using_command %s' -xa '%s'"):format(gs,bs,self:_get_fullname(true),js)else +xs=("%s -n '__fish_%s_using_command' -xa '%s'"):format(gs,bs,js)end if +qs._description then xs=("%s -d '%s'"):format(xs,cs(mn(qs)))end +table.insert(vs,xs)end if self._is_help_command then local +zs=("%s -n '__fish_%s_using_command %s' -xa '%s'"):format(gs,bs,self:_get_fullname(true),self._parent:_get_commands())table.insert(vs,zs)end +for Es,Ts in ipairs(self._options)do local As={gs}if self._parent then +table.insert(As,"-n '__fish_"..bs.."_seen_command "..self:_get_fullname(true).."'")end +for Es,Os in ipairs(Ts._aliases)do if Os:match("^%-.$")then +table.insert(As,"-s "..Os:sub(2))elseif Os:match("^%-%-.+")then +table.insert(As,"-l "..Os:sub(3))end end if Ts._choices then +table.insert(As,"-xa '"..table.concat(Ts._choices," ").."'")elseif +Ts._minargs>0 then table.insert(As,"-r")end if Ts._description then +table.insert(As,"-d '"..cs(mn(Ts)).."'")end +table.insert(vs,table.concat(As," "))end for Is,Ns in ipairs(self._commands)do +Ns:_fish_complete_help(vs,bs)end end function +pt:get_fish_complete()self._basename=un(self._name)assert(self:_is_shell_safe())local +Ss={}if#self._commands>0 then +table.insert(Ss,([[ +function __fish_%s_print_command + set -l cmdline (commandline -poc) + set -l cmd]]):format(self._basename))self:_fish_get_cmd(Ss,4)table.insert(Ss,([[ + echo "$cmd" +end + +function __fish_%s_using_command + test (__fish_%s_print_command) = "$argv" + and return 0 + or return 1 +end + +function __fish_%s_seen_command + string match -q "$argv*" (__fish_%s_print_command) + and return 0 + or return 1 +end]]):format(self._basename,self._basename,self._basename,self._basename))end +self:_fish_complete_help(Ss,self._basename)return +table.concat(Ss,"\n").."\n"end local function Hs(Rs,Ds)local Ls={}local Us +local Cs={}for Ms in pairs(Rs)do if type(Ms)=="string"then for Fs=1,#Ms do +Us=Ms:sub(1,Fs-1)..Ms:sub(Fs+1)if not Ls[Us]then Ls[Us]={}end +table.insert(Ls[Us],Ms)end end end for Ws=1,#Ds+1 do +Us=Ds:sub(1,Ws-1)..Ds:sub(Ws+1)if Rs[Us]then Cs[Us]=true elseif Ls[Us]then for +Ys,Ps in ipairs(Ls[Us])do Cs[Ps]=true end end end local Vs=next(Cs)if Vs then +if next(Cs,Vs)then local Bs={}for Gs in pairs(Cs)do +table.insert(Bs,"'"..Gs.."'")end +table.sort(Bs)return"\nDid you mean one of these: "..table.concat(Bs," ").."?"else +return"\nDid you mean '"..Vs.."'?"end else return""end end local +Ks=n({invocations=0})function Ks:__call(Qs,Js)self.state=Qs +self.result=Qs.result self.element=Js self.target=Js._target or +Js:_get_default_target()self.action,self.result[self.target]=Js:_get_action()return +self end function Ks:error(Xs,...)self.state:error(Xs,...)end function +Ks:convert(Zs,eh)local th=self.element._convert if th then local ah,oh if +type(th)=="function"then ah,oh=th(Zs)elseif type(th[eh])=="function"then +ah,oh=th[eh](Zs)else ah=th[Zs]end if ah==nil then self:error(oh +and"%s"or"malformed argument '%s'",oh or Zs)end Zs=ah end return Zs end +function Ks:default(ih)return self.element._defmode:find(ih)and +self.element._default end local function nh(sh,hh,rh,dh)local lh=""if hh~=rh +then lh="at "..(dh and"most"or"least").." "end local uh=dh and rh or hh return +lh..tostring(uh).." "..sh..(uh==1 and""or"s")end function +Ks:set_name(ch)self.name=("%s '%s'"):format(ch and"option"or"argument",ch or +self.element._name)end function Ks:invoke()self.open=true self.overwrite=false +if self.invocations>=self.element._maxcount then if self.element._overwrite +then self.overwrite=true else local +mh=nh("time",self.element._mincount,self.element._maxcount,true)self:error("%s must be used %s",self.name,mh)end +else self.invocations=self.invocations+1 end self.args={}if +self.element._maxargs<=0 then self:close()end return self.open end function +Ks:check_choices(fh)if self.element._choices then for wh,yh in +ipairs(self.element._choices)do if fh==yh then return end end local +ph="'"..table.concat(self.element._choices,"', '").."'"local +vh=getmetatable(self.element)==gt self:error("%s%s must be one of %s",vh +and"argument for "or"",self.name,ph)end end function +Ks:pass(bh)self:check_choices(bh)bh=self:convert(bh,#self.args+1)table.insert(self.args,bh)if#self.args>=self.element._maxargs +then self:close()end return self.open end function +Ks:complete_invocation()while#self.args0 then +self:error("unknown command '%s'%s",Mh,Hs(self.commands,Mh))else +self:error("too many arguments")end else return Fh end end function +kh:check_mutexes(Wh)if self.element_to_mutexes[Wh.element]then for Yh,Ph in +ipairs(self.element_to_mutexes[Wh.element])do local +Vh=self.mutex_to_element_state[Ph]if Vh and Vh~=Wh then +self:error("%s can not be used together with %s",Wh.name,Vh.name)else +self.mutex_to_element_state[Ph]=Wh end end end end function +kh:invoke(Bh,Gh)self:close()Bh:set_name(Gh)self:check_mutexes(Bh,Gh)if +Bh:invoke()then self.option=Bh end end function kh:pass(Kh)if self.option then +if not self.option:pass(Kh)then self.option=nil end elseif self.argument then +self:check_mutexes(self.argument)if not self.argument:pass(Kh)then +self.argument_i=self.argument_i+1 +self.argument=self.arguments[self.argument_i]end else local +Qh=self:get_command(Kh)self.result[Qh._target or Qh._name]=true if +self.parser._command_target then +self.result[self.parser._command_target]=Qh._name end self:switch(Qh)end end +function kh:close()if self.option then self.option:close()self.option=nil end +end function kh:finalize()self:close()for Jh=self.argument_i,#self.arguments do +local Xh=self.arguments[Jh]if#Xh.args==0 and Xh:default("u")then +Xh:complete_invocation()else Xh:close()end end if self.parser._require_command +and#self.commands>0 then self:error("a command is required")end for Zh,er in +ipairs(self.options)do er.name=er.name +or("option '%s'"):format(er.element._name)if er.invocations==0 then if +er:default("u")then er:invoke()er:complete_invocation()er:close()end end local +tr=er.element._mincount if er.invocations1 +then hr=false if sr:sub(2,2)==rr then if#sr==2 then if self.options[sr]then +local dr=self:get_option(sr)self:invoke(dr,sr)else self:close()end +self.handle_options=false else local lr=sr:find"="if lr then local +ur=sr:sub(1,lr-1)local cr=self:get_option(ur)if cr.element._maxargs<=0 then +self:error("option '%s' does not take arguments",ur)end +self:invoke(cr,ur)self:pass(sr:sub(lr+1))else local +mr=self:get_option(sr)self:invoke(mr,sr)end end else for fr=2,#sr do local +wr=rr..sr:sub(fr,fr)local yr=self:get_option(wr)self:invoke(yr,wr)if fr~=#sr +and yr.element._maxargs>0 then self:pass(sr:sub(fr+1))break end end end end end +end if hr then self:pass(sr)end end self:finalize()return self.result end +function +pt:error(pr)io.stderr:write(("%s\n\nError: %s\n"):format(self:get_usage(),pr))error()end +local vr=rawget(_G,"arg")or{}function pt:_parse(br,gr)return +kh(self,gr):parse(br or vr)end function pt:parse(kr)return +self:_parse(kr,self.error)end local function qr(jr)return +tostring(jr).."\noriginal "..debug.traceback("",2):sub(2)end function +pt:pparse(xr)local zr local Er,Tr=xpcall(function()return +self:_parse(xr,function(Ar,Or)zr=Or error(Or,0)end)end,qr)if Er then return +true,Tr elseif not zr then error(Tr,0)else return false,zr end end local +Ir={}Ir.version="0.7.3"setmetatable(Ir,{__call=function(Nr,...)return +pt(vr[0]):add_help(true)(...)end})return +Ir \ No newline at end of file diff --git a/computer/28/lib/numberformatter.lua b/computer/28/lib/numberformatter.lua new file mode 100644 index 0000000..d11eb2a --- /dev/null +++ b/computer/28/lib/numberformatter.lua @@ -0,0 +1,84 @@ +--[[- Library for formatting numbers + @module numberformatter +]] + +--[[ numberformatter.lua +_ _ _ _ _ _ ___ ____ ____ +|\ | | | |\/| |__] |___ |__/ +| \| |__| | | |__] |___ | \ +____ ____ ____ _ _ ____ ___ ___ ____ ____ +|___ | | |__/ |\/| |__| | | |___ |__/ +| |__| | \ | | | | | | |___ | \ +]] + +local NumberFormatter = { + --- "Metadata" - Version + _VERSION = "1.1.0", + --- "Metadata" - Description + _DESCRIPTION = "Library for formatting numbers", + --- "Metadata" - Homepage / Url + _URL = "https://github.com/Commandcracker/YouCube", + --- "Metadata" - License + _LICENSE = "GPL-3.0" +} +--[[ + NumberFormatter.compact and NumberFormatter.abbreviate based on: + https://devforum.roblox.com/t/how-can-i-turn-a-number-to-a-shorter-number-i-dont-know-how-to-explain-click-to-understand-3/649496/3 +]] + +local Suffixes = { "k", "M", "B", "T", "qd", "Qn", "sx", "Sp", "O", "N", "de", "Ud", "DD", "tdD", "qdD", "QnD", "sxD", + "SpD", "OcD", "NvD", "Vgn", "UVg", "DVg", "TVg", "qtV", "QnV", "SeV", "SPG", "OVG", "NVG", "TGN", "UTG", "DTG", + "tsTG", "qtTG", "QnTG", "ssTG", "SpTG", "OcTG", "NoTG", "QdDR", "uQDR", "dQDR", "tQDR", "qdQDR", "QnQDR", "sxQDR", + "SpQDR", "OQDDr", "NQDDr", "qQGNT", "uQGNT", "dQGNT", "tQGNT", "qdQGNT", "QnQGNT", "sxQGNT", "SpQGNT", "OQQGNT", + "NQQGNT", "SXGNTL" } + +--[[- Format number by LDML's specification for [Compact Number Formats](http://unicode.org/reports/tr35/tr35-numbers.html#Compact_Number_Formats) + @tparam number number The number to format + @treturn string formatted number + @usage Example: + + local numberformatter = require("numberformatter") + print(numberformatter.compact(1000)) + + Output: `1k` +]] +function NumberFormatter.compact(number) + local Negative = number < 0 + number = math.abs(number) + + local Paired = false + for i in pairs(Suffixes) do + if not (number >= 10 ^ (3 * i)) then + number = number / 10 ^ (3 * (i - 1)) + local isComplex = string.find(tostring(number), ".") and string.sub(tostring(number), 4, 4) ~= "." + number = string.sub(tostring(number), 1, isComplex and 4 or 3) .. (Suffixes[i - 1] or "") + Paired = true + break + end + end + if not Paired then + local Rounded = math.floor(number) + number = tostring(Rounded) + end + if Negative then + return "-" .. number + end + return number -- returns 1.0k for example +end + +--[[- Format number - separate thousands by comma + @tparam number number The number to format + @treturn string formatted number + @usage Example: + + local numberformatter = require("numberformatter") + print(numberformatter.abbreviate(1000)) + + Output: `1,000` +]] +function NumberFormatter.abbreviate(number) + local left, num, right = string.match(number, '^([^%d]*%d)(%d*)(.-)$') + return left .. num:reverse():gsub('(%d%d%d)', '%1,'):reverse() .. right +end + +return NumberFormatter diff --git a/computer/28/lib/semver.lua b/computer/28/lib/semver.lua new file mode 100644 index 0000000..c512a9a --- /dev/null +++ b/computer/28/lib/semver.lua @@ -0,0 +1,68 @@ +local +e={_VERSION='1.2.1',_DESCRIPTION='semver for Lua',_URL='https://github.com/kikito/semver.lua',_LICENSE=[[ + MIT LICENSE + + Copyright (c) 2015 Enrique García Cota + + Permission is hereby granted, free of charge, to any person obtaining a + copy of tother software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and tother permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + ]]}local +function +t(a,o)assert(a>=0,o..' must be a valid positive number')assert(math.floor(a)==a,o..' must be an integer')end +local function i(n)return n and n~=''end local function s(h)h=h or""local +r,d={},0 h:gsub("([^%.]+)",function(l)d=d+1 r[d]=l end)return r end local +function u(c)local m,f=c:match("^(-[^+]+)(+.+)$")if not(m and f)then +m=c:match("^(-.+)$")f=c:match("^(+.+)$")end assert(m or +f,("The parameter %q must begin with + or - to denote a prerelease or a build"):format(c))return +m,f end local function w(y)if y then local +p=y:match("^-(%w[%.%w-]*)$")assert(p,("The prerelease %q is not a slash followed by alphanumerics, dots and slashes"):format(y))return +p end end local function v(b)if b then local +g=b:match("^%+(%w[%.%w-]*)$")assert(g,("The build %q is not a + sign followed by alphanumerics, dots and slashes"):format(b))return +g end end local function k(q)if not i(q)then return nil,nil end local +j,x=u(q)local z=w(j)local E=v(x)return z,E end local function T(A)local +O,I,N,S=A:match("^(%d+)%.?(%d*)%.?(%d*)(.-)$")assert(type(O)=='string',("Could not extract version number(s) from %q"):format(A))local +H,R,D=tonumber(O),tonumber(I),tonumber(N)local L,U=k(S)return H,R,D,L,U end +local function C(M,F)return M==F and 0 or M= 0.5 then return math.ceil(n) else return math.floor(n) end end + +local function floatToRawIntBits(f) + if f == 0 then return 0 + elseif f == -0 then return 0x80000000 + elseif f == math.huge then return 0x7F800000 + elseif f == -math.huge then return 0xFF800000 end + local m, e = math.frexp(f) + if e > 127 or e < -126 then error("number out of range", 3) end + e, m = e + 126, round((math.abs(m) - 0.5) * 0x1000000) + if m > 0x7FFFFF then e = e + 1 end + return bit32.bor(f < 0 and 0x80000000 or 0, bit32.lshift(bit32.band(e, 0xFF), 23), bit32.band(m, 0x7FFFFF)) +end + +local function doubleToRawLongBits(f) + if f == 0 then return 0, 0 + elseif f == -0 then return 0x80000000, 0 + elseif f == math.huge then return 0x7FF00000, 0 + elseif f == -math.huge then return 0xFFF00000, 0 end + local m, e = math.frexp(f) + if e > 1023 or e < -1022 then error("number out of range", 3) end + e, m = e + 1022, round((math.abs(m) - 0.5) * 0x20000000000000) + if m > 0xFFFFFFFFFFFFF then e = e + 1 end + return bit32.bor(f < 0 and 0x80000000 or 0, bit32.lshift(bit32.band(e, 0x7FF), 20), bit32.band(m / 0x100000000, 0xFFFFF)), bit32.band(m, 0xFFFFFFFF) +end + +local function intBitsToFloat(l) + if l == 0 then return 0 + elseif l == 0x80000000 then return -0 + elseif l == 0x7F800000 then return math.huge + elseif l == 0xFF800000 then return -math.huge end + local m, e = bit32.band(l, 0x7FFFFF), bit32.band(bit32.rshift(l, 23), 0xFF) + e, m = e - 126, m / 0x1000000 + 0.5 + local n = math.ldexp(m, e) + return bit32.btest(l, 0x80000000) and -n or n +end + +local function longBitsToDouble(lh, ll) + if lh == 0 and ll == 0 then return 0 + elseif lh == 0x80000000 and ll == 0 then return -0 + elseif lh == 0x7FF00000 and ll == 0 then return math.huge + elseif lh == 0xFFF00000 and ll == 0 then return -math.huge end + local m, e = bit32.band(lh, 0xFFFFF) * 0x100000000 + bit32.band(ll, 0xFFFFFFFF), bit32.band(bit32.rshift(lh, 20), 0x7FF) + e, m = e - 1022, m / 0x20000000000000 + 0.5 + local n = math.ldexp(m, e) + return bit32.btest(lh, 0x80000000) and -n or n +end + +local function packint(num, size, output, offset, alignment, endianness, signed) + local total_size = 0 + if offset % math.min(size, alignment) ~= 0 and alignment > 1 then + local i = 0 + while offset % math.min(size, alignment) ~= 0 and i < alignment do + output[offset] = 0 + offset = offset + 1 + total_size = total_size + 1 + i = i + 1 + end + end + if endianness == ByteOrder.BIG_ENDIAN then + local added_padding = 0 + if size > 8 then for i = 0, size - 9 do + output[offset + i] = (signed and num >= 2^(size * 8 - 1) ~= 0) and 0xFF or 0 + added_padding = added_padding + 1 + total_size = total_size + 1 + end end + for i = added_padding, size - 1 do + output[offset + i] = bit32.band(bit32.rshift(num, ((size - i - 1) * 8)), 0xFF) + total_size = total_size + 1 + end + else + for i = 0, math.min(size, 8) - 1 do + output[offset + i] = num / 2^(i * 8) % 256 + total_size = total_size + 1 + end + for i = 8, size - 1 do + output[offset + i] = (signed and num >= 2^(size * 8 - 1) ~= 0) and 0xFF or 0 + total_size = total_size + 1 + end + end + return total_size +end + +local function unpackint(str, offset, size, endianness, alignment, signed) + local result, rsize = 0, 0 + if offset % math.min(size, alignment) ~= 0 and alignment > 1 then + for i = 0, alignment - 1 do + if offset % math.min(size, alignment) == 0 then break end + offset = offset + 1 + rsize = rsize + 1 + end + end + for i = 0, size - 1 do + result = result + str:byte(offset + i) * 2^((endianness == ByteOrder.BIG_ENDIAN and size - i - 1 or i) * 8) + rsize = rsize + 1 + end + if (signed and result >= 2^(size * 8 - 1)) then result = result - 2^(size * 8) end + return result, rsize +end + +local function packoptsize(opt, alignment) + local retval = packoptsize_tbl[opt] or 0 + if (alignment > 1 and retval % alignment ~= 0) then retval = retval + (alignment - (retval % alignment)) end + return retval +end + +--[[ + * string.pack (fmt, v1, v2, ...) + * + * Returns a binary string containing the values v1, v2, etc. + * serialized in binary form (packed) according to the format string fmt. + ]] +local function pack(...) + local fmt = expect(1, ..., "string") + local endianness = ByteOrder.LITTLE_ENDIAN + local alignment = 1 + local pos = 1 + local argnum = 2 + local output = {} + local i = 1 + while i <= #fmt do + local c = fmt:sub(i, i) + i = i + 1 + if c == '=' or c == '<' then + endianness = ByteOrder.LITTLE_ENDIAN + elseif c == '>' then + endianness = ByteOrder.BIG_ENDIAN + elseif c == '!' then + local size = -1 + while (i <= #fmt and fmt:sub(i, i):match("%d")) do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (math.max(size, 0) * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16 or size == 0) then error(string.format("integral size (%d) out of limits [1,16]", size), 2) + elseif (size == -1) then alignment = 4 + else alignment = size end + elseif isint[c] then + local num = expect(argnum, select(argnum, ...), "number") + argnum = argnum + 1 + if (num >= math.pow(2, (packoptsize(c, 0) * 8 - (c:match("%l") and 1 or 0))) or + num < (c:match("%l") and -math.pow(2, (packoptsize(c, 0) * 8 - 1)) or 0)) then + error(string.format("bad argument #%d to 'pack' (integer overflow)", argnum - 1), 2) + end + pos = pos + packint(num, packoptsize(c, 0), output, pos, alignment, endianness, false) + elseif c:lower() == 'i' then + local signed = c == 'i' + local size = -1 + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (math.max(size, 0) * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16 or size == 0) then + error(string.format("integral size (%d) out of limits [1,16]", size), 2) + elseif (alignment > 1 and (size ~= 1 and size ~= 2 and size ~= 4 and size ~= 8 and size ~= 16)) then + error("bad argument #1 to 'pack' (format asks for alignment not power of 2)", 2) + elseif (size == -1) then size = 4 end + local num = expect(argnum, select(argnum, ...), "number") + argnum = argnum + 1 + if (num >= math.pow(2, (size * 8 - (c:match("%l") and 1 or 0))) or + num < (c:match("%l") and -math.pow(2, (size * 8 - 1)) or 0)) then + error(string.format("bad argument #%d to 'pack' (integer overflow)", argnum - 1), 2) + end + pos = pos + packint(num, size, output, pos, alignment, endianness, signed) + elseif c == 'f' then + local f = expect(argnum, select(argnum, ...), "number") + argnum = argnum + 1 + local l = floatToRawIntBits(f) + if (pos % math.min(4, alignment) ~= 0 and alignment > 1) then + for j = 0, alignment - 1 do + if pos % math.min(4, alignment) == 0 then break end + output[pos] = 0 + pos = pos + 1 + end + end + for j = 0, 3 do output[pos + (endianness == ByteOrder.BIG_ENDIAN and 3 - j or j)] = bit32.band(bit32.rshift(l, (j * 8)), 0xFF) end + pos = pos + 4 + elseif c == 'd' or c == 'n' then + local f = expect(argnum, select(argnum, ...), "number") + argnum = argnum + 1 + local lh, ll = doubleToRawLongBits(f) + if (pos % math.min(8, alignment) ~= 0 and alignment > 1) then + for j = 0, alignment - 1 do + if pos % math.min(8, alignment) == 0 then break end + output[pos] = 0 + pos = pos + 1 + end + end + for j = 0, 3 do output[pos + (endianness == ByteOrder.BIG_ENDIAN and 7 - j or j)] = bit32.band(bit32.rshift(ll, (j * 8)), 0xFF) end + for j = 4, 7 do output[pos + (endianness == ByteOrder.BIG_ENDIAN and 7 - j or j)] = bit32.band(bit32.rshift(lh, ((j - 4) * 8)), 0xFF) end + pos = pos + 8 + elseif c == 'c' then + local size = 0 + if (i > #fmt or not fmt:sub(i, i):match("%d")) then + error("missing size for format option 'c'", 2) + end + while (i <= #fmt and fmt:sub(i, i):match("%d")) do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (pos + size < pos or pos + size > 0xFFFFFFFF) then error("bad argument #1 to 'pack' (format result too large)", 2) end + local str = expect(argnum, select(argnum, ...), "string") + argnum = argnum + 1 + if (#str > size) then error(string.format("bad argument #%d to 'pack' (string longer than given size)", argnum - 1), 2) end + if size > 0 then + for j = 0, size - 1 do output[pos+j] = str:byte(j + 1) or 0 end + pos = pos + size + end + elseif c == 'z' then + local str = expect(argnum, select(argnum, ...), "string") + argnum = argnum + 1 + for b in str:gmatch "." do if (b == '\0') then error(string.format("bad argument #%d to 'pack' (string contains zeros)", argnum - 1), 2) end end + for j = 0, #str - 1 do output[pos+j] = str:byte(j + 1) end + output[pos + #str] = 0 + pos = pos + #str + 1 + elseif c == 's' then + local size = 0 + while (i <= #fmt and fmt:sub(i, i):match("%d")) do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16) then + error(string.format("integral size (%d) out of limits [1,16]", size), 2) + elseif (size == 0) then size = 4 end + local str = expect(argnum, select(argnum, ...), "string") + argnum = argnum + 1 + if (#str >= math.pow(2, (size * 8))) then + error(string.format("bad argument #%d to 'pack' (string length does not fit in given size)", argnum - 1), 2) + end + packint(#str, size, output, pos, 1, endianness, false) + for j = size, #str + size - 1 do output[pos+j] = str:byte(j - size + 1) or 0 end + pos = pos + #str + size + elseif c == 'x' then + output[pos] = 0 + pos = pos + 1 + elseif c == 'X' then + if (i >= #fmt) then error("invalid next option for option 'X'", 2) end + local size = 0 + local c = fmt:sub(i, i) + i = i + 1 + if c:lower() == 'i' then + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16 or size == 0) then + error(string.format("integral size (%d) out of limits [1,16]", size), 2) + end + else size = packoptsize(c, 0) end + if (size < 1) then error("invalid next option for option 'X'", 2) end + if (pos % math.min(size, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(size, alignment) == 0 then break end + output[pos] = 0 + pos = pos + 1 + end + end + elseif c ~= ' ' then error(string.format("invalid format option '%s'", c), 2) end + end + return string.char(table.unpack(output)) +end + +--[[ + * string.packsize (fmt) + * + * Returns the size of a string resulting from string.pack with the given format. + * The format string cannot have the variable-length options 's' or 'z'. + ]] +local function packsize(fmt) + local pos = 0 + local alignment = 1 + local i = 1 + while i <= #fmt do + local c = fmt:sub(i, i) + i = i + 1 + if c == '!' then + local size = 0 + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16) then error(string.format("integral size (%d) out of limits [1,16]", size), 2) + elseif (size == 0) then alignment = 4 + else alignment = size end + elseif isint[c] then + local size = packoptsize(c, 0) + if (pos % math.min(size, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(size, alignment) == 0 then break end + pos = pos + 1 + end + end + pos = pos + size + elseif c:lower() == 'i' then + local size = 0 + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16) then + error(string.format("integral size (%d) out of limits [1,16]", size)) + elseif (alignment > 1 and (size ~= 1 and size ~= 2 and size ~= 4 and size ~= 8 and size ~= 16)) then + error("bad argument #1 to 'pack' (format asks for alignment not power of 2)", 2) + elseif (size == 0) then size = 4 end + if (pos % math.min(size, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(size, alignment) == 0 then break end + pos = pos + 1 + end + end + pos = pos + size + elseif c == 'f' then + if (pos % math.min(4, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(4, alignment) == 0 then break end + pos = pos + 1 + end + end + pos = pos + 4 + elseif c == 'd' or c == 'n' then + if (pos % math.min(8, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(8, alignment) == 0 then break end + pos = pos + 1 + end + end + pos = pos + 8 + elseif c == 'c' then + local size = 0 + if (i > #fmt or not fmt:sub(i, i):match("%d")) then + error("missing size for format option 'c'", 2) + end + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (pos + size < pos or pos + size > 0x7FFFFFFF) then error("bad argument #1 to 'packsize' (format result too large)", 2) end + pos = pos + size + elseif c == 'x' then + pos = pos + 1 + elseif c == 'X' then + if (i >= #fmt) then error("invalid next option for option 'X'", 2) end + local size = 0 + local c = fmt:sub(i, i) + i = i + 1 + if c:lower() == 'i' then + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16 or size == 0) then + error(string.format("integral size (%d) out of limits [1,16]", size), 2) + end + else size = packoptsize(c, 0) end + if (size < 1) then error("invalid next option for option 'X'", 2) end + if (pos % math.min(size, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(size, alignment) == 0 then break end + pos = pos + 1 + end + end + elseif c == 's' or c == 'z' then error("bad argument #1 to 'packsize' (variable-length format)", 2) + elseif c ~= ' ' and c ~= '<' and c ~= '>' and c ~= '=' then error(string.format("invalid format option '%s'", c), 2) end + end + return pos +end + +--[[ + * string.unpack (fmt, s [, pos]) + * + * Returns the values packed in string s (see string.pack) according to the format string fmt. + * An optional pos marks where to start reading in s (default is 1). + * After the read values, this function also returns the index of the first unread byte in s. + ]] +local function unpack(fmt, str, pos) + expect(1, fmt, "string") + expect(2, str, "string") + expect(3, pos, "number", "nil") + if pos then + if (pos < 0) then pos = #str + pos + elseif (pos == 0) then error("bad argument #3 to 'unpack' (initial position out of string)", 2) end + if (pos > #str or pos < 0) then error("bad argument #3 to 'unpack' (initial position out of string)", 2) end + else pos = 1 end + local endianness = ByteOrder.LITTLE_ENDIAN + local alignment = 1 + local retval = {} + local i = 1 + while i <= #fmt do + local c = fmt:sub(i, i) + i = i + 1 + if c == '<' or c == '=' then + endianness = ByteOrder.LITTLE_ENDIAN + elseif c == '>' then + endianness = ByteOrder.BIG_ENDIAN + elseif c == '!' then + local size = 0 + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16) then + error(string.format("integral size (%d) out of limits [1,16]", size)) + elseif (size == 0) then alignment = 4 + else alignment = size end + elseif isint[c] then + if (pos + packoptsize(c, 0) > #str + 1) then error("data string too short", 2) end + local res, ressz = unpackint(str, pos, packoptsize(c, 0), endianness, alignment, c:match("%l") ~= nil) + retval[#retval+1] = res + pos = pos + ressz + elseif c:lower() == 'i' then + local signed = c == 'i' + local size = 0 + while (i <= #fmt and fmt:sub(i, i):match("%d")) do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16) then + error(string.format("integral size (%d) out of limits [1,16]", size), 2) + elseif (size > 8) then + error(string.format("%d-byte integer does not fit into Lua Integer", size), 2) + elseif (size == 0) then size = 4 end + if (pos + size > #str + 1) then error("data string too short", 2) end + local res, ressz = unpackint(str, pos, size, endianness, alignment, signed) + retval[#retval+1] = res + pos = pos + ressz + elseif c == 'f' then + if (pos % math.min(4, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(4, alignment) == 0 then break end + pos = pos + 1 + end + end + if (pos + 4 > #str + 1) then error("data string too short", 2) end + local res = unpackint(str, pos, 4, endianness, alignment, false) + retval[#retval+1] = intBitsToFloat(res) + pos = pos + 4 + elseif c == 'd' or c == 'n' then + if (pos % math.min(8, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(8, alignment) == 0 then break end + pos = pos + 1 + end + end + if (pos + 8 > #str + 1) then error("data string too short", 2) end + local lh, ll = 0, 0 + for j = 0, 3 do lh = bit32.bor(lh, bit32.lshift((str:byte(pos + j)), ((endianness == ByteOrder.BIG_ENDIAN and 3 - j or j) * 8))) end + for j = 0, 3 do ll = bit32.bor(ll, bit32.lshift((str:byte(pos + j + 4)), ((endianness == ByteOrder.BIG_ENDIAN and 3 - j or j) * 8))) end + if endianness == ByteOrder.LITTLE_ENDIAN then lh, ll = ll, lh end + retval[#retval+1] = longBitsToDouble(lh, ll) + pos = pos + 8 + elseif c == 'c' then + local size = 0 + if (i > #fmt or not fmt:sub(i, i):match("%d")) then + error("missing size for format option 'c'", 2) + end + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)") end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (pos + size > #str + 1) then error("data string too short", 2) end + retval[#retval+1] = str:sub(pos, pos + size - 1) + pos = pos + size + elseif c == 'z' then + local size = 0 + while (str:byte(pos + size) ~= 0) do + size = size + 1 + if (pos + size > #str) then error("unfinished string for format 'z'", 2) end + end + retval[#retval+1] = str:sub(pos, pos + size - 1) + pos = pos + size + 1 + elseif c == 's' then + local size = 0 + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16) then + error(string.format("integral size (%d) out of limits [1,16]", size), 2) + elseif (size == 0) then size = 4 end + if (pos + size > #str + 1) then error("data string too short", 2) end + local num, numsz = unpackint(str, pos, size, endianness, alignment, false) + pos = pos + numsz + if (pos + num > #str + 1) then error("data string too short", 2) end + retval[#retval+1] = str:sub(pos, pos + num - 1) + pos = pos + num + elseif c == 'x' then + pos = pos + 1 + elseif c == 'X' then + if (i >= #fmt) then error("invalid next option for option 'X'", 2) end + local size = 0 + local c = fmt:sub(i, i) + i = i + 1 + if c:lower() == 'i' then + while i <= #fmt and fmt:sub(i, i):match("%d") do + if (size >= 0xFFFFFFFF / 10) then error("bad argument #1 to 'pack' (invalid format)", 2) end + size = (size * 10) + tonumber(fmt:sub(i, i)) + i = i + 1 + end + if (size > 16 or size == 0) then + error(string.format("integral size (%d) out of limits [1,16]", size), 2) + elseif (size == -1) then size = 4 end + else size = packoptsize(c, 0) end + if (size < 1) then error("invalid next option for option 'X'", 2) end + if (pos % math.min(size, alignment) ~= 0 and alignment > 1) then + for j = 1, alignment do + if pos % math.min(size, alignment) == 0 then break end + pos = pos + 1 + end + end + elseif c ~= ' ' then error(string.format("invalid format option '%s'", c), 2) end + end + retval[#retval+1] = pos + return table.unpack(retval) +end + +return { + pack = pack, + packsize = packsize, + unpack = unpack +} \ No newline at end of file diff --git a/computer/28/lib/youcubeapi.lua b/computer/28/lib/youcubeapi.lua new file mode 100644 index 0000000..9a5b0c1 --- /dev/null +++ b/computer/28/lib/youcubeapi.lua @@ -0,0 +1,637 @@ +--[[- Lua library for accessing [YouCub's API](https://commandcracker.github.io/YouCube/) + @module youcubeapi +]] + +--[[ youcubeapi.lua +_ _ ____ _ _ ____ _ _ ___ ____ ____ ___ _ + \_/ | | | | | | | |__] |___ |__| |__] | + | |__| |__| |___ |__| |__] |___ | | | | +]] + +--[[- "wrapper" for accessing [YouCub's API](https://commandcracker.github.io/YouCube/) + @type API + @usage Example: + + local youcubeapi = require("youcubeapi") + local api = youcubeapi.API.new() + api:detect_bestest_server() + api:request_media(url) + local data = api.websocket.receive() +]] +local API = {} + +--- Create's a new API instance. +-- @param websocket [Websocket](https://tweaked.cc/module/http.html#ty:Websocket) The websocket. +-- @treturn API instance +function API.new(websocket) + return setmetatable({ + websocket = websocket, + }, { __index = API }) +end + +-- Look at the [Documentation](https://commandcracker.github.io/YouCube/) for moor information +-- Contact the server owner on Discord, when the server is down +local servers = { + "ws://127.0.0.1:5000", -- Your server! + "wss://us-ky.youcube.knijn.one", -- By EmmaKnijn + "wss://youcube.knijn.one", -- By EmmaKnijn + "wss://youcube.onrender.com", -- By Commandcracker#8528 +} + +if settings then + local server = settings.get("youcube.server") + if server then + table.insert(servers, 1, server) + end +end + +local function websocket_with_timeout(_url, _headers, _timeout) + if http.websocketAsync then + local websocket, websocket_error = http.websocketAsync(_url, _headers) + if not websocket then + return false, websocket_error + end + + local timerID = os.startTimer(_timeout) + + while true do + local event, param1, param2 = os.pullEvent() + + -- TODO: Close web-socket when the connection succeeds after the timeout + if event == "websocket_success" and param1 == _url then + return param2 + elseif event == "websocket_failure" and param1 == _url then + return false, param2 + elseif event == "timer" and param1 == timerID then + return false, "Timeout" + end + end + end + + -- use websocket without timeout + -- when the CC version dos not support websocketAsync + return http.websocket(_url, _headers) +end + +--- Connects to a YouCub Server +function API:detect_bestest_server(_server, _verbose) + if _server then + table.insert(servers, 1, _server) + end + + for i = 1, #servers do + local server = servers[i] + local ok, err = http.checkURL(server:gsub("^ws://", "http://"):gsub("^wss://", "https://")) + + if ok then + if _verbose then + print("Trying to connect to:", server) + end + local websocket, websocket_error = websocket_with_timeout(server, nil, 5) + + if websocket ~= false then + term.write("Using the YouCube server: ") + term.setTextColor(colors.blue) + print(server) + term.setTextColor(colors.white) + self.websocket = websocket + break + elseif i == #servers then + error(websocket_error) + elseif _verbose then + print(websocket_error) + end + elseif i == #servers then + error(err) + elseif _verbose then + print(err) + end + end +end + +--- Receive data from The YouCub Server +-- @tparam string filter action filter +-- @treturn table retval data +function API:receive(filter) + local status, retval = pcall(self.websocket.receive) + if not status then + error("Lost connection to server\n" .. retval) + end + + if retval == nil then + error("Received empty message or max message size exceeded") + end + + local data, err = textutils.unserialiseJSON(retval) + + if data == nil then + error("Failed to parse message\n" .. err) + end + + if filter then + --if type(filter) == "table" then + -- if not filter[data.action] then + -- return self:receive(filter) + -- end + --else + if data.action ~= filter then + return self:receive(filter) + end + end + + return data +end + +--- Send data to The YouCub Server +-- @tparam table data data to send +function API:send(data) + local status, retval = pcall(self.websocket.send, textutils.serialiseJSON(data)) + if not status then + error("Lost connection to server\n" .. retval) + end +end + +--[[- [Base64](https://wikipedia.org/wiki/Base64) functions + @type Base64 +]] +local Base64 = {} + +local b64str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" + +-- based on https://github.com/MCJack123/sanjuuni/blob/c64f8725a9f24dec656819923457717dfb964515/raw-player.lua +--- Decode base64 string +-- @tparam string str base64 string +-- @treturn string string decoded string +function Base64.decode(str) + local retval = "" + for s in str:gmatch("....") do + if s:sub(3, 4) == "==" then + retval = retval + .. string.char( + bit32.bor( + bit32.lshift(b64str:find(s:sub(1, 1)) - 1, 2), + bit32.rshift(b64str:find(s:sub(2, 2)) - 1, 4) + ) + ) + elseif s:sub(4, 4) == "=" then + local n = (b64str:find(s:sub(1, 1)) - 1) * 4096 + + (b64str:find(s:sub(2, 2)) - 1) * 64 + + (b64str:find(s:sub(3, 3)) - 1) + retval = retval .. string.char(bit32.extract(n, 10, 8)) .. string.char(bit32.extract(n, 2, 8)) + else + local n = (b64str:find(s:sub(1, 1)) - 1) * 262144 + + (b64str:find(s:sub(2, 2)) - 1) * 4096 + + (b64str:find(s:sub(3, 3)) - 1) * 64 + + (b64str:find(s:sub(4, 4)) - 1) + retval = retval + .. string.char(bit32.extract(n, 16, 8)) + .. string.char(bit32.extract(n, 8, 8)) + .. string.char(bit32.extract(n, 0, 8)) + end + end + return retval +end + +--- Request a `16 * 1024` bit chunk +-- @tparam number chunkindex The chunkindex +-- @tparam string id Media id +-- @treturn bytes chunk `16 * 1024` bit chunk +function API:get_chunk(chunkindex, id) + self:send({ + ["action"] = "get_chunk", + ["chunkindex"] = chunkindex, + ["id"] = id, + }) + return Base64.decode(self:receive("chunk").chunk) +end + +--- Get 32vid +-- @tparam number line The line to return +-- @tparam string id Media id +-- @tparam number width Video width +-- @tparam number height Video height +-- @treturn string line one line of the given 32vid +function API:get_vid(tracker, id, width, height) + self:send({ + ["action"] = "get_vid", + ["tracker"] = tracker, + ["id"] = id, + ["width"] = width * 2, + ["height"] = height * 3, + }) + return self:receive("vid") +end + +--- Request media +-- @tparam string url Url or Search Term +--@treturn table json response +function API:request_media(url, width, height) + local request = { + ["action"] = "request_media", + ["url"] = url, + } + if width and height then + request.width = width * 2 + request.height = height * 3 + end + self:send(request) + --return self:receive({ ["media"] = true, ["status"] = true }) +end + +--- Handshake - get Server capabilities and version +--@treturn table json response +function API:handshake() + self:send({ + ["action"] = "handshake", + }) + return self:receive("handshake") +end + +--[[- Abstraction for Audio Devices + @type AudioDevice +]] +local AudioDevice = {} + +--- Create's a new AudioDevice instance. +-- @tparam table object Base values +-- @treturn AudioDevice instance +function AudioDevice.new(object) + -- @type AudioDevice + local self = object or {} + + function self:validate() end + + function self:setLabel(lable) end + + function self:write(chunk) end + + function self:play() end + + function self:reset() end + + function self:setVolume(volume) end + + return self +end + +--[[- @{AudioDevice} from a Speaker + @type Speaker + @usage Example: + + local youcubeapi = require("youcubeapi") + local speaker = peripheral.find("speaker") + local audiodevice = youcubeapi.Speaker.new(speaker) +]] +local Speaker = {} + +local decoder +local status, dfpwm = pcall(require, "cc.audio.dfpwm") + +if status then + decoder = dfpwm.make_decoder() +end + +--- Create's a new Tape instance. +-- @tparam speaker speaker The speaker +-- @treturn AudioDevice|Speaker instance +function Speaker.new(speaker) + local self = AudioDevice.new({ speaker = speaker }) + + function self:validate() + if not decoder then + return "This ComputerCraft version dos not support DFPWM" + end + end + + function self:setVolume(volume) + self.volume = volume + end + + function self:write(chunk) + local buffer = decoder(chunk) + while not self.speaker.playAudio(buffer, self.volume) do + os.pullEvent("speaker_audio_empty") + end + end + + return self +end + +--[[- @{AudioDevice} from a [Computronics tape_drive](https://wiki.vexatos.com/wiki:computronics:tape) + @type Tape + @usage Example: + + local youcubeapi = require("youcubeapi") + local tape_drive = peripheral.find("tape_drive") + local audiodevice = youcubeapi.Tape.new(tape_drive) +]] +local Tape = {} + +--- Create's a new Tape instance. +-- @tparam tape tape The tape_drive +-- @treturn AudioDevice|Tape instance +function Tape.new(tape) + local self = AudioDevice.new({ tape = tape }) + + function self:validate() + if not self.tape.isReady() then + return "You need to insert a tape" + end + end + + function self:setVolume(volume) + if volume then + self.tape.setVolume(volume) + end + end + + function self:play(chunk) + self.tape.seek(-self.tape.getSize()) + self.tape.play() + end + + function self:write(chunk) + self.tape.write(chunk) + end + + function self:setLabel(lable) + self.tape.setLabel(lable) + end + + function self:reset() + -- based on https://github.com/Vexatos/Computronics/blob/b0ade53cab10529dbe91ebabfa882d1b4b21fa90/src/main/resources/assets/computronics/lua/peripheral/tape_drive/programs/tape_drive/tape#L109-L123 + local size = self.tape.getSize() + self.tape.stop() + self.tape.seek(-size) + self.tape.stop() + self.tape.seek(-90000) + local s = string.rep(string.char(170), 8192) + for i = 1, size + 8191, 8192 do + self.tape.write(s) + end + self.tape.seek(-size) + self.tape.seek(-90000) + end + + return self +end + +--[[- Abstract object for filling a @{Buffer} + @type Filler +]] +local Filler = {} + +--- Create's a new Filler instance. +-- @treturn Filler instance +function Filler.new() + local self = {} + function self:next() end + + return self +end + +--[[- @{Filler} for Audio + @type AudioFiller +]] +local AudioFiller = {} + +--- Create's a new AudioFiller instance. +-- @tparam API youcubeapi API object +-- @tparam string id Media id +-- @treturn AudioFiller|Filler instance +function AudioFiller.new(youcubeapi, id) + local self = { + id = id, + chunkindex = 0, + youcubeapi = youcubeapi, + } + + function self:next() + local response = self.youcubeapi:get_chunk(self.chunkindex, self.id) + self.chunkindex = self.chunkindex + 1 + return response + end + + return self +end + +--[[- @{Filler} for Video + @type VideoFiller +]] +local VideoFiller = {} + +--- Create's a new VideoFiller instance. +-- @tparam API youcubeapi API object +-- @tparam string id Media id +-- @tparam number width Video width +-- @tparam number height Video height +-- @treturn VideoFiller|Filler instance +function VideoFiller.new(youcubeapi, id, width, height) + local self = { + id = id, + width = width, + height = height, + tracker = 0, + youcubeapi = youcubeapi, + } + + function self:next() + local response = self.youcubeapi:get_vid(self.tracker, self.id, self.width, self.height) + for i = 1, #response.lines do + self.tracker = self.tracker + #response.lines[i] + 1 + end + return response.lines + end + + return self +end + +--[[- Buffers Data + @type Buffer +]] +local Buffer = {} + +--- Create's a new Buffer instance. +-- @tparam Filler filler filler instance +-- @tparam number size buffer limit +-- @treturn Buffer instance +function Buffer.new(filler, size) + local self = { + filler = filler, + size = size, + } + self.buffer = {} + + function self:next() + while #self.buffer == 0 do + os.pullEvent() + end -- Wait until next is available + local next = self.buffer[1] + table.remove(self.buffer, 1) + return next + end + + function self:fill() + if #self.buffer < self.size then + local next = filler:next() + if type(next) == "table" then + for i = 1, #next do + self.buffer[#self.buffer + 1] = next[i] + end + else + self.buffer[#self.buffer + 1] = next + end + return true + end + return false + end + + return self +end + +local currnt_palette = {} + +for i = 0, 15 do + local r, g, b = term.getPaletteColour(2 ^ i) + currnt_palette[i] = { r, g, b } +end + +local function reset_term() + for i = 0, 15 do + term.setPaletteColor(2 ^ i, currnt_palette[i][1], currnt_palette[i][2], currnt_palette[i][3]) + end + term.setBackgroundColor(colors.black) + term.setTextColor(colors.white) + term.clear() + term.setCursorPos(1, 1) +end + +--[[- Create's a new Buffer instance. + + Based on [sanjuuni/raw-player.lua](https://github.com/MCJack123/sanjuuni/blob/c64f8725a9f24dec656819923457717dfb964515/raw-player.lua) + and [sanjuuni/websocket-player.lua](https://github.com/MCJack123/sanjuuni/blob/30dcabb4b56f1eb32c88e1bce384b0898367ebda/websocket-player.lua) + @tparam Buffer buffer filled with frames +]] +local function play_vid(buffer, force_fps, string_unpack) + if not string_unpack then + string_unpack = string.unpack + end + local Fwidth, Fheight = term.getSize() + local tracker = 0 + + if buffer:next() ~= "32Vid 1.1" then + error("Unsupported file") + end + + local fps = tonumber(buffer:next()) + if force_fps then + fps = force_fps + end + + -- Adjust buffer size + buffer.size = math.ceil(fps) * 2 + + local first, second = buffer:next(), buffer:next() + + if second == "" or second == nil then + fps = 0 + end + term.clear() + + local start = os.epoch("utc") + local frame_count = 0 + while true do + frame_count = frame_count + 1 + local frame + if first then + frame, first = first, nil + elseif second then + frame, second = second, nil + else + frame = buffer:next() + end + if frame == "" or frame == nil then + break + end + local mode = frame:match("^!CP([CD])") + if not mode then + error("Invalid file") + end + local b64data + if mode == "C" then + local len = tonumber(frame:sub(5, 8), 16) + b64data = frame:sub(9, len + 8) + else + local len = tonumber(frame:sub(5, 16), 16) + b64data = frame:sub(17, len + 16) + end + local data = Base64.decode(b64data) + -- TODO: maybe verify checksums? + assert(data:sub(1, 4) == "\0\0\0\0" and data:sub(9, 16) == "\0\0\0\0\0\0\0\0", "Invalid file") + local width, height = string_unpack("HH", data, 5) + local c, n, pos = string_unpack("c1B", data, 17) + local text = {} + for y = 1, height do + text[y] = "" + for x = 1, width do + text[y] = text[y] .. c + n = n - 1 + if n == 0 then + c, n, pos = string_unpack("c1B", data, pos) + end + end + end + c = c:byte() + for y = 1, height do + local fg, bg = "", "" + for x = 1, width do + fg, bg = fg .. ("%x"):format(bit32.band(c, 0x0F)), bg .. ("%x"):format(bit32.rshift(c, 4)) + n = n - 1 + if n == 0 then + c, n, pos = string_unpack("BB", data, pos) + end + end + term.setCursorPos(1, y) + term.blit(text[y], fg, bg) + end + pos = pos - 2 + local r, g, b + for i = 0, 15 do + r, g, b, pos = string_unpack("BBB", data, pos) + term.setPaletteColor(2 ^ i, r / 255, g / 255, b / 255) + end + if fps == 0 then + read() + break + else + while os.epoch("utc") < start + (frame_count + 1) / fps * 1000 do + sleep(1 / fps) + end + end + end + reset_term() +end + +return { + --- "Metadata" - [YouCube API](https://commandcracker.github.io/YouCube/) Version + _API_VERSION = "0.0.0-poc.1.0.0", + --- "Metadata" - Library Version + _VERSION = "0.0.0-poc.1.4.2", + --- "Metadata" - Description + _DESCRIPTION = "Library for accessing YouCub's API", + --- "Metadata" - Homepage / Url + _URL = "https://github.com/Commandcracker/YouCube", + --- "Metadata" - License + _LICENSE = "GPL-3.0", + API = API, + AudioDevice = AudioDevice, + Speaker = Speaker, + Tape = Tape, + Base64 = Base64, + Filler = Filler, + AudioFiller = AudioFiller, + VideoFiller = VideoFiller, + Buffer = Buffer, + play_vid = play_vid, + reset_term = reset_term, +} diff --git a/computer/28/startup.lua b/computer/28/startup.lua new file mode 100644 index 0000000..8cc70de --- /dev/null +++ b/computer/28/startup.lua @@ -0,0 +1,19 @@ +rednet.open("right") + + +while true do + sender,message = rednet.receive("elevator") + if sender == 27 then + rednet.send( + sender, + { + pcall( + peripheral.call, + unpack(message) + ) + }, + "elevator" + ) + print(unpack(message),"called") + end +end diff --git a/computer/28/youcube.lua b/computer/28/youcube.lua new file mode 100644 index 0000000..5dbc5fc --- /dev/null +++ b/computer/28/youcube.lua @@ -0,0 +1,604 @@ +--[[ +_ _ ____ _ _ ____ _ _ ___ ____ + \_/ | | | | | | | |__] |___ + | |__| |__| |___ |__| |__] |___ + +Github Repository: https://github.com/Commandcracker/YouCube +License: GPL-3.0 +]] + +local _VERSION = "0.0.0-poc.1.1.2" + +-- Libraries - OpenLibrarieLoader v1.0.1 -- + +--TODO: Optional libs: +-- For something like a JSON lib that is only needed for older CC Versions or +-- optional logging.lua support + +local function is_lib(libs, lib) + for i = 1, #libs do + local value = libs[i] + if value == lib or value .. ".lua" == lib then + return true, value + end + end + return false +end + +local libs = { "youcubeapi", "numberformatter", "semver", "argparse", "string_pack" } +local lib_paths = { ".", "./lib", "./apis", "./modules", "/", "/lib", "/apis", "/modules" } + +-- LevelOS Support +if _G.lOS then + lib_paths[#lib_paths + 1] = "/Program_Files/YouCube/lib" +end + +local function load_lib(lib) + if require then + return require(lib:gsub(".lua", "")) + end + return dofile(lib) +end + +for i_path = 1, #lib_paths do + local path = lib_paths[i_path] + if fs.exists(path) then + local files = fs.list(path) + for i_file = 1, #files do + local found, lib = is_lib(libs, files[i_file]) + if found and lib ~= nil and libs[lib] == nil then + libs[lib] = load_lib(path .. "/" .. files[i_file]) + end + end + end +end + +for i = 1, #libs do + local lib = libs[i] + if libs[lib] == nil then + error(('Library "%s" not found.'):format(lib)) + end +end + +-- args -- + +local function get_program_name() + if arg then + return arg[0] + end + return fs.getName(shell.getRunningProgram()):gsub("[\\.].*$", "") +end + +-- stylua: ignore start + +local parser = libs.argparse { + help_max_width = ({ term.getSize() })[1], + name = get_program_name() +} + :description "Official YouCube client for accessing media from services like YouTube" + +parser:argument "URL" + :args "*" + :description "URL or search term." + +parser:flag "-v" "--verbose" + :description "Enables verbose output." + :target "verbose" + :action "store_true" + +parser:option "-V" "--volume" + :description "Sets the volume of the audio. A value from 0-100" + :target "volume" + +parser:option "-s" "--server" + :description "The server that YC should use." + :target "server" + :args(1) + +parser:flag "--nv" "--no-video" + :description "Disables video." + :target "no_video" + :action "store_true" + +parser:flag "--na" "--no-audio" + :description "Disables audio." + :target "no_audio" + :action "store_true" + +parser:flag "--sh" "--shuffle" + :description "Shuffles audio before playing" + :target "shuffle" + :action "store_true" + +parser:flag "-l" "--loop" + :description "Loops the media." + :target "loop" + :action "store_true" + +parser:flag "--lp" "--loop-playlist" + :description "Loops the playlist." + :target "loop_playlist" + :action "store_true" + +parser:option "--fps" + :description "Force sanjuuni to use a specified frame rate" + :target "force_fps" + +-- stylua: ignore end + +local args = parser:parse({ ... }) + +if args.force_fps then + args.force_fps = tonumber(args.force_fps) +end + +if args.volume then + args.volume = tonumber(args.volume) + if args.volume == nil then + parser:error("Volume must be a number") + end + + if args.volume > 100 then + parser:error("Volume cant be over 100") + end + + if args.volume < 0 then + parser:error("Volume cant be below 0") + end + args.volume = args.volume / 100 +end + +if #args.URL > 0 then + args.URL = table.concat(args.URL, " ") +else + args.URL = nil +end + +if args.no_video and args.no_audio then + parser:error("Nothing will happen, when audio and video is disabled!") +end + +-- CraftOS-PC support -- + +if periphemu then + periphemu.create("top", "speaker") + -- Fuck the max websocket message police + config.set("http_max_websocket_message", 2 ^ 30) +end + +local function get_audiodevices() + local audiodevices = {} + + local speakers = { peripheral.find("speaker") } + for i = 1, #speakers do + audiodevices[#audiodevices + 1] = libs.youcubeapi.Speaker.new(speakers[i]) + end + + local tapes = { peripheral.find("tape_drive") } + for i = 1, #tapes do + audiodevices[#audiodevices + 1] = libs.youcubeapi.Tape.new(tapes[i]) + end + + if #audiodevices == 0 then + -- Disable audio when no audiodevice is found + args.no_audio = true + return audiodevices + end + + -- Validate audiodevices + local last_error + local valid_audiodevices = {} + + for i = 1, #audiodevices do + local audiodevice = audiodevices[i] + local _error = audiodevice:validate() + if _error == nil then + valid_audiodevices[#valid_audiodevices + 1] = audiodevice + else + last_error = _error + end + end + + if #valid_audiodevices == 0 then + error(last_error) + end + + return valid_audiodevices +end + +-- main -- + +local youcubeapi = libs.youcubeapi.API.new() +local audiodevices = get_audiodevices() + +-- update check -- + +local function get_versions() + local url = "https://raw.githubusercontent.com/CC-YouCube/installer/main/versions.json" + + -- Check if the URL is valid + local ok, err = http.checkURL(url) + if not ok then + printError("Invalid Update URL.", '"' .. url .. '" ', err) + return + end + + local response, http_err = http.get(url, nil, true) + if not response then + printError('Failed to retreat data from update URL. "' .. url .. '" (' .. http_err .. ")") + return + end + + local sResponse = response.readAll() + response.close() + + return textutils.unserialiseJSON(sResponse) +end + +local function write_colored(text, color) + term.setTextColor(color) + term.write(text) +end + +local function new_line() + local w, h = term.getSize() + local x, y = term.getCursorPos() + if y + 1 <= h then + term.setCursorPos(1, y + 1) + else + term.setCursorPos(1, h) + term.scroll(1) + end +end + +local function write_outdated(current, latest) + if libs.semver(current) ^ libs.semver(latest) then + term.setTextColor(colors.yellow) + else + term.setTextColor(colors.red) + end + + term.write(current) + write_colored(" -> ", colors.lightGray) + write_colored(latest, colors.lime) + term.setTextColor(colors.white) + new_line() +end + +local function can_update(name, current, latest) + if libs.semver(current) < libs.semver(latest) then + term.write(name .. " ") + write_outdated(current, latest) + end +end + +local function update_checker() + local versions = get_versions() + if versions == nil then + return + end + + can_update("youcube", _VERSION, versions.client.version) + can_update("youcubeapi", libs.youcubeapi._VERSION, versions.client.libraries.youcubeapi.version) + can_update("numberformatter", libs.numberformatter._VERSION, versions.client.libraries.numberformatter.version) + can_update("semver", tostring(libs.semver._VERSION), versions.client.libraries.semver.version) + can_update("argparse", libs.argparse.version, versions.client.libraries.argparse.version) + + local handshake = youcubeapi:handshake() + + if libs.semver(handshake.server.version) < libs.semver(versions.server.version) then + print("Tell the server owner to update their server!") + write_outdated(handshake.server.version, versions.server.version) + end + + if not libs.semver(libs.youcubeapi._API_VERSION) ^ libs.semver(handshake.api.version) then + print("Client is not compatible with server") + write_colored(libs.youcubeapi._API_VERSION, colors.red) + write_colored(" ^ ", colors.lightGray) + write_colored(handshake.api.version, colors.red) + term.setTextColor(colors.white) + new_line() + end + + if libs.semver(libs.youcubeapi._API_VERSION) < libs.semver(versions.api.version) then + print("Your client is using an outdated API version") + write_outdated(libs.youcubeapi._API_VERSION, versions.api.version) + end + + if libs.semver(handshake.api.version) < libs.semver(versions.api.version) then + print("The server is using an outdated API version") + write_outdated(libs.youcubeapi._API_VERSION, versions.api.version) + end +end + +local function play_audio(buffer, title) + for i = 1, #audiodevices do + local audiodevice = audiodevices[i] + audiodevice:reset() + audiodevice:setLabel(title) + audiodevice:setVolume(args.volume) + end + + while true do + local chunk = buffer:next() + + -- Adjust buffer size on first chunk + if buffer.filler.chunkindex == 1 then + buffer.size = math.ceil(1024 / (#chunk / 16)) + end + + if chunk == "" then + local play_functions = {} + for i = 1, #audiodevices do + local audiodevice = audiodevices[i] + play_functions[#play_functions + 1] = function() + audiodevice:play() + end + end + + parallel.waitForAll(table.unpack(play_functions)) + return + end + + local write_functions = {} + for i = 1, #audiodevices do + local audiodevice = audiodevices[i] + table.insert(write_functions, function() + audiodevice:write(chunk) + end) + end + + parallel.waitForAll(table.unpack(write_functions)) + end +end + +-- #region playback controll vars +local back_buffer = {} +local max_back = settings.get("youcube.max_back") or 32 +local queue = {} +local restart = false +-- #endregion + +-- keys +local skip_key = settings.get("youcube.keys.skip") or keys.d +local restart_key = settings.get("youcube.keys.restart") or keys.r +local back_key = settings.get("youcube.keys.back") or keys.a + +local function play(url) + restart = false + print("Requesting media ...") + + if not args.no_video then + youcubeapi:request_media(url, term.getSize()) + else + youcubeapi:request_media(url) + end + + local data + local x, y = term.getCursorPos() + + repeat + data = youcubeapi:receive() + if data.action == "status" then + os.queueEvent("youcube:status", data) + term.setCursorPos(x, y) + term.clearLine() + term.write("Status: ") + write_colored(data.message, colors.green) + term.setTextColor(colors.white) + else + new_line() + end + until data.action == "media" + + if data.action == "error" then + error(data.message) + end + + term.write("Playing: ") + term.setTextColor(colors.lime) + print(data.title) + term.setTextColor(colors.white) + + if data.like_count then + print("Likes: " .. libs.numberformatter.compact(data.like_count)) + end + + if data.view_count then + print("Views: " .. libs.numberformatter.compact(data.view_count)) + end + + if not args.no_video then + -- wait, that the user can see the video info + sleep(2) + end + + local video_buffer = libs.youcubeapi.Buffer.new( + libs.youcubeapi.VideoFiller.new(youcubeapi, data.id, term.getSize()), + 60 -- Most videos run on 30 fps, so we store 2s of video. + ) + + local audio_buffer = libs.youcubeapi.Buffer.new( + libs.youcubeapi.AudioFiller.new(youcubeapi, data.id), + --[[ + We want to buffer 1024 chunks. + One chunks is 16 bits. + The server (with default settings) sends 32 chunks at once. + ]] + 32 + ) + + if args.verbose then + term.clear() + term.setCursorPos(1, 1) + term.write("[DEBUG MODE]") + end + + local function fill_buffers() + while true do + os.queueEvent("youcube:fill_buffers") + + local event = os.pullEventRaw() + + if event == "terminate" then + libs.youcubeapi.reset_term() + end + + if not args.no_audio then + audio_buffer:fill() + end + + if args.verbose then + term.setCursorPos(1, ({ term.getSize() })[2]) + term.clearLine() + term.write("Audio_Buffer: " .. #audio_buffer.buffer) + end + + if not args.no_video then + video_buffer:fill() + end + end + end + + local function _play_video() + if not args.no_video then + local string_unpack + if not string.unpack then + string_unpack = libs.string_pack.unpack + end + + os.queueEvent("youcube:vid_playing", data) + libs.youcubeapi.play_vid(video_buffer, args.force_fps, string_unpack) + os.queueEvent("youcube:vid_eof", data) + end + end + + local function _play_audio() + if not args.no_audio then + os.queueEvent("youcube:audio_playing", data) + play_audio(audio_buffer, data.title) + os.queueEvent("youcube:audio_eof", data) + end + end + + local function _play_media() + os.queueEvent("youcube:playing") + parallel.waitForAll(_play_video, _play_audio) + end + + local function _hotkey_handler() + while true do + local _, key = os.pullEvent("key") + + if key == skip_key then + back_buffer[#back_buffer + 1] = url --finished playing, push the value to the back buffer + if #back_buffer > max_back then + back_buffer[1] = nil --remove it from the front of the buffer + end + if not args.no_video then + libs.youcubeapi.reset_term() + end + break + end + + if key == restart_key then + queue[#queue + 1] = url --add the current song to upcoming + if not args.no_video then + libs.youcubeapi.reset_term() + end + restart = true + break + end + end + end + + parallel.waitForAny(fill_buffers, _play_media, _hotkey_handler) + + if data.playlist_videos then + return data.playlist_videos + end +end + +local function shuffle_playlist(playlist) + local shuffled = {} + for i = 1, #queue do + local pos = math.random(1, #shuffled + 1) + shuffled[pos] = queue[i] + end + return shuffled +end + +local function play_playlist(playlist) + queue = playlist + if args.shuffle then + queue = shuffle_playlist(queue) + end + while #queue ~= 0 do + local pl = table.remove(queue) + + local function handle_back_hotkey() + while true do + local _, key = os.pullEvent("key") + if key == back_key then + queue[#queue + 1] = pl --add the current song to upcoming + local prev = table.remove(back_buffer) + if prev then --nil/false check + queue[#queue + 1] = prev --add previous song to upcoming + end + if not args.no_video then + libs.youcubeapi.reset_term() + end + break + end + end + end + + parallel.waitForAny(handle_back_hotkey, function() + play(pl) --play the url + end) + end +end + +local function main() + youcubeapi:detect_bestest_server(args.server, args.verbose) + pcall(update_checker) + + if not args.URL then + print("Enter Url or Search Term:") + term.setTextColor(colors.lightGray) + args.URL = read() + term.setTextColor(colors.white) + end + + local playlist_videos = play(args.URL) + + if args.loop == true then + while true do + play(args.URL) + end + end + if playlist_videos then + if args.loop_playlist == true then + while true do + if playlist_videos then + play_playlist(playlist_videos) + end + end + end + play_playlist(playlist_videos) + end + + while restart do + play(args.URL) + end + + youcubeapi.websocket.close() + + if not args.no_video then + libs.youcubeapi.reset_term() + end + + os.queueEvent("youcube:playback_ended") +end + +main() diff --git a/computer/29/vaultmanager.lua b/computer/29/vaultmanager.lua new file mode 100644 index 0000000..49144ac --- /dev/null +++ b/computer/29/vaultmanager.lua @@ -0,0 +1,41 @@ +controller = peripheral.wrap("right") +print(controller) + +write("which row? ") +--row = read() +write("which column? ") +--col = read() + +sleep(1) +print(row, col) +function rotatetomove(blocks) + sleep(0.05) + controller.move( + math.abs(blocks), + math.abs(blocks)/blocks + ) + while controller.isRunning() do + sleep(0.05) + end +end +function travelY(blocks) + redstone.setAnalogOutput("top",0) + rotatetomove(blocks) +end + +function travelX(blocks) + redstone.setAnalogOutput("top",1) + rotatetomove(blocks) +end + +function travelZ(blocks) + redstone.setAnalogOutput("top",2) + rotatetomove(blocks) +end +travelY(4) +travelX(5) +travelZ(6) +sleep(10) +travelZ(-9) +travelX(-20) +travelY(-20) diff --git a/computer/3/removeemptychunks.lua b/computer/3/removeemptychunks.lua index d211c0e..d4cbf68 100644 --- a/computer/3/removeemptychunks.lua +++ b/computer/3/removeemptychunks.lua @@ -10,15 +10,15 @@ sf = require("structure") function removechunks() file = fs.open("tobuild","r") - lines = {} + counts = {} line = file.readLine() - + while line do i = math.mod((i or 0)+1,100) if i == 0 then sleep(0.05) end xyz = stringtovec(line) if not chunkisempty(xyz) then - table.insert(lines,line) + table.insert(counts,line) print(line) end line = file.readLine() @@ -26,19 +26,19 @@ function removechunks() file.close() fs.delete("tobuildcopy") file = fs.open("tobuildcopy","w") - for i,line in ipairs(lines) do + for i,line in ipairs(counts) do file.writeLine(line) print(line) if math.mod(i,100) == 0 then sleep(0.05) end end - file.close() + file.close() end function chunkisempty(vec) x,y,z = vec.x,vec.y,vec.z for w = 1,8 do for h = 1,8 do for d = 1,8 do - bool,block = sf.blockat(x+w,z+d,y+h) + bool,block = sf.blockat(x+w,z+d,y+h) if bool then print(block) return false diff --git a/computer/4/felling b/computer/4/felling index e4f541c..359e03c 100644 --- a/computer/4/felling +++ b/computer/4/felling @@ -21,7 +21,14 @@ im = require("inventorymanager") function fell(index) im.select("techreborn:rubber_sapling") - pf.lookat(trees[index or math.random(#trees)]) + pf.lookat(trees[index], + function() + has, data = turtle.inspect() + if has and data and data.name == "techreborn:rubber_leaves" then + turtle.dig() + end + end + ) has, data = turtle.inspect() --print(has,data) if @@ -43,9 +50,17 @@ function fell(index) turtle.place() end +repeat for i = 1,#trees do fell(i) end +sleep(300) +until ( + (turtle.getFuelLevel() < 500) + or + (im.count("techeborn:rubber_sapling") < 2*#trees) +) + pf.to(pf.home+vector.new(0,10,0)) pf.returnHome() diff --git a/computer/4/pathfinding.lua b/computer/4/pathfinding.lua index 3e71143..1c5b74a 100644 --- a/computer/4/pathfinding.lua +++ b/computer/4/pathfinding.lua @@ -67,9 +67,11 @@ function greedystep(target) return true end greedystep = require("pathfinding2").greedystep -function to(target) +function to(target, func) + func = func or function() end print(tostring(target)) while greedystep(target) do + func() end end function returnhome() @@ -89,11 +91,12 @@ function returnhome() _G.facing = facing _G.position = position end -function lookat(target) +function lookat(target, func) print("lookat"..target:tostring()) while (position+facing).x ~= target.x or (position+facing).z ~= target.z do greedystep(target) + if func then func() end end print("temp") temp = target.y-position.y diff --git a/disk/3/bg b/disk/3/bg new file mode 100644 index 0000000..ccb03ff --- /dev/null +++ b/disk/3/bg @@ -0,0 +1,11 @@ +if not shell.openTab then + printError("Requires multishell") + return +end + +local tArgs = { ... } +if #tArgs > 0 then + shell.openTab(table.unpack(tArgs)) +else + shell.openTab("shell") +end diff --git a/disk/3/multishell.lua b/disk/3/multishell.lua new file mode 100644 index 0000000..59de715 --- /dev/null +++ b/disk/3/multishell.lua @@ -0,0 +1,426 @@ +--- Multishell allows multiple programs to be run at the same time. +-- +-- When multiple programs are running, it displays a tab bar at the top of the +-- screen, which allows you to switch between programs. New programs can be +-- launched using the `fg` or `bg` programs, or using the @{shell.openTab} and +-- @{multishell.launch} functions. +-- +-- Each process is identified by its ID, which corresponds to its position in +-- the tab list. As tabs may be opened and closed, this ID is _not_ constant +-- over a program's run. As such, be careful not to use stale IDs. +-- +-- As with @{shell}, @{multishell} is not a "true" API. Instead, it is a +-- standard program, which launches a shell and injects its API into the shell's +-- environment. This API is not available in the global environment, and so is +-- not available to @{os.loadAPI|APIs}. +-- +-- @module[module] multishell +-- @since 1.6 + +local expect = dofile("rom/modules/main/cc/expect.lua").expect + +-- Setup process switching +local parentTerm = term.current() +local w, h = parentTerm.getSize() + +local tProcesses = {} +local nCurrentProcess = nil +local nRunningProcess = nil +local bShowMenu = false +local bWindowsResized = false +local nScrollPos = 1 +local bScrollRight = false + +local function selectProcess(n) + if nCurrentProcess ~= n then + if nCurrentProcess then + local tOldProcess = tProcesses[nCurrentProcess] + tOldProcess.window.setVisible(false) + end + nCurrentProcess = n + if nCurrentProcess then + local tNewProcess = tProcesses[nCurrentProcess] + tNewProcess.window.setVisible(true) + tNewProcess.bInteracted = true + end + end +end + +local function setProcessTitle(n, sTitle) + tProcesses[n].sTitle = sTitle +end + +local function resumeProcess(nProcess, sEvent, ...) + local tProcess = tProcesses[nProcess] + local sFilter = tProcess.sFilter + if sFilter == nil or sFilter == sEvent or sEvent == "terminate" then + local nPreviousProcess = nRunningProcess + nRunningProcess = nProcess + term.redirect(tProcess.terminal) + local ok, result = coroutine.resume(tProcess.co, sEvent, ...) + tProcess.terminal = term.current() + if ok then + tProcess.sFilter = result + else + printError(result) + end + nRunningProcess = nPreviousProcess + end +end + +local function launchProcess(bFocus, tProgramEnv, sProgramPath, ...) + local tProgramArgs = table.pack(...) + local nProcess = #tProcesses + 1 + local tProcess = {} + tProcess.sTitle = fs.getName(sProgramPath) + if bShowMenu then + tProcess.window = window.create(parentTerm, 1, 2, w, h - 1, false) + else + tProcess.window = window.create(parentTerm, 1, 1, w, h, false) + end + tProcess.co = coroutine.create(function() + os.run(tProgramEnv, sProgramPath, table.unpack(tProgramArgs, 1, tProgramArgs.n)) + if not tProcess.bInteracted then + term.setCursorBlink(false) + print("Press any key to continue") + os.pullEvent("char") + end + end) + tProcess.sFilter = nil + tProcess.terminal = tProcess.window + tProcess.bInteracted = false + tProcesses[nProcess] = tProcess + if bFocus then + selectProcess(nProcess) + end + resumeProcess(nProcess) + return nProcess +end + +local function cullProcess(nProcess) + local tProcess = tProcesses[nProcess] + if coroutine.status(tProcess.co) == "dead" then + if nCurrentProcess == nProcess then + selectProcess(nil) + end + table.remove(tProcesses, nProcess) + if nCurrentProcess == nil then + if nProcess > 1 then + selectProcess(nProcess - 1) + elseif #tProcesses > 0 then + selectProcess(1) + end + end + if nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + end + return true + end + return false +end + +local function cullProcesses() + local culled = false + for n = #tProcesses, 1, -1 do + culled = culled or cullProcess(n) + end + return culled +end + +-- Setup the main menu +local menuMainTextColor, menuMainBgColor, menuOtherTextColor, menuOtherBgColor +if parentTerm.isColor() then + menuMainTextColor, menuMainBgColor = colors.yellow, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +else + menuMainTextColor, menuMainBgColor = colors.white, colors.black + menuOtherTextColor, menuOtherBgColor = colors.black, colors.gray +end + +local function redrawMenu() + if bShowMenu then + -- Draw menu + parentTerm.setCursorPos(1, 1) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.clearLine() + local nCharCount = 0 + local nSize = parentTerm.getSize() + if nScrollPos ~= 1 then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.write("<") + nCharCount = 1 + end + for n = nScrollPos, #tProcesses do + if n == nCurrentProcess then + parentTerm.setTextColor(menuMainTextColor) + parentTerm.setBackgroundColor(menuMainBgColor) + else + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + end + parentTerm.write(" " .. tProcesses[n].sTitle .. " ") + nCharCount = nCharCount + #tProcesses[n].sTitle + 2 + end + if nCharCount > nSize then + parentTerm.setTextColor(menuOtherTextColor) + parentTerm.setBackgroundColor(menuOtherBgColor) + parentTerm.setCursorPos(nSize, 1) + parentTerm.write(">") + bScrollRight = true + else + bScrollRight = false + end + + -- Put the cursor back where it should be + local tProcess = tProcesses[nCurrentProcess] + if tProcess then + tProcess.window.restoreCursor() + end + end +end + +local function resizeWindows() + local windowY, windowHeight + if bShowMenu then + windowY = 2 + windowHeight = h - 1 + else + windowY = 1 + windowHeight = h + end + for n = 1, #tProcesses do + local tProcess = tProcesses[n] + local x, y = tProcess.window.getCursorPos() + if y > windowHeight then + tProcess.window.scroll(y - windowHeight) + tProcess.window.setCursorPos(x, windowHeight) + end + tProcess.window.reposition(1, windowY, w, windowHeight) + end + bWindowsResized = true +end + +local function setMenuVisible(bVis) + if bShowMenu ~= bVis then + bShowMenu = bVis + resizeWindows() + redrawMenu() + end +end + +local multishell = {} --- @export + +--- Get the currently visible process. This will be the one selected on +-- the tab bar. +-- +-- Note, this is different to @{getCurrent}, which returns the process which is +-- currently executing. +-- +-- @treturn number The currently visible process's index. +-- @see setFocus +function multishell.getFocus() + return nCurrentProcess +end + +--- Change the currently visible process. +-- +-- @tparam number n The process index to switch to. +-- @treturn boolean If the process was changed successfully. This will +-- return @{false} if there is no process with this id. +-- @see getFocus +function multishell.setFocus(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + selectProcess(n) + redrawMenu() + return true + end + return false +end + +--- Get the title of the given tab. +-- +-- This starts as the name of the program, but may be changed using +-- @{multishell.setTitle}. +-- @tparam number n The process index. +-- @treturn string|nil The current process title, or @{nil} if the +-- process doesn't exist. +function multishell.getTitle(n) + expect(1, n, "number") + if n >= 1 and n <= #tProcesses then + return tProcesses[n].sTitle + end + return nil +end + +--- Set the title of the given process. +-- +-- @tparam number n The process index. +-- @tparam string title The new process title. +-- @see getTitle +-- @usage Change the title of the current process +-- +-- multishell.setTitle(multishell.getCurrent(), "Hello") +function multishell.setTitle(n, title) + expect(1, n, "number") + expect(2, title, "string") + if n >= 1 and n <= #tProcesses then + setProcessTitle(n, title) + redrawMenu() + end +end + +--- Get the index of the currently running process. +-- +-- @treturn number The currently running process. +function multishell.getCurrent() + return nRunningProcess +end + +--- Start a new process, with the given environment, program and arguments. +-- +-- The returned process index is not constant over the program's run. It can be +-- safely used immediately after launching (for instance, to update the title or +-- switch to that tab). However, after your program has yielded, it may no +-- longer be correct. +-- +-- @tparam table tProgramEnv The environment to load the path under. +-- @tparam string sProgramPath The path to the program to run. +-- @param ... Additional arguments to pass to the program. +-- @treturn number The index of the created process. +-- @see os.run +-- @usage Run the "hello" program, and set its title to "Hello!" +-- +-- local id = multishell.launch({}, "/rom/programs/fun/hello.lua") +-- multishell.setTitle(id, "Hello!") +function multishell.launch(tProgramEnv, sProgramPath, ...) + expect(1, tProgramEnv, "table") + expect(2, sProgramPath, "string") + local previousTerm = term.current() + setMenuVisible(#tProcesses + 1 >= 2) + local nResult = launchProcess(false, tProgramEnv, sProgramPath, ...) + redrawMenu() + term.redirect(previousTerm) + return nResult +end + +--- Get the number of processes within this multishell. +-- +-- @treturn number The number of processes. +function multishell.getCount() + return #tProcesses +end + +-- Begin +parentTerm.clear() +setMenuVisible(false) +launchProcess(true, { + ["shell"] = shell, + ["multishell"] = multishell, +}, "/rom/programs/shell.lua") + +-- Run processes +while #tProcesses > 0 do + -- Get the event + local tEventData = table.pack(os.pullEventRaw()) + local sEvent = tEventData[1] + if sEvent == "term_resize" then + -- Resize event + w, h = parentTerm.getSize() + resizeWindows() + redrawMenu() + + elseif sEvent == "char" or sEvent == "key" or sEvent == "key_up" or sEvent == "paste" or sEvent == "terminate" then + -- Keyboard event + -- Passthrough to current process + resumeProcess(nCurrentProcess, table.unpack(tEventData, 1, tEventData.n)) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + + elseif sEvent == "mouse_click" then + -- Click event + local button, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and y == 1 then + -- Switch process + if x == 1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and x == term.getSize() then + nScrollPos = nScrollPos + 1 + redrawMenu() + else + local tabStart = 1 + if nScrollPos ~= 1 then + tabStart = 2 + end + for n = nScrollPos, #tProcesses do + local tabEnd = tabStart + #tProcesses[n].sTitle + 1 + if x >= tabStart and x <= tabEnd then + selectProcess(n) + redrawMenu() + break + end + tabStart = tabEnd + 1 + end + end + else + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, button, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + elseif sEvent == "mouse_drag" or sEvent == "mouse_up" or sEvent == "mouse_scroll" then + -- Other mouse event + local p1, x, y = tEventData[2], tEventData[3], tEventData[4] + if bShowMenu and sEvent == "mouse_scroll" and y == 1 then + if p1 == -1 and nScrollPos ~= 1 then + nScrollPos = nScrollPos - 1 + redrawMenu() + elseif bScrollRight and p1 == 1 then + nScrollPos = nScrollPos + 1 + redrawMenu() + end + elseif not (bShowMenu and y == 1) then + -- Passthrough to current process + resumeProcess(nCurrentProcess, sEvent, p1, x, bShowMenu and y - 1 or y) + if cullProcess(nCurrentProcess) then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + else + -- Other event + -- Passthrough to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, table.unpack(tEventData, 1, tEventData.n)) + end + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end + + if bWindowsResized then + -- Pass term_resize to all processes + local nLimit = #tProcesses -- Storing this ensures any new things spawned don't get the event + for n = 1, nLimit do + resumeProcess(n, "term_resize") + end + bWindowsResized = false + if cullProcesses() then + setMenuVisible(#tProcesses >= 2) + redrawMenu() + end + end +end + +-- Shutdown +term.redirect(parentTerm) diff --git a/disk/3/pf b/disk/3/pf new file mode 100644 index 0000000..ba0886e --- /dev/null +++ b/disk/3/pf @@ -0,0 +1,112 @@ +pp = require("cc.pretty").pretty_print + +_G.facing = _G.facing or "south" +_G.pos = _G.pos or vector.new(0,0,0) + +local up = vector.new(0,1,0) + +local rightOf = { + south = "west", + west = "north", + north = "east", + east = "south" +} + +local leftOf = { + west = "south", + north = "west", + east = "north", + south = "east" +} + +local vecOf = { + north = vector.new(0,0,-1), + south = vector.new(0,0,1), + east = vector.new(1,0,0), + west = vector.new(-1,0,0), +} + +function goUp() + if turtle.up() then + _G.pos.y = _G.pos.y + 1 + else + printError("failed to go up") + printError(pos) + end +end + +function goDown() + if turtle.down() then + _G.pos.y = _G.pos.y - 1 + else + printError("failed to go down") + printError(pos) + end +end + +function goLeft() + turtle.turnLeft() + _G.facing = leftOf[_G.facing] +end + +function goRight() + turtle.turnRight() + _G.facing = rightOf[_G.facing] +end + +function goForward() + if turtle.forward() then + _G.pos = _G.pos + vecOf[_G.facing] + if math.random(10) > 9 then + meow() + end + else + printError("failed to go forward") + printError(pos) + end +end + +function goBack() + if turtle.back() then + _G.pos = _G.pos - vecOf[_G.facing] + else + printError("failed to go backward") + printError(pos) + end +end + +function stepTo(target) + local delta = target - _G.pos + -- print(delta) + if delta.y > 0 then + goUp() + elseif delta.y < 0 then + goDown() + elseif delta:dot(vecOf[_G.facing]) > 0 then + goForward() + elseif delta:dot(vecOf[_G.facing]:cross(up)) > 0 then + goRight() + else + goLeft() + end +end + +function goTo(target, face) + while target ~= _G.pos do + stepTo(target) + end + if face and face ~= _G.facing then + if rightOf[_G.facing] == face then + goRight() + elseif leftOf[_G.facing] == face then + goLeft() + else + goRight() + goRight() + end + end +end + +function goHome() + goTo(vector.new(0,0,0), "south") +end diff --git a/disk/3/sounds b/disk/3/sounds new file mode 100644 index 0000000..bcc444a --- /dev/null +++ b/disk/3/sounds @@ -0,0 +1,55 @@ +noteblock = peripheral.wrap("right") +sfx = require("sfx") +speaker = peripheral.wrap("left") +instruments = { +"harp", +"bass", +"didgeridoo", +"xylophone", +"iron_xylophone", +"snare", +"hat", +"basedrum", +"bit", +"bit", +"bit", +"bit" +} +mobs = { + "skeleton", + "zombie", + "pig", + "cow", + "spider" +} +function sound() +while true do + if math.random(10)>5 then + speaker.playSound("entity."..mobs[math.random(#mobs)]..".ambient",10) + elseif math.random(100) < 95 then + noteblock.setInstrument(instruments[math.random(#instruments)]) + noteblock.play() + noteblock.setNote(math.random(24)) + elseif math.random(100) < 50 then + for i = 1,5 do + speaker.playSound("entity.creeper.step") + sleep(0.05) + end + speaker.playSound("entity.creeper.primed") + else + --speaker.playSound("BOOM") + end + sleep(math.random(1,20)) + --os.reboot() +end +end +while false and true do + --sound() + if math.random(100) then + sfx.success() + sleep(math.random(1,4)) + end +end +parallel.waitForAll(sound,sound,sound,sound,sound) +peripheral.call("top","turnOn") +os.reboot() diff --git a/disk/3/startup.lua b/disk/3/startup.lua new file mode 100644 index 0000000..d6ec306 --- /dev/null +++ b/disk/3/startup.lua @@ -0,0 +1 @@ +print("heehee") diff --git a/ids.json b/ids.json index e0dc88d..69abf7e 100644 --- a/ids.json +++ b/ids.json @@ -1,5 +1,5 @@ { - "computer": 26, + "computer": 29, "disk": 4, "peripheral.create:fluid_tank": 2, "peripheral.create:item_vault": 0,