OSDN Git Service

X
authorYoshihiro Yamazaki <yoya@awm.jp>
Sat, 17 Nov 2012 08:54:10 +0000 (17:54 +0900)
committerYoshihiro Yamazaki <yoya@awm.jp>
Sat, 17 Nov 2012 08:54:10 +0000 (17:54 +0900)
22 files changed:
Makefile [new file with mode: 0644]
action.js [new file with mode: 0644]
bitmap.js [new file with mode: 0644]
build/compiler.jar [new file with mode: 0644]
canvas.js [new file with mode: 0644]
dict.js [new file with mode: 0644]
event.js [new file with mode: 0644]
ibit.js [new file with mode: 0644]
index.html [new file with mode: 0644]
loader.js [new file with mode: 0644]
main.js [new file with mode: 0644]
memory.js [new file with mode: 0644]
movieclip.js [new file with mode: 0644]
sample/colorformat.swf [new file with mode: 0755]
sample/saitama.swf [new file with mode: 0755]
shape.js [new file with mode: 0644]
sjis.js [new file with mode: 0644]
swf/Header.js [new file with mode: 0644]
tests/ibit.html [new file with mode: 0644]
ticks.js [new file with mode: 0644]
vendor/crc32.js [new file with mode: 0644]
vendor/inflate.min.js [new file with mode: 0644]

diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..9165c65
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,14 @@
+#COMPILATION_LEVEL=--compilation_level ADVANCED_OPTIMIZATIONS
+#FORMATTING=
+COMPILATION_LEVEL=--compilation_level SIMPLE_OPTIMIZATIONS
+FORMATTING=--formatting PRETTY_PRINT
+
+FLAGS= $(COMPILATION_LEVEL) $(FORMATTING)
+SOURCES=*.js swf/*.js vendor/*.js
+
+all:
+       java -jar build/compiler.jar $(FLAGS) --js $(SOURCES) --js_output_file bin/flapp.js
+
+clean:
+       rm -f *~ */*~
+       rm -f bin/*
diff --git a/action.js b/action.js
new file mode 100644 (file)
index 0000000..a1fa289
--- /dev/null
+++ b/action.js
@@ -0,0 +1,20 @@
+(function(global) {
+    var varTable = {};
+    var varTableOrigKeys = {};
+    var FlappAction= function() {
+       this.actionRecord = null;
+    };
+    FlappAction.prototype = {
+       input: function(actionRecord) {
+           var len = actionRecord.length;          
+           this.actionRecord = new Uint8Array(len);
+           for (i = 0; i < len ; i++) {
+               this.data[i] = data.charCodeAt(i);
+           }
+       },
+       exec: function() {
+           ;
+       }
+    };
+    global.FlappAction = FlappAction;
+})(this);
diff --git a/bitmap.js b/bitmap.js
new file mode 100644 (file)
index 0000000..fe5ab4e
--- /dev/null
+++ b/bitmap.js
@@ -0,0 +1,14 @@
+(function(global) {
+    var FlappBitmap= function() {
+       ;
+    };
+    FlappBitmap.prototype = {
+       toJpeg: function(swfJpeg) {
+           ;
+       },
+       toPng: function(lossless) {
+           ;
+       }
+    };
+    global.FlappBitmap = FlappBitmap;
+})(this);
diff --git a/build/compiler.jar b/build/compiler.jar
new file mode 100644 (file)
index 0000000..e23352f
Binary files /dev/null and b/build/compiler.jar differ
diff --git a/canvas.js b/canvas.js
new file mode 100644 (file)
index 0000000..2fc0e67
--- /dev/null
+++ b/canvas.js
@@ -0,0 +1,9 @@
+(function(global) {
+    var FlappCanvas = function(canvas_id) {
+       ;
+    };
+    FlappCanvas.prototype = {
+       
+    }
+    global.FlappCanvas = FlappCanvas;
+})(this);
diff --git a/dict.js b/dict.js
new file mode 100644 (file)
index 0000000..04d38ab
--- /dev/null
+++ b/dict.js
@@ -0,0 +1,11 @@
+(function(global) {
+    var FlappDict = function() {
+       this.dict = {};
+    };
+    FlappDict.prototype = {
+       add: function(content) {
+           ;
+       }
+    };
+    global.FlappDict = FlappDict;
+})(this);
diff --git a/event.js b/event.js
new file mode 100644 (file)
index 0000000..de00d69
--- /dev/null
+++ b/event.js
@@ -0,0 +1,12 @@
+(function(global) {
+    var FlappEvent = function() {
+       this.eventMap = {};
+    };
+    FlappEvent.prototype = {
+       addListener: function(rect, action) {
+           ;
+           // addListner to Obejct.
+       }
+    };
+    global.FlappEvent = FlappEvent;
+})(this);
diff --git a/ibit.js b/ibit.js
new file mode 100644 (file)
index 0000000..bd8cd60
--- /dev/null
+++ b/ibit.js
@@ -0,0 +1,95 @@
+/*
+ input bit stream reader
+ (c) 2012/11/17- yoya@awm.jp
+*/
+
+(function(global) {
+    var FlappIBit = function() {
+       this.byteOffset = 0;
+       this.bitOffset = 0;
+       this.dataAllocLen = 0;
+       this.data = null;
+       this.dataLen = 0;
+    };
+    FlappIBit.prototype = {
+       input: function(data) {
+           var dataLen = data.length;
+           if (this.dataAllocLen < dataLen) {
+               var oldData = this.data;
+               this.data = new Uint8Array(dataLen);
+               for (i = 0 , l = this.dataLen; i < l ; i++) {
+                   this.data[i] = data.charCodeAt(i);
+               }
+               this.dataAllocLen = dataLen;
+           }
+           for (i = this.dataLen ; i < dataLen ; i++) {
+               this.data[i] = data.charCodeAt(i);
+           }
+           this.dataLen = dataLen;
+       },
+       a: function() { // skip bit
+           if (this.bitOffset) {
+               this.byteOffset++;
+               this.bitOffset = 0;
+           }
+       },
+       b: function() { // bit
+           var value = (this.data[this.byteOffset] >>> (7 - this.bitOffset++)) & 1;
+           if (this.bitOffset === 8) {
+               this.byteOffset++;
+               this.bitOffset = 0;
+           }
+           return value;
+       },
+       ub: function(len) { // unsigned bits
+           var value = 0;
+           while (len--) {
+               value = (value << 1) | this.b();
+           }
+           return value;
+       },
+       sb: function(len) { // signed bits
+           var value = 0;
+           if (len === 0) return 0; // XXX
+           var msb = this.b();
+           if (msb) {
+               var orig_len = len;
+           }
+           while (--len) {
+               value = (value << 1) | this.b();
+           }
+           if (msb) {
+               console.log(value);
+               return value - (1 << (orig_len - 1));
+           }
+           return value;
+       },
+       si8: function() { // snsigned 8-bit integer
+           value = this.ui8();
+           return (value & 0x80)?(value - 0x100):value;
+       },
+       si16: function() { // snsigned 16-bit integer
+           value = this.ui16();
+           return (value & 0x8000)?(value - 0x10000):value;
+
+       },
+       si32: function() { // snsigned 32-bit integer
+           value = this.ui32();
+           return (value & 0x80000000)?(value - 0x100000000):value;
+       },
+       ui8: function() { // unsigned 8-bit integer
+           return this.data[this.byteOffset++];
+       },
+       ui16: function() { // unsigned 16-bit integer
+           return this.data[this.byteOffset++] |
+               (this.data[this.byteOffset++] << 8);
+       },
+       ui32: function() { // unsigned 32-bit integer
+           return this.data[this.byteOffset++] |
+               (this.data[this.byteOffset++] << 8) |
+               (this.data[this.byteOffset++] << 16) |
+               (this.data[this.byteOffset++] << 24);
+       }
+    };
+    global.FlappIBit = FlappIBit;
+})(this);
diff --git a/index.html b/index.html
new file mode 100644 (file)
index 0000000..f3dbdd1
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+<title> Flapp (</title>
+<script type="text/javascript" src="bin/flapp.js"> </script>
+</head>
+
+<body>
+
+<h1></h1>
+
+  <canvas id="flashcanvas" width="240" height="240"> canvas is here</canvas>
+<script type="text/javascript">
+flapp = new Flapp("sample/saitama.swf", "flashcanvas");
+flapp.play();
+</script>
+
+
+<hr>
+<address></address>
+<!-- hhmts start -->Last modified: Sat Nov 17 17:37:50 JST 2012 <!-- hhmts end -->
+</body> </html>
diff --git a/loader.js b/loader.js
new file mode 100644 (file)
index 0000000..336b6c5
--- /dev/null
+++ b/loader.js
@@ -0,0 +1,11 @@
+(function(global) {
+    var FlappLoader = function() {
+       ;
+    };
+    FlappLoader.prototype = {
+       fromURL: function(url, dict, movieClip) {
+           ;
+       }
+    };
+    global.FlappLoader = FlappLoader;
+})(this);
diff --git a/main.js b/main.js
new file mode 100644 (file)
index 0000000..20043b9
--- /dev/null
+++ b/main.js
@@ -0,0 +1,17 @@
+(function(global) {
+    var Flapp = function(url, canvas_id) {
+       this.url = url;
+       this.canvas_id = canvas_id;
+    };
+    Flapp.prototype = {
+       play: function() {
+           var loader = new FlappLoader(); // file loader
+           var dict = new FlappDict(); // content dictionary
+           var movieClip = new FlappMovieClip(); // root MC
+           loader.fromURL(this.url, dict, movieClip);
+           var ticks = new FlappTicks(movieClip);
+           ticks.run();
+       }
+    };
+    global.Flapp = Flapp;
+})(this);
diff --git a/memory.js b/memory.js
new file mode 100644 (file)
index 0000000..f9b422c
--- /dev/null
+++ b/memory.js
@@ -0,0 +1,14 @@
+(function(global) {
+    var FlappMemory = function() {
+       ;
+    };
+    FlappMemory.prototype = {
+       add: function(key, content) {
+           ;
+       },
+       del: function(key, content) {
+           ;
+       }
+    };
+    global.FlappMemory = FlappMemory;
+})(this);
diff --git a/movieclip.js b/movieclip.js
new file mode 100644 (file)
index 0000000..0833ffc
--- /dev/null
@@ -0,0 +1,19 @@
+(function(global) {
+    var FlappMovieClip = function() {
+       this.controlTags = [];
+       this.labelTagMap = {}; // label => tagNum
+       this.frameTagMap = {}; // frameNum => frameHead tagNum
+    };
+    FlappMovieClip.prototype = {
+       load: function(url, dict, movieClip) {
+           ;
+       },
+       addControlTag: function(controlTag) {
+           ;
+       },
+       tick: function() {
+           ;
+       }
+    };
+    global.FlappMovieClip = FlappMovieClip;
+})(this);
diff --git a/sample/colorformat.swf b/sample/colorformat.swf
new file mode 100755 (executable)
index 0000000..5d449c5
Binary files /dev/null and b/sample/colorformat.swf differ
diff --git a/sample/saitama.swf b/sample/saitama.swf
new file mode 100755 (executable)
index 0000000..57162bc
Binary files /dev/null and b/sample/saitama.swf differ
diff --git a/shape.js b/shape.js
new file mode 100644 (file)
index 0000000..7d6c493
--- /dev/null
+++ b/shape.js
@@ -0,0 +1,11 @@
+(function(global) {
+    var FlappShape = function() {
+       ;
+    };
+    FlappShape.prototype = {
+       toStrikes: function(shape) {
+           ;
+       }
+    };
+    global.FlappShape = FlappShape;
+})(this);
diff --git a/sjis.js b/sjis.js
new file mode 100644 (file)
index 0000000..971ada4
--- /dev/null
+++ b/sjis.js
@@ -0,0 +1,11 @@
+(function(global) {
+    var FlappSJIS = function() {
+       this.dict = {};
+    };
+    FlappSJIS.prototype = {
+       sjisToUTF8: function(sjisData) {
+           ;
+       }
+    };
+    global.FlappSJIS = FlappSJIS;;
+})(this);
diff --git a/swf/Header.js b/swf/Header.js
new file mode 100644 (file)
index 0000000..507b8cc
--- /dev/null
@@ -0,0 +1,5 @@
+(function(global) {
+var SWF_Header = function() {
+    ;
+}
+}).call(this);
diff --git a/tests/ibit.html b/tests/ibit.html
new file mode 100644 (file)
index 0000000..5802ae9
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
+<title> Flapp/tests/IBbit (</title>
+<script type="text/javascript" src="../bin/flapp.js"> </script>
+</head>
+
+<body>
+
+<h1></h1>
+
+<script type="text/javascript">
+ib = new FlappIBit();
+ib.input("0123456");
+console.log(ib.ui32());
+</script>
+
+
+<hr>
+<address></address>
+<!-- hhmts start -->Last modified: Sat Nov 17 17:38:54 JST 2012 <!-- hhmts end -->
+</body> </html>
diff --git a/ticks.js b/ticks.js
new file mode 100644 (file)
index 0000000..79064dd
--- /dev/null
+++ b/ticks.js
@@ -0,0 +1,11 @@
+(function(global) {
+    var FlappTicks = function() {
+       this.fps = 0.1; // default
+    };
+    FlappTicks.prototype = {
+       run: function() {
+           ;
+       }
+    };
+    global.FlappTicks = FlappTicks;
+})(this);
diff --git a/vendor/crc32.js b/vendor/crc32.js
new file mode 100644 (file)
index 0000000..d0f0e1c
--- /dev/null
@@ -0,0 +1,87 @@
+/*
+ * crc32 変換
+ * * http://tmlife.net/programming/javascript/javascript-string-crc32-convert.html
+ * - originated TM Life 
+ * - modified by yoya
+ */
+
+(function(global){
+    var crc32_table = [
+        0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,
+        0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
+        0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
+        0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
+        0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
+        0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
+        0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
+        0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
+        0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
+        0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,
+        0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,
+        0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,
+        0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,
+        0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
+        0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,
+        0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,
+        0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,
+        0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,
+        0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,
+        0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,
+        0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,
+        0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,
+        0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,
+        0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,
+        0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,
+        0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,
+        0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,
+        0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,
+        0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,
+        0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,
+        0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,
+        0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,
+        0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,
+        0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,
+        0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,
+        0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,
+        0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,
+        0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,
+        0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,
+        0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,
+        0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,
+        0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,
+        0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,
+        0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,
+        0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,
+        0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,
+        0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,
+        0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,
+        0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,
+        0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,
+        0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,
+        0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,
+        0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,
+        0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,
+        0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,
+        0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,
+        0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,
+        0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,
+        0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,
+        0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,
+        0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,
+        0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,
+        0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,
+        0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D
+        ];
+
+var crc32 = function(str) {
+    var i=0, iTop=str.length;
+    var crc = 0 ^ (-1);
+    while (i < iTop) {
+        crc = (crc >>> 8)^crc32_table[(crc ^ str.charCodeAt(i++)) & 0xff];
+    }
+    return (crc ^ (-1)) >>> 0;  // ちゃんと u32 に変換
+};
+
+global.crc32 = crc32;
+
+})(this);
diff --git a/vendor/inflate.min.js b/vendor/inflate.min.js
new file mode 100644 (file)
index 0000000..35f9af8
--- /dev/null
@@ -0,0 +1,29 @@
+/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */
+(function() {'use strict';var aa=this;function g(a,b,d){a=a.split(".");d=d||aa;!(a[0]in d)&&d.execScript&&d.execScript("var "+a[0]);for(var c;a.length&&(c=a.shift());)!a.length&&void 0!==b?d[c]=b:d=d[c]?d[c]:d[c]={}}Math.floor(2147483648*Math.random()).toString(36);var j="undefined"!==typeof Uint8Array&&"undefined"!==typeof Uint16Array&&"undefined"!==typeof Uint32Array;var ba=new (j?Uint8Array:Array)(256),l;for(l=0;256>l;++l){for(var ca=ba,da=l,n=l,o=n,q=7,n=n>>>1;n;n>>>=1)o<<=1,o|=n&1,--q;ca[da]=(o<<q&255)>>>0};var ea=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,
+2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,
+2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,
+2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,
+3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,
+936918E3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];j&&new Uint32Array(ea);function r(a){var b=a.length,d=0,c=Number.POSITIVE_INFINITY,f,e,h,i,p,w,x,k,m;for(k=0;k<b;++k)a[k]>d&&(d=a[k]),a[k]<c&&(c=a[k]);f=1<<d;e=new (j?Uint32Array:Array)(f);h=1;i=0;for(p=2;h<=d;){for(k=0;k<b;++k)if(a[k]===h){w=0;x=i;for(m=0;m<h;++m)w=w<<1|x&1,x>>=1;for(m=w;m<f;m+=p)e[m]=h<<16|k;++i}++h;i<<=1;p<<=1}return[e,d,c]};var s=[],t;for(t=0;288>t;t++)switch(!0){case 143>=t:s.push([t+48,8]);break;case 255>=t:s.push([t-144+400,9]);break;case 279>=t:s.push([t-256+0,7]);break;case 287>=t:s.push([t-280+192,8]);break;default:throw"invalid literal: "+t;}function u(a,b){this.length=a;this.z=b}
+function fa(a){switch(!0){case 3===a:return[257,a-3,0];case 4===a:return[258,a-4,0];case 5===a:return[259,a-5,0];case 6===a:return[260,a-6,0];case 7===a:return[261,a-7,0];case 8===a:return[262,a-8,0];case 9===a:return[263,a-9,0];case 10===a:return[264,a-10,0];case 12>=a:return[265,a-11,1];case 14>=a:return[266,a-13,1];case 16>=a:return[267,a-15,1];case 18>=a:return[268,a-17,1];case 22>=a:return[269,a-19,2];case 26>=a:return[270,a-23,2];case 30>=a:return[271,a-27,2];case 34>=a:return[272,a-31,2];case 42>=
+a:return[273,a-35,3];case 50>=a:return[274,a-43,3];case 58>=a:return[275,a-51,3];case 66>=a:return[276,a-59,3];case 82>=a:return[277,a-67,4];case 98>=a:return[278,a-83,4];case 114>=a:return[279,a-99,4];case 130>=a:return[280,a-115,4];case 162>=a:return[281,a-131,5];case 194>=a:return[282,a-163,5];case 226>=a:return[283,a-195,5];case 257>=a:return[284,a-227,5];case 258===a:return[285,a-258,0];default:throw"invalid length: "+a;}}var v=[],y,z;for(y=3;258>=y;y++)z=fa(y),v[y]=z[2]<<24|z[1]<<16|z[0];
+var ga=j?new Uint32Array(v):v;
+u.prototype.D=function(a){switch(!0){case 1===a:a=[0,a-1,0];break;case 2===a:a=[1,a-2,0];break;case 3===a:a=[2,a-3,0];break;case 4===a:a=[3,a-4,0];break;case 6>=a:a=[4,a-5,1];break;case 8>=a:a=[5,a-7,1];break;case 12>=a:a=[6,a-9,2];break;case 16>=a:a=[7,a-13,2];break;case 24>=a:a=[8,a-17,3];break;case 32>=a:a=[9,a-25,3];break;case 48>=a:a=[10,a-33,4];break;case 64>=a:a=[11,a-49,4];break;case 96>=a:a=[12,a-65,5];break;case 128>=a:a=[13,a-97,5];break;case 192>=a:a=[14,a-129,6];break;case 256>=a:a=[15,
+a-193,6];break;case 384>=a:a=[16,a-257,7];break;case 512>=a:a=[17,a-385,7];break;case 768>=a:a=[18,a-513,8];break;case 1024>=a:a=[19,a-769,8];break;case 1536>=a:a=[20,a-1025,9];break;case 2048>=a:a=[21,a-1537,9];break;case 3072>=a:a=[22,a-2049,10];break;case 4096>=a:a=[23,a-3073,10];break;case 6144>=a:a=[24,a-4097,11];break;case 8192>=a:a=[25,a-6145,11];break;case 12288>=a:a=[26,a-8193,12];break;case 16384>=a:a=[27,a-12289,12];break;case 24576>=a:a=[28,a-16385,13];break;case 32768>=a:a=[29,a-24577,
+13];break;default:throw"invalid distance";}return a};u.prototype.K=function(){var a=this.z,b=[],d=0,c;c=ga[this.length];b[d++]=c&65535;b[d++]=c>>16&255;b[d++]=c>>24;c=this.D(a);b[d++]=c[0];b[d++]=c[1];b[d++]=c[2];return b};function A(a,b){this.i=[];this.j=32768;this.e=this.g=this.a=this.n=0;this.input=j?new Uint8Array(a):a;this.o=!1;this.k=B;this.t=!1;if(b||!(b={}))if(b.index&&(this.a=b.index),b.bufferSize&&(this.j=b.bufferSize),b.bufferType&&(this.k=b.bufferType),b.resize)this.t=b.resize;switch(this.k){case C:this.b=32768;this.c=new (j?Uint8Array:Array)(32768+this.j+258);break;case B:this.b=0;this.c=new (j?Uint8Array:Array)(this.j);this.f=this.C;this.p=this.A;this.l=this.B;break;default:throw Error("invalid inflate mode");
+}}var C=0,B=1,D={v:C,u:B};A.prototype.m=function(){for(;!this.o;)this.F();return this.p()};
+var E=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],F=j?new Uint16Array(E):E,G=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],H=j?new Uint16Array(G):G,I=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],J=j?new Uint8Array(I):I,K=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],L=j?new Uint16Array(K):K,M=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,
+13],N=j?new Uint8Array(M):M,O=new (j?Uint8Array:Array)(288),P,Q;P=0;for(Q=O.length;P<Q;++P)O[P]=143>=P?8:255>=P?9:279>=P?7:8;var ha=r(O),R=new (j?Uint8Array:Array)(30),S,T;S=0;for(T=R.length;S<T;++S)R[S]=5;var ia=r(R);A.prototype.F=function(){var a=this.d(3);a&1&&(this.o=!0);a>>>=1;switch(a){case 0:this.I();break;case 1:this.H();break;case 2:this.G();break;default:throw Error("unknown BTYPE: "+a);}};
+A.prototype.d=function(a){for(var b=this.g,d=this.e,c=this.input,f=this.a,e;d<a;){e=c[f++];if(void 0===e)throw Error("input buffer is broken");b|=e<<d;d+=8}e=b&(1<<a)-1;this.g=b>>>a;this.e=d-a;this.a=f;return e};A.prototype.h=function(a){for(var b=this.g,d=this.e,c=this.input,f=this.a,e=a[0],a=a[1],h;d<a;){h=c[f++];if(void 0===h)throw Error("input buffer is broken");b|=h<<d;d+=8}c=e[b&(1<<a)-1];e=c>>>16;this.g=b>>e;this.e=d-e;this.a=f;return c&65535};
+A.prototype.I=function(){var a=this.input,b=this.a,d=this.c,c=this.b,f,e,h,i=d.length;this.e=this.g=0;f=a[b++];if(void 0===f)throw Error("invalid uncompressed block header: LEN (first byte)");e=f;f=a[b++];if(void 0===f)throw Error("invalid uncompressed block header: LEN (second byte)");e|=f<<8;f=a[b++];if(void 0===f)throw Error("invalid uncompressed block header: NLEN (first byte)");h=f;f=a[b++];if(void 0===f)throw Error("invalid uncompressed block header: NLEN (second byte)");if(e===~(h|f<<8))throw Error("invalid uncompressed block header: length verify");
+if(b+e>a.length)throw Error("input buffer is broken");switch(this.k){case C:for(;c+e>d.length;){f=i-c;e-=f;if(j)d.set(a.subarray(b,b+f),c),c+=f,b+=f;else for(;f--;)d[c++]=a[b++];this.b=c;d=this.f();c=this.b}break;case B:for(;c+e>d.length;)d=this.f({r:2});break;default:throw Error("invalid inflate mode");}if(j)d.set(a.subarray(b,b+e),c),c+=e,b+=e;else for(;e--;)d[c++]=a[b++];this.a=b;this.b=c;this.c=d};A.prototype.H=function(){this.l(ha,ia)};
+A.prototype.G=function(){function a(a,d,c){var b,e,f;for(f=0;f<a;)switch(b=this.h(d),b){case 16:for(b=3+this.d(2);b--;)c[f++]=e;break;case 17:for(b=3+this.d(3);b--;)c[f++]=0;e=0;break;case 18:for(b=11+this.d(7);b--;)c[f++]=0;e=0;break;default:e=c[f++]=b}return c}var b=this.d(5)+257,d=this.d(5)+1,c=this.d(4)+4,f=new (j?Uint8Array:Array)(F.length),e;for(e=0;e<c;++e)f[F[e]]=this.d(3);c=r(f);f=new (j?Uint8Array:Array)(b);e=new (j?Uint8Array:Array)(d);this.l(r(a.call(this,b,c,f)),r(a.call(this,d,c,e)))};
+A.prototype.l=function(a,b){var d=this.c,c=this.b;this.q=a;for(var f=d.length-258,e,h,i;256!==(e=this.h(a));)if(256>e)c>=f&&(this.b=c,d=this.f(),c=this.b),d[c++]=e;else{e-=257;i=H[e];0<J[e]&&(i+=this.d(J[e]));e=this.h(b);h=L[e];0<N[e]&&(h+=this.d(N[e]));c>=f&&(this.b=c,d=this.f(),c=this.b);for(;i--;)d[c]=d[c++-h]}for(;8<=this.e;)this.e-=8,this.a--;this.b=c};
+A.prototype.B=function(a,b){var d=this.c,c=this.b;this.q=a;for(var f=d.length,e,h,i;256!==(e=this.h(a));)if(256>e)c>=f&&(d=this.f(),f=d.length),d[c++]=e;else{e-=257;i=H[e];0<J[e]&&(i+=this.d(J[e]));e=this.h(b);h=L[e];0<N[e]&&(h+=this.d(N[e]));c+i>f&&(d=this.f(),f=d.length);for(;i--;)d[c]=d[c++-h]}for(;8<=this.e;)this.e-=8,this.a--;this.b=c};
+A.prototype.f=function(){var a=new (j?Uint8Array:Array)(this.b-32768),b=this.b-32768,d,c,f=this.c;if(j)a.set(f.subarray(32768,a.length));else{d=0;for(c=a.length;d<c;++d)a[d]=f[d+32768]}this.i.push(a);this.n+=a.length;if(j)f.set(f.subarray(b,b+32768));else for(d=0;32768>d;++d)f[d]=f[b+d];this.b=32768;return f};
+A.prototype.C=function(a){var b=this.input.length/this.a+1|0,d=this.input,c=this.c;a&&("number"===typeof a.r&&(b=a.r),"number"===typeof a.w&&(b+=a.w));2>b?(a=(d.length-this.a)/this.q[2],a=258*(a/2)|0,a=a<c.length?c.length+a:c.length<<1):a=c.length*b;j?(a=new Uint8Array(a),a.set(c)):a=c;return this.c=a};
+A.prototype.p=function(){var a=0,b=this.c,d=this.i,c,f=new (j?Uint8Array:Array)(this.n+(this.b-32768)),e,h,i,p;if(0===d.length)return j?this.c.subarray(32768,this.b):this.c.slice(32768,this.b);e=0;for(h=d.length;e<h;++e){c=d[e];i=0;for(p=c.length;i<p;++i)f[a++]=c[i]}e=32768;for(h=this.b;e<h;++e)f[a++]=b[e];this.i=[];return this.buffer=f};
+A.prototype.A=function(){var a,b=this.b;j?this.t?(a=new Uint8Array(b),a.set(this.c.subarray(0,b))):a=this.c.subarray(0,b):(this.c.length>b&&(this.c.length=b),a=this.c);return this.buffer=a};function U(a,b){var d,c;this.input=a;this.a=0;if(b||!(b={}))if(b.index&&(this.a=b.index),b.verify)this.J=b.verify;d=a[this.a++];c=a[this.a++];switch(d&15){case V:this.method=V;break;default:throw Error("unsupported compression method");}if(0!==((d<<8)+c)%31)throw Error("invalid fcheck flag:"+((d<<8)+c)%31);if(c&32)throw Error("fdict flag is not supported");this.s=new A(a,{index:this.a,bufferSize:b.bufferSize,bufferType:b.bufferType,resize:b.resize})}
+U.prototype.m=function(){var a=this.input,b;b=this.s.m();this.a=this.s.a;if(this.J){var a=a[this.a++]<<24|a[this.a++]<<16|a[this.a++]<<8|a[this.a++],d=b;if("string"===typeof d){var d=d.split(""),c,f;c=0;for(f=d.length;c<f;c++)d[c]=(d[c].charCodeAt(0)&255)>>>0}c=1;f=0;for(var e=d.length,h,i=0;0<e;){h=1024<e?1024:e;e-=h;do c+=d[i++],f+=c;while(--h);c%=65521;f%=65521}if(a!==(f<<16|c)>>>0)throw Error("invalid adler-32 checksum");}return b};g("Zlib.Inflate",U,void 0);g("Zlib.Inflate.BufferType",D,void 0);
+D.ADAPTIVE=D.u;D.BLOCK=D.v;g("Zlib.Inflate.prototype.decompress",U.prototype.m,void 0);var ja=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];j&&new Uint16Array(ja);var ka=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258];j&&new Uint16Array(ka);var la=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0];j&&new Uint8Array(la);var ma=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577];j&&new Uint16Array(ma);
+var na=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];j&&new Uint8Array(na);var W=new (j?Uint8Array:Array)(288),X,Y;X=0;for(Y=W.length;X<Y;++X)W[X]=143>=X?8:255>=X?9:279>=X?7:8;r(W);var Z=new (j?Uint8Array:Array)(30),$,oa;$=0;for(oa=Z.length;$<oa;++$)Z[$]=5;r(Z);var V=8;}).call(this);