glrb 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58b9d5ba6827d0bfbfad88081808c2ef34d39bbcc910ce909e500f56ca103ed4
4
- data.tar.gz: 102f0612dd592fae0dd735a4fbee6903958c92f49dbf1c5f4b608141727cd530
3
+ metadata.gz: 3c772fbd1ff11982ec16e2c2a95f11b98c17ccb2e219c4b057f68c77851ba308
4
+ data.tar.gz: 401dfdd7d4697f3d04ac4ebc8a10ee8aa44b858661cecb3a278e1bb21db619e4
5
5
  SHA512:
6
- metadata.gz: 18bd4c0f38e80385c1e7c6225ba0cceaaaafb631db895b61367e6638427ebd5e1672668d6eeddf940ac6d2ad6e5dd25dce3c0e75fe8ef94e8c3e22347cbcd403
7
- data.tar.gz: 75b72bb433066bedeabbc87bf63a0e0e662932fb1a13e24130b86fec87531a6913376616f394d1e9bc65a28e16918b6f55adfc5a904930b74f046b79adf9873c
6
+ metadata.gz: 06f3916bf146e92c91037c62df7028045c0841936783dbd7ead281501570f35102fd6b0114790a94985ae59a8a0d45333e1d1f043ea04729f6c7f1a431805174
7
+ data.tar.gz: e8726dcc66821701df2bb3373583cbb7fa6c22d96990bef3dcfc79a8c5fc7d880fe48b4d64758cfc07b42b8a67dcb71bc0380acb22a27e17ddffb46f6d67d4d9
data/lib/gl.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Glrb
2
2
  class GL
3
- def initialize(w = 256, h = 256, filename = "", shader = gl_defaultSahder(self))
3
+ def initialize(w = 256, h = 256, filename = "tmp.ppm", shader = gl_defaultSahder(self))
4
4
  @filename = filename
5
5
  @w = w
6
6
  @h = h
@@ -42,7 +42,7 @@ module Glrb
42
42
 
43
43
  def gl_test (gl)
44
44
  (gl.w.to_i * gl.h.to_i).times.inject("") do |acc, i|
45
- col = gl[i]
45
+ col = gl[i].map(->v, i{v.clamp(0, 1)})
46
46
  c = (col[3] * col.xyz.sum / 3 <= 0.5) ? "_ " : "# "
47
47
  ret = acc + c + ((i % gl.w.to_i == gl.w.to_i - 1) ? "\n" : "")
48
48
  end
@@ -52,8 +52,8 @@ module Glrb
52
52
  open(@filename, "wb") do |f|
53
53
  f.puts("P6\n#{gl.w} #{gl.h}\n255")
54
54
  (gl.w.to_i * gl.h.to_i).times do |i|
55
- c = gl[i] * 255
56
- f.write([c.x.to_i % 255, c.y.to_i % 255, c.z.to_i % 255].pack("ccc"))
55
+ col = gl[i].map(->v, i{(v.clamp(0, 1) * 255).to_i})
56
+ f.write(col.to_a.pack("ccc"))
57
57
  end
58
58
  end
59
59
  end
data/lib/math/vec.rb CHANGED
@@ -15,6 +15,7 @@ module Glrb
15
15
  def [](_) v = to_a; v[_] end
16
16
  def +(_) map(isNum(_) ? ->v, i{v + _} : ->v, i{v + _[i]}) end
17
17
  def -(_) map(isNum(_) ? ->v, i{v - _} : ->v, i{v - _[i]}) end
18
+ def %(_) map(isNum(_) ? ->v, i{v % _} : ->v, i{v % _[i]}) end
18
19
  def *(_) isNum(_) ? map(->v, i{v * _}) : map(->v, i{v * _[i]}).sum end
19
20
  def /(_) isNum(_) ? map(->v, i{v / _}) : cross(_) end
20
21
  def <=>(_) @v = _ end
data/lib/utils/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Glrb
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
data/test.ppm ADDED
@@ -0,0 +1,64 @@
1
+ P6
2
+ 150.0 150.0
3
+ 255
4
+ ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~~~~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~~~~}}}}}}}}}}}}|||||||||||||||||||||||||||||||||||||||||||||||||||}}}}}}}}}}}}~~~~~~~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~}}}}}}}}}|||||||||{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{{{{{{{|||||||||}}}}}}}}}~~~~~~������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~}}}}}}|||||||||{{{{{{{{{zzzzzzzzzyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyzzzzzzzzz{{{{{{{{{|||||||||}}}}}}~~~~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~}}}}}}||||||{{{{{{zzzzzzzzzyyyyyyyyyxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxyyyyyyyyyzzzzzzzzz{{{{{{||||||}}}}}}~~~~~~������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}}}}||||||{{{{{{zzzzzzyyyyyyxxxxxxxxxwwwwwwwwwvvvvvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvwwwwwwwwwxxxxxxxxxyyyyyyzzzzzz{{{{{{||||||}}}}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}||||||{{{{{{zzzzzzyyyxxxxxxxxxwwwwwwvvvvvvvvvuuuuuuuuutttttttttttttttssssssssssssssssssssssssssssssssstttttttttttttttuuuuuuuuuvvvvvvvvvwwwwwwxxxxxxyyyyyyzzzzzz{{{{{{|||}}}}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~}}}||||||{{{zzzzzzyyyxxxxxxwwwwwwvvvvvvuuuuuuuuutttttttttsssssssssrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrssssssssstttttttttuuuuuuuuuvvvvvvwwwwwwxxxyyyyyyzzzzzz{{{||||||}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~~~~}}}|||{{{{{{zzzyyyyyyxxxwwwwwwvvvvvvuuuuuuttttttsssssssssrrrrrrrrrqqqqqqqqqqqqpppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqrrrrrrrrrsssssssssttttttuuuuuuvvvvvvwwwxxxxxxyyyyyyzzz{{{||||||}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{{{{zzzyyyxxxxxxwwwvvvvvvuuuuuuttttttssssssrrrrrrqqqqqqqqqpppppppppoooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooooooopppppppppqqqqqqqqqrrrrrrssssssttttttuuuuuuvvvwwwwwwxxxyyyyyyzzz{{{{{{|||}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{{{{zzzyyyxxxxxxwwwvvvvvvuuuttttttssssssrrrqqqqqqpppppppppooooooooonnnnnnnnnmmmmmmmmmmmmmmmmmmlllllllllllllllllllllmmmmmmmmmmmmmmmmmmnnnnnnnnnoooooooooppppppqqqqqqrrrrrrssssssttttttuuuvvvvvvwwwxxxxxxyyyzzz{{{||||||}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}}}}|||{{{zzzyyyxxxxxxwwwvvvuuuuuutttssssssrrrqqqqqqppppppoooooonnnnnnnnnmmmmmmmmmlllllllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllllmmmmmmmmmnnnnnnnnnooooooppppppqqqrrrrrrsssssstttuuuuuuvvvwwwxxxxxxyyyzzz{{{|||}}}~~~~~~������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{zzzyyyxxxxxxwwwvvvuuuuuutttsssrrrrrrqqqppppppoooooonnnnnnmmmmmmlllllllllkkkkkkkkkjjjjjjjjjjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjkkkkkkkkklllllllllmmmmmmnnnnnnoooooopppqqqqqqrrrsssssstttuuuuuuvvvwwwxxxyyyyyyzzz{{{|||}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{{{{zzzyyyxxxwwwvvvuuuuuutttsssrrrrrrqqqppppppooonnnnnnmmmmmmllllllkkkkkkjjjjjjiiiiiiiiiiiihhhhhhhhhhhhhhhggggggggggggggggggggggggggghhhhhhhhhhhhhhhiiiiiiiiijjjjjjjjjkkkkkkllllllmmmmmmnnnnnnoooppppppqqqrrrrrrssstttuuuuuuvvvwwwxxxyyyzzz{{{|||}}}}}}~~~������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{zzzyyyxxxwwwvvvvvvuuutttsssrrrqqqqqqpppoooooonnnmmmmmmllllllkkkjjjjjjiiiiiiiiihhhhhhggggggggggggfffffffffffffffffffffffffffffffffffffffffffffffffffggggggggghhhhhhhhhiiiiiijjjjjjkkkkkkllllllmmmmmmnnnoooooopppqqqrrrrrrssstttuuuvvvwwwwwwxxxyyyzzz{{{|||}}}~~~������������������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrrrrqqqpppooonnnnnnmmmllllllkkkjjjjjjiiiiiihhhhhhgggggggggffffffeeeeeeeeeeeeddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeefffffffffggggggggghhhhhhiiiiiijjjkkkkkklllmmmmmmnnnoooooopppqqqrrrsssssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~���������������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttssssssrrrqqqpppooonnnnnnmmmlllkkkkkkjjjjjjiiihhhhhhggggggffffffeeeeeeeeedddddddddccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccdddddddddeeeeeeeeeffffffgggggghhhhhhiiijjjjjjkkkllllllmmmnnnoooooopppqqqrrrssstttuuuuuuvvvwwwxxxyyyzzz{{{|||}}}���������������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppoooooonnnmmmlllkkkkkkjjjiiiiiihhhggggggffffffeeeeeeddddddccccccbbbbbbbbbbbbaaaaaaaaaaaaaaaaaa```````````````aaaaaaaaaaaaaaaaaabbbbbbbbbcccccccccddddddeeeeeeffffffgggggghhhiiiiiijjjkkkllllllmmmnnnoooppppppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~������������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}|||{{{yyyxxxwwwvvvuuutttsssrrrqqqqqqpppooonnnmmmlllkkkkkkjjjiiihhhhhhgggffffffeeeeeedddccccccbbbbbbbbbaaaaaa````````````_____________________________________________`````````aaaaaaaaabbbbbbccccccddddddeeeeeefffgggggghhhiiiiiijjjkkkllllllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~������������������������������������������������������������������������������������������������������������������������������������������������~~~}}}{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmllllllkkkjjjiiihhhhhhgggfffeeeeeeddddddcccbbbbbbaaaaaa`````````______^^^^^^^^^^^^^^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^_________`````````aaaaaabbbbbbcccddddddeeeffffffggghhhiiiiiijjjkkklllmmmnnnnnnooopppqqqrrrssstttuuuvvvwwwxxxzzz{{{|||}}}~~~������������������������������������������������������������������������������������������������������������������������������������������~~~|||{{{zzzyyyxxxwwwvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhhhhgggfffeeeeeedddccccccbbbaaaaaa``````______^^^^^^]]]]]]]]]]]]\\\\\\\\\\\\\\\[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\]]]]]]]]]^^^^^^^^^______``````aaaaaabbbccccccdddeeeeeefffggghhhiiiiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz|||}}}~~~������������������������������������������������������������������������������������������������������������������������������������~~~|||{{{zzzyyyxxxwwwvvvtttsssrrrqqqpppooonnnmmmlllkkkjjjjjjiiihhhgggfffeeeeeedddcccbbbbbbaaa``````______^^^^^^]]]]]]\\\\\\[[[[[[[[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[\\\\\\\\\]]]]]]^^^^^^______```aaaaaabbbccccccdddeeeffffffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz|||}}}~~~������������������������������������������������������������������������������������������������������������������������������~~~|||{{{zzzyyyxxxvvvuuutttsssrrrqqqpppooonnnmmmlllkkkjjjiiihhhgggfffeeeeeedddcccbbbaaaaaa```______^^^^^^]]]\\\\\\[[[[[[[[[ZZZZZZYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYZZZZZZZZZ[[[[[[\\\\\\]]]]]]^^^^^^___``````aaabbbbbbcccdddeeefffgggggghhhiiijjjkkklllmmmnnnooopppqqqrrrsssuuuvvvwwwxxxyyyzzz|||}}}~~~������������������������������������������������������������������������������������������������������������������������~~~|||{{{zzzyyyxxxvvvuuutttsssrrrqqqpppooonnnlllkkkjjjiiiiiihhhgggfffeeedddcccbbbaaaaaa```______^^^]]]]]]\\\[[[[[[ZZZZZZYYYYYYYYYXXXXXXWWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWXXXXXXXXXYYYYYYYYYZZZZZZ[[[\\\\\\]]]]]]^^^______```aaabbbccccccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttvvvwwwxxxyyyzzz|||}}}~~~������������������������������������������������������������������������������������������������������������������~~~|||{{{zzzyyyxxxvvvuuutttsssrrrqqqooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbbbbaaa```___^^^^^^]]]\\\\\\[[[ZZZZZZYYYYYYXXXXXXWWWWWWVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVWWWWWWWWWXXXXXXYYYYYYZZZ[[[[[[\\\\\\]]]^^^______```aaabbbcccdddeeeffffffggghhhiiijjjkkkmmmnnnooopppqqqrrrssstttvvvwwwxxxyyyzzz|||}}}~~~������������������������������������������������������������������������������������������������������������~~~}}}{{{zzzyyyxxxvvvuuutttsssrrrpppooonnnmmmlllkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^^^^]]]\\\[[[[[[ZZZYYYYYYXXXXXXWWWWWWVVVVVVUUUUUUTTTTTTTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTUUUUUUUUUVVVVVVWWWWWWXXXXXXYYYZZZZZZ[[[\\\\\\]]]^^^___``````aaabbbcccdddeeefffggghhhiiijjjkkklllmmmooopppqqqrrrssstttvvvwwwxxxyyyzzz|||}}}~~~���������������������������������������������������������������������������������������������������������~~~}}}{{{zzzyyyxxxvvvuuutttsssqqqpppooonnnmmmlllkkkjjjhhhgggfffeeedddcccbbbaaa``````___^^^]]]\\\[[[[[[ZZZYYYXXXXXXWWWWWWVVVUUUUUUTTTTTTTTTSSSSSSRRRRRRRRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRSSSSSSSSSTTTTTTUUUUUUVVVVVVWWWWWWXXXYYYYYYZZZ[[[\\\\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnpppqqqrrrssstttvvvwwwxxxyyy{{{|||}}}~~~���������������������������������������������������������������������������������������������������~~~}}}|||zzzyyyxxxvvvuuutttsssqqqpppooonnnmmmllljjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[[[[ZZZYYYXXXXXXWWWVVVVVVUUUTTTTTTSSSSSSRRRRRRQQQQQQQQQQQQPPPPPPPPPPPPPPPOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPQQQQQQQQQRRRRRRRRRSSSSSSTTTUUUUUUVVVVVVWWWXXXYYYYYYZZZ[[[\\\]]]^^^^^^___```aaabbbcccdddeeefffhhhiiijjjkkklllmmmnnnpppqqqrrrssstttvvvwwwxxxyyy{{{|||}}}������������������������������������������������������������������������������������������������~~~}}}|||zzzyyyxxxwwwuuutttsssrrrpppooonnnmmmkkkjjjiiihhhgggfffeeedddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXXXXWWWVVVUUUUUUTTTSSSSSSRRRRRRQQQQQQPPPPPPOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOPPPPPPPPPQQQQQQRRRRRRSSSTTTTTTUUUVVVVVVWWWXXXYYYYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhjjjkkklllmmmnnnpppqqqrrrsssuuuvvvwwwxxxzzz{{{|||~~~������������������������������������������������������������������������������������������}}}|||{{{yyyxxxwwwuuutttsssrrrpppooonnnmmmkkkjjjiiihhhgggfffeeecccbbbaaa```___^^^]]]\\\[[[ZZZYYYYYYXXXWWWVVVUUUUUUTTTSSSRRRRRRQQQQQQPPPPPPOOOOOONNNNNNMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMNNNNNNNNNOOOOOOPPPPPPQQQQQQRRRSSSSSSTTTUUUVVVVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhjjjkkklllmmmnnnpppqqqrrrsssuuuvvvwwwyyyzzz{{{}}}~~~������������������������������������������������������������������������������������~~~|||{{{zzzxxxwwwvvvtttsssrrrpppooonnnmmmkkkjjjiiihhhgggfffdddcccbbbaaa```___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUUUUTTTSSSRRRRRRQQQPPPPPPOOONNNNNNMMMMMMMMMLLLLLLKKKKKKKKKKKKKKKJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKLLLLLLLLLMMMMMMNNNNNNOOOOOOPPPPPPQQQRRRSSSSSSTTTUUUVVVWWWWWWXXXYYYZZZ[[[\\\]]]^^^___```aaacccdddeeefffggghhhjjjkkklllmmmnnnpppqqqrrrtttuuuvvvxxxyyyzzz|||}}}~~~���������������������������������������������������������������������������������~~~}}}{{{zzzyyywwwvvvuuusssrrrqqqooonnnmmmllljjjiiihhhgggeeedddcccbbbaaa```___^^^\\\[[[ZZZYYYXXXWWWWWWVVVUUUTTTSSSRRRQQQQQQPPPOOOOOONNNMMMMMMLLLLLLKKKKKKJJJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJKKKKKKKKKLLLLLLMMMNNNNNNOOOPPPPPPQQQRRRSSSSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbdddeeefffggghhhjjjkkklllmmmooopppqqqrrrtttuuuvvvxxxyyy{{{|||}}}������������������������������������������������������������������������������}}}|||zzzyyyxxxvvvuuutttrrrqqqpppnnnmmmllljjjiiihhhgggeeedddcccbbbaaa```^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRRRRQQQPPPOOONNNNNNMMMLLLLLLKKKKKKJJJJJJIIIIIIHHHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHIIIIIIIIIJJJJJJKKKKKKLLLMMMMMMNNNOOOOOOPPPQQQRRRSSSTTTUUUVVVVVVWWWXXXYYY[[[\\\]]]^^^___```aaabbbdddeeefffggghhhjjjkkklllnnnooopppqqqssstttuuuwwwxxxzzz{{{|||~~~������������������������������������������������������������������������~~~|||{{{yyyxxxwwwuuutttrrrqqqpppnnnmmmlllkkkiiihhhgggeeedddcccbbbaaa___^^^]]]\\\[[[ZZZYYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNNNNMMMLLLKKKKKKJJJJJJIIIIIIHHHHHHGGGGGGFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFGGGGGGGGGHHHHHHIIIIIIJJJJJJKKKLLLLLLMMMNNNOOOPPPPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[]]]^^^___```aaabbbdddeeefffgggiiijjjkkklllnnnoooppprrrssstttvvvwwwyyyzzz{{{}}}~~~���������������������������������������������������������������������~~~}}}{{{zzzxxxwwwvvvtttsssqqqpppooommmlllkkkiiihhhgggfffdddcccbbbaaa___^^^]]]\\\[[[ZZZXXXWWWVVVUUUTTTSSSRRRQQQPPPOOOOOONNNMMMLLLKKKKKKJJJIIIIIIHHHGGGGGGFFFFFFFFFEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEFFFFFFGGGGGGHHHHHHIIIJJJJJJKKKLLLLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\^^^___```aaabbbdddeeefffgggiiijjjkkkmmmnnnoooqqqrrrsssuuuvvvxxxyyyzzz|||}}}������������������������������������������������������������������}}}|||zzzyyywwwvvvuuusssrrrpppooonnnlllkkkjjjhhhgggfffdddcccbbbaaa___^^^]]]\\\[[[YYYXXXWWWVVVUUUTTTSSSRRRQQQPPPOOONNNMMMLLLKKKKKKJJJIIIHHHHHHGGGFFFFFFEEEEEEDDDDDDCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCDDDDDDEEEEEEFFFFFFGGGGGGHHHIIIIIIJJJKKKLLLMMMNNNNNNOOOPPPQQQRRRSSSTTTVVVWWWXXXYYYZZZ[[[\\\^^^___```aaabbbdddeeefffhhhiiijjjlllmmmnnnpppqqqrrrtttuuuwwwxxxzzz{{{|||~~~������������������������������������������������������������~~~|||{{{yyyxxxvvvuuutttrrrqqqooonnnmmmkkkjjjiiigggfffeeecccbbbaaa___^^^]]]\\\[[[YYYXXXWWWVVVUUUTTTSSSRRRQQQOOOOOONNNMMMLLLKKKJJJIIIHHHHHHGGGFFFEEEEEEDDDDDDCCCCCCBBBBBBAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAABBBBBBBBBCCCCCCDDDDDDEEEFFFFFFGGGHHHIIIJJJJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVXXXYYYZZZ[[[\\\^^^___```aaacccdddeeeggghhhiiikkklllmmmooopppqqqssstttvvvwwwyyyzzz{{{}}}~~~������������������������������������������������������������~~~}}}{{{zzzxxxwwwvvvtttsssqqqpppnnnmmmllljjjiiihhhfffeeedddbbbaaa```^^^]]]\\\[[[YYYXXXWWWVVVUUUTTTRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHHHHGGGFFFEEEEEEDDDCCCCCCBBBAAAAAAAAA@@@@@@???????????????>>>>>>>>>>>>???????????????@@@@@@@@@AAAAAABBBBBBCCCDDDDDDEEEFFFFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVXXXYYYZZZ[[[\\\^^^___```bbbcccdddfffggghhhjjjkkklllnnnoooqqqrrrsssuuuvvvxxxyyy{{{|||~~~������������������������������������������������������}}}|||zzzyyyxxxvvvuuusssrrrpppooommmlllkkkiiihhhgggeeedddbbbaaa```___]]]\\\[[[YYYXXXWWWVVVUUUSSSRRRQQQPPPOOONNNMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDDDDCCCBBBBBBAAA@@@@@@??????>>>>>>>>>====================================>>>>>>>>>??????@@@@@@AAAAAABBBCCCCCCDDDEEEFFFGGGGGGHHHIIIJJJKKKLLLMMMNNNOOOQQQRRRSSSTTTUUUVVVXXXYYYZZZ[[[]]]^^^___```bbbccceeefffgggiiijjjkkkmmmnnnpppqqqrrrtttuuuwwwxxxzzz{{{}}}~~~������������������������������������������������������~~~}}}{{{zzzxxxwwwuuutttrrrqqqooonnnmmmkkkjjjhhhgggfffdddcccaaa```___]]]\\\[[[ZZZXXXWWWVVVUUUSSSRRRQQQPPPOOONNNLLLKKKJJJIIIHHHGGGFFFFFFEEEDDDCCCBBBAAAAAA@@@??????>>>>>>======<<<<<<<<<<<<;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<======>>>>>>??????@@@@@@AAABBBCCCCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPRRRSSSTTTUUUVVVXXXYYYZZZ[[[]]]^^^___aaabbbccceeefffhhhiiijjjlllmmmoooppprrrsssuuuvvvwwwyyyzzz|||}}}������������������������������������������������}}}|||zzzyyywwwvvvtttsssqqqpppnnnmmmllljjjiiigggfffeeecccbbb```___^^^\\\[[[ZZZXXXWWWVVVUUUSSSRRRQQQPPPOOOMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAAAAA@@@???>>>>>>======<<<<<<;;;;;;::::::::::::999999999999999999::::::::::::;;;;;;;;;<<<<<<===>>>>>>???@@@@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPRRRSSSTTTUUUWWWXXXYYYZZZ\\\]]]^^^```aaabbbdddeeeggghhhjjjkkklllnnnoooqqqrrrtttuuuwwwxxxzzz{{{}}}~~~������������������������������������������������~~~}}}{{{yyyxxxvvvuuusssrrrqqqooonnnlllkkkiiihhhfffeeedddbbbaaa___^^^]]][[[ZZZYYYWWWVVVUUUSSSRRRQQQPPPOOOMMMLLLKKKJJJIIIHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>>>>===<<<<<<;;;:::::::::999999888888888888888888888888888888888888999999999::::::;;;;;;<<<======>>>???@@@@@@AAABBBCCCDDDEEEFFFGGGHHHIIIKKKLLLMMMNNNOOOPPPRRRSSSTTTUUUWWWXXXYYY[[[\\\]]]___```bbbcccdddfffgggiiijjjkkkmmmnnnpppqqqssstttvvvwwwyyyzzz|||}}}������������������������������������������}}}|||zzzyyywwwvvvtttsssqqqpppnnnmmmkkkjjjhhhgggeeedddcccaaa```^^^]]]\\\ZZZYYYXXXVVVUUUTTTRRRQQQPPPOOOMMMLLLKKKJJJIIIGGGFFFEEEDDDCCCBBBAAA@@@??????>>>===<<<;;;;;;:::999999888888777777777666666666666666666666666666666777777777888888999999::::::;;;<<<======>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJLLLMMMNNNOOOPPPRRRSSSTTTVVVWWWXXXZZZ[[[\\\^^^___aaabbbccceeefffhhhiiikkklllnnnoooqqqrrrtttuuuwwwxxxzzz{{{}}}~~~������������������������������������������~~~}}}{{{yyyxxxvvvuuusssrrrpppooommmllljjjiiigggfffeeecccbbb```___]]]\\\[[[YYYXXXVVVUUUTTTRRRQQQPPPOOOMMMLLLKKKJJJHHHGGGFFFEEEDDDCCCBBBAAA@@@???>>>===<<<;;;;;;:::999888888777777666666555555555555444444444444444444555555555555666666777777888888999::::::;;;<<<===>>>>>>???@@@AAABBBDDDEEEFFFGGGHHHIIIJJJLLLMMMNNNOOOQQQRRRSSSUUUVVVWWWYYYZZZ[[[]]]^^^```aaabbbdddeeeggghhhjjjkkkmmmnnnpppqqqssstttvvvwwwyyyzzz|||}}}������������������������������������}}}|||zzzyyywwwvvvtttsssqqqpppnnnmmmkkkjjjhhhgggeeedddbbbaaa___^^^\\\[[[ZZZXXXWWWUUUTTTSSSQQQPPPOOOMMMLLLKKKJJJHHHGGGFFFEEEDDDCCCBBB@@@???>>>======<<<;;;:::999888888777666666555555444444333333333333333333333333333333333333444444444555555666777777888999::::::;;;<<<===>>>???@@@AAABBBCCCDDDFFFGGGHHHIIIJJJLLLMMMNNNPPPQQQRRRTTTUUUVVVXXXYYYZZZ\\\]]]___```bbbccceeefffgggiiijjjlllmmmoooppprrrtttuuuwwwxxxzzz{{{}}}~~~������������������������������������~~~}}}{{{zzzxxxvvvuuusssrrrpppooommmllljjjiiigggfffdddcccaaa```^^^]]]\\\ZZZYYYWWWVVVTTTSSSRRRPPPOOONNNLLLKKKJJJIIIGGGFFFEEEDDDCCCAAA@@@???>>>===<<<;;;:::999888888777666555555444333333333222222111111111111111111111111111111222222222333333444444555666666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDFFFGGGHHHIIIKKKLLLMMMNNNPPPQQQSSSTTTUUUWWWXXXZZZ[[[\\\^^^___aaabbbdddeeeggghhhjjjkkkmmmnnnpppqqqssstttvvvwwwyyy{{{|||~~~������������������������������~~~|||zzzyyywwwvvvtttsssqqqpppnnnmmmkkkiiihhhfffeeecccbbb```___^^^\\\[[[YYYXXXVVVUUUSSSRRRQQQOOONNNMMMKKKJJJIIIGGGFFFEEEDDDBBBAAA@@@???>>>===<<<;;;:::999888777666555444444333222222111111000000000000/////////////////////000000000111111222222333444444555666777777888999:::;;;<<<===???@@@AAABBBCCCDDDFFFGGGHHHIIIKKKLLLMMMOOOPPPRRRSSSTTTVVVWWWYYYZZZ\\\]]]^^^```aaacccdddfffgggiiijjjlllmmmoooqqqrrrtttuuuwwwxxxzzz{{{}}}������������������������������}}}{{{zzzxxxwwwuuutttrrrpppooommmllljjjiiigggfffdddcccaaa```^^^]]][[[ZZZXXXWWWUUUTTTSSSQQQPPPNNNMMMLLLJJJIIIHHHFFFEEEDDDBBBAAA@@@???>>>===;;;:::999888777666555555444333222222111000000//////............------------............//////000000111111222333333444555666777888999:::;;;<<<===>>>@@@AAABBBCCCEEEFFFGGGHHHJJJKKKLLLNNNOOOQQQRRRSSSUUUVVVXXXYYY[[[\\\^^^___aaabbbdddeeeggghhhjjjkkkmmmnnnpppqqqsssuuuvvvxxxyyy{{{|||~~~������������������������������~~~|||{{{yyyxxxvvvtttsssqqqpppnnnmmmkkkjjjhhhfffeeecccbbb```___]]]\\\ZZZYYYWWWVVVTTTSSSRRRPPPOOOMMMLLLKKKIIIHHHFFFEEEDDDCCCAAA@@@???>>><<<;;;:::999888777666555444333222111111000//////......------,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,---------......///000000111222333444555666777888999:::;;;<<<===>>>@@@AAABBBCCCEEEFFFGGGIIIJJJKKKMMMNNNPPPQQQSSSTTTUUUWWWXXXZZZ[[[]]]^^^```aaacccdddfffgggiiikkklllnnnoooqqqrrrtttuuuwwwyyyzzz|||}}}������������������������}}}|||zzzyyywwwuuutttrrrqqqooommmllljjjiiigggfffdddcccaaa```^^^]]][[[ZZZXXXWWWUUUTTTRRRQQQOOONNNLLLKKKJJJHHHGGGEEEDDDCCCAAA@@@???>>><<<;;;:::999888777666555444333222111000///......---,,,,,,+++++++++************************+++++++++,,,,,,------...///000000111222333444555666777888:::;;;<<<===>>>@@@AAABBBDDDEEEFFFHHHIIIJJJLLLMMMOOOPPPRRRSSSUUUVVVXXXYYY[[[\\\^^^___aaabbbdddeeeggghhhjjjkkkmmmoooppprrrsssuuuvvvxxxzzz{{{}}}~~~������������������������~~~}}}{{{zzzxxxvvvuuusssrrrpppnnnmmmkkkjjjhhhgggeeecccbbb```___]]]\\\ZZZYYYWWWVVVTTTSSSQQQPPPNNNMMMKKKJJJIIIGGGFFFDDDCCCBBB@@@???>>><<<;;;:::999888666555444333222111000///......---,,,++++++******))))))))))))((((((((((((((()))))))))******++++++,,,------...///000111222333444555666777888:::;;;<<<===???@@@AAACCCDDDEEEGGGHHHJJJKKKLLLNNNOOOQQQRRRTTTUUUWWWXXXZZZ[[[]]]^^^```aaacccdddfffhhhiiikkklllnnnoooqqqssstttvvvwwwyyy{{{|||~~~������������������~~~|||{{{yyywwwvvvtttsssqqqooonnnlllkkkiiigggfffdddcccaaa```^^^]]][[[YYYXXXVVVUUUSSSRRRPPPOOOMMMLLLKKKIIIHHHFFFEEECCCBBBAAA???>>>===;;;:::999888666555444333222111000///...---,,,++++++***))))))((((((''''''''''''''''''''''''''''''(((((())))))******+++,,,---...//////000222333444555666777888:::;;;<<<>>>???@@@BBBCCCDDDFFFGGGIIIJJJLLLMMMNNNPPPQQQSSSTTTVVVWWWYYY[[[\\\^^^___aaabbbdddeeegggiiijjjlllmmmoooppprrrtttuuuwwwxxxzzz|||}}}������������������}}}|||zzzxxxwwwuuutttrrrpppooommmllljjjhhhgggeeedddbbbaaa___]]]\\\ZZZYYYWWWVVVTTTSSSQQQPPPNNNMMMKKKJJJHHHGGGEEEDDDBBBAAA@@@>>>===<<<:::999888666555444333222111///...---,,,,,,+++***)))((((((''''''&&&&&&%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&'''(((((()))******+++,,,---...///000111222444555666777999:::;;;===>>>???AAABBBCCCEEEFFFHHHIIIKKKLLLNNNOOOQQQRRRTTTUUUWWWXXXZZZ[[[]]]^^^```bbbccceeefffhhhjjjkkkmmmnnnppprrrsssuuuvvvxxxzzz{{{}}}~~~������������������~~~}}}{{{zzzxxxvvvuuusssqqqpppnnnmmmkkkiiihhhfffeeecccaaa```^^^]]][[[ZZZXXXVVVUUUSSSRRRPPPOOOMMMLLLJJJIIIGGGFFFDDDCCCAAA@@@???===<<<;;;999888777555444333222000///...---,,,+++***)))(((((('''&&&%%%%%%$$$$$$$$$##################$$$$$$$$$%%%%%%&&&''''''((()))***+++,,,---...///000111222444555666777999:::;;;===>>>@@@AAACCCDDDEEEGGGHHHJJJKKKMMMNNNPPPQQQSSSTTTVVVXXXYYY[[[\\\^^^___aaacccdddfffgggiiikkklllnnnoooqqqssstttvvvwwwyyy{{{|||~~~������������������~~~|||{{{yyywwwvvvtttsssqqqooonnnllljjjiiigggfffdddbbbaaa___^^^\\\ZZZYYYWWWVVVTTTSSSQQQPPPNNNLLLKKKIIIHHHFFFEEECCCBBBAAA???>>><<<;;;999888777555444333222000///...---,,,+++***)))((('''&&&%%%%%%$$$######""""""""""""""""""""""""""""""######$$$$$$%%%&&&''''''((()))***+++---...///000111333444555666888999;;;<<<===???@@@BBBCCCEEEFFFHHHIIIKKKLLLNNNOOOQQQRRRTTTUUUWWWXXXZZZ\\\]]]___```bbbdddeeeggghhhjjjlllmmmoooppprrrtttuuuwwwyyyzzz|||~~~������������}}}|||zzzyyywwwuuutttrrrpppooommmllljjjhhhgggeeecccbbb```___]]][[[ZZZXXXWWWUUUTTTRRRPPPOOOMMMLLLJJJIIIGGGFFFDDDCCCAAA@@@>>>===;;;:::999777666444333222000///...---,,,***)))((('''&&&%%%%%%$$$###""""""!!!!!! !!!!!!""""""###$$$$$$%%%&&&'''((()))***+++,,,...///000111333444555777888:::;;;<<<>>>???AAABBBDDDEEEGGGHHHJJJKKKMMMNNNPPPRRRSSSUUUVVVXXXYYY[[[]]]^^^```aaaccceeefffhhhiiikkkmmmnnnppprrrsssuuuwwwxxxzzz{{{}}}������������}}}{{{zzzxxxvvvuuusssrrrpppnnnmmmkkkiiihhhfffeeecccaaa```^^^\\\[[[YYYXXXVVVTTTSSSQQQPPPNNNMMMKKKIIIHHHFFFEEECCCBBB@@@???===<<<:::999888666555333222111///...---,,,***)))((('''&&&%%%$$$###"""!!!!!!  !!!!!!"""###$$$%%%&&&'''((()))***+++,,,...///000222333444666777999:::<<<===>>>@@@AAACCCEEEFFFHHHIIIKKKLLLNNNOOOQQQRRRTTTVVVWWWYYYZZZ\\\^^^___aaabbbdddfffgggiiikkklllnnnpppqqqssstttvvvxxxyyy{{{}}}~~~������������~~~}}}{{{yyyxxxvvvtttsssqqqooonnnlllkkkiiigggfffdddbbbaaa___]]]\\\ZZZYYYWWWUUUTTTRRRQQQOOOMMMLLLJJJIIIGGGFFFDDDCCCAAA@@@>>>===;;;:::888777555444222111000...---,,,***)))((('''&&&%%%######"""!!!  !!!!!!"""###$$$%%%&&&((()))***+++---...///111222333555666888999;;;<<<>>>???AAABBBDDDEEEGGGHHHJJJLLLMMMOOOPPPRRRSSSUUUWWWXXXZZZ\\\]]]___```bbbdddeeegggiiijjjlllmmmoooqqqrrrtttvvvwwwyyy{{{|||~~~������������~~~|||{{{yyywwwvvvtttrrrqqqooommmllljjjhhhgggeeedddbbb```___]]][[[ZZZXXXVVVUUUSSSRRRPPPNNNMMMKKKJJJHHHGGGEEECCCBBB@@@???===<<<:::999777666444333111000///---,,,+++)))((('''&&&$$$###"""!!!  !!!"""###$$$%%%&&&((()))***,,,---...000111333444555777888:::;;;===>>>@@@BBBCCCEEEFFFHHHIIIKKKMMMNNNPPPQQQSSSUUUVVVXXXYYY[[[]]]^^^```bbbccceeefffhhhjjjkkkmmmoooppprrrtttuuuwwwyyyzzz|||~~~������~~~|||zzzyyywwwuuutttrrrpppooommmkkkjjjhhhfffeeecccaaa```^^^\\\[[[YYYXXXVVVTTTSSSQQQOOONNNLLLKKKIIIGGGFFFDDDCCCAAA@@@>>>===;;;999888666555333222000///...,,,+++)))((('''&&&$$$###"""!!!  !!!"""###$$$%%%'''((()))+++,,,---///000222333555666888999;;;<<<>>>???AAABBBDDDFFFGGGIIIJJJLLLNNNOOOQQQRRRTTTVVVWWWYYY[[[\\\^^^___aaacccdddfffhhhiiikkkmmmnnnppprrrsssuuuwwwxxxzzz|||}}}������}}}|||zzzxxxwwwuuusssrrrpppnnnmmmkkkiiihhhfffdddcccaaa___^^^\\\ZZZYYYWWWUUUTTTRRRQQQOOOMMMLLLJJJIIIGGGEEEDDDBBBAAA???===<<<:::999777666444333111000...---+++***((('''&&&$$$###"""!!!  """###$$$%%%'''(((***+++,,,...///111222444555777888:::<<<===???@@@BBBCCCEEEGGGHHHJJJKKKMMMOOOPPPRRRTTTUUUWWWXXXZZZ\\\]]]___aaabbbdddfffgggiiikkklllnnnpppqqqsssuuuvvvxxxzzz{{{}}}������}}}{{{zzzxxxvvvuuusssqqqpppnnnlllkkkiiigggfffdddbbbaaa___]]]\\\ZZZXXXWWWUUUSSSRRRPPPNNNMMMKKKJJJHHHFFFEEECCCBBB@@@>>>===;;;:::888666555333222000///---,,,***)))'''&&&%%%###"""!!!!!!"""###$$$&&&''')))***,,,---///000222333555666888999;;;<<<>>>@@@AAACCCDDDFFFHHHIIIKKKMMMNNNPPPQQQSSSUUUVVVXXXZZZ[[[]]]___```bbbdddeeegggiiijjjlllnnnoooqqqssstttvvvxxxyyy{{{}}}~~~������~~~}}}{{{yyyxxxvvvtttsssqqqooommmllljjjhhhgggeeecccbbb```___]]][[[ZZZXXXVVVUUUSSSQQQPPPNNNLLLKKKIIIGGGFFFDDDCCCAAA???>>><<<;;;999777666444333111000...,,,+++)))((('''%%%$$$"""!!! !!!"""###%%%&&&((()))+++,,,...///111222444666777999:::<<<===???AAABBBDDDFFFGGGIIIJJJLLLNNNOOOQQQSSSTTTVVVXXXYYY[[[]]]^^^```bbbccceeeggghhhjjjlllmmmoooqqqrrrtttvvvwwwyyy{{{|||~~~������~~~|||{{{yyywwwvvvtttrrrqqqooommmllljjjhhhfffeeecccaaa```^^^\\\[[[YYYWWWVVVTTTSSSQQQOOONNNLLLJJJIIIGGGEEEDDDBBB@@@???===<<<:::888777555444222000///---,,,***)))'''&&&$$$###!!!  !!!###$$$%%%'''(((***,,,---///000222333555777888:::;;;===???@@@BBBCCCEEEGGGHHHJJJLLLMMMOOOQQQRRRTTTVVVWWWYYY[[[\\\^^^```aaaccceeefffhhhjjjkkkmmmoooppprrrtttuuuwwwyyyzzz|||~~~~~~|||zzzyyywwwuuutttrrrpppooommmkkkjjjhhhfffeeecccaaa___^^^\\\ZZZYYYWWWUUUTTTRRRPPPOOOMMMKKKJJJHHHGGGEEECCCBBB@@@>>>===;;;999888666555333111000...---+++)))(((&&&%%%###"""  """###%%%&&&((()))+++,,,...000111333444666888999;;;<<<>>>@@@AAACCCEEEFFFHHHJJJKKKMMMOOOPPPRRRTTTUUUWWWYYYZZZ\\\^^^___aaacccdddfffhhhiiikkkmmmnnnppprrrsssuuuwwwxxxzzz|||}}}}}}|||zzzxxxwwwuuusssrrrpppnnnmmmkkkiiihhhfffdddcccaaa___^^^\\\ZZZXXXWWWUUUSSSRRRPPPNNNMMMKKKIIIHHHFFFDDDCCCAAA@@@>>><<<;;;999777666444222111///...,,,***)))'''&&&$$$###!!! !!!"""$$$%%%''')))***,,,---///111222444555777999:::<<<>>>???AAACCCDDDFFFHHHIIIKKKMMMNNNPPPRRRSSSUUUWWWXXXZZZ\\\]]]___aaabbbdddfffgggiiikkklllnnnpppqqqsssuuuwwwxxxzzz|||}}}}}}|||zzzxxxwwwuuusssqqqpppnnnlllkkkiiigggfffdddbbbaaa___]]]\\\ZZZXXXWWWUUUSSSQQQPPPNNNLLLKKKIIIGGGFFFDDDBBBAAA???===<<<:::888777555444222000///---+++***((('''%%%###""" 
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+ 
20
+
21
+
22
+
23
+
24
+
25
+ 
26
+
27
+
28
+  !!!###%%%&&&(((***+++---///000222444555777999:::<<<>>>@@@AAACCCEEEFFFHHHJJJKKKMMMOOOPPPRRRTTTVVVWWWYYY[[[\\\^^^```aaaccceeeggghhhjjjlllmmmoooqqqrrrtttvvvxxxyyy{{{}}}~~~~~~}}}{{{yyywwwvvvtttrrrqqqooommmllljjjhhhgggeeecccaaa```^^^\\\[[[YYYWWWVVVTTTRRRPPPOOOMMMKKKJJJHHHFFFEEECCCAAA???>>><<<:::999777555444222000///---+++)))(((&&&$$$###!!!
29
+
30
+
31
+ 
32
+
33
+
34
+
35
+
36
+
37
+ 
38
+
39
+
40
+
41
+
42
+
43
+ 
44
+
45
+
46
+
47
+
48
+
49
+ 
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - tseijp
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-11-05 00:00:00.000000000 Z
11
+ date: 2023-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -59,7 +59,6 @@ executables: []
59
59
  extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
- - ".DS_Store"
63
62
  - CHANGELOG.md
64
63
  - CODE_OF_CONDUCT.md
65
64
  - LICENSE.txt
@@ -72,8 +71,8 @@ files:
72
71
  - lib/math/vec.rb
73
72
  - lib/utils/helpers.rb
74
73
  - lib/utils/version.rb
75
- - raymarch.rb
76
74
  - sig/glrb.rbs
75
+ - test.ppm
77
76
  homepage: https://tsei.jp
78
77
  licenses:
79
78
  - MIT
data/.DS_Store DELETED
Binary file
data/raymarch.rb DELETED
@@ -1,10 +0,0 @@
1
- require_relative "lib/glrb.rb"
2
- include Glrb
3
-
4
- gl = GL.new 4, 4, "test.ppm"
5
-
6
- gl <=> ->{
7
- gl.FragColor = vec gl.FragCoord.x / gl.w, gl.FragCoord.y / gl.h, 0, 0
8
- }
9
-
10
- gl.test