@deck.gl/carto 9.0.37 → 9.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/cartoRasterTile-worker.js +4386 -6
  2. package/dist/cartoSpatialTile-worker.js +4378 -3
  3. package/dist/cartoVectorTile-worker.js +4378 -3
  4. package/dist/dist.dev.js +4449 -30
  5. package/dist/index.cjs +72 -21
  6. package/dist/index.cjs.map +3 -3
  7. package/dist/layers/post-process-utils.d.ts +14 -9
  8. package/dist/layers/post-process-utils.d.ts.map +1 -1
  9. package/dist/layers/post-process-utils.js +24 -0
  10. package/dist/layers/raster-layer-vertex.glsl.d.ts +1 -1
  11. package/dist/layers/raster-layer-vertex.glsl.d.ts.map +1 -1
  12. package/dist/layers/raster-layer-vertex.glsl.js +7 -7
  13. package/dist/layers/raster-layer.d.ts.map +1 -1
  14. package/dist/layers/raster-layer.js +14 -2
  15. package/dist/layers/raster-tile-layer.d.ts.map +1 -1
  16. package/dist/layers/raster-tile-layer.js +17 -3
  17. package/dist/layers/schema/carto-properties-tile-loader.js +1 -1
  18. package/dist/layers/schema/carto-raster-tile-loader.d.ts.map +1 -1
  19. package/dist/layers/schema/carto-raster-tile-loader.js +7 -3
  20. package/dist/layers/schema/carto-raster-tile.d.ts +1 -0
  21. package/dist/layers/schema/carto-raster-tile.d.ts.map +1 -1
  22. package/dist/layers/schema/carto-raster-tile.js +2 -1
  23. package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
  24. package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
  25. package/dist/layers/schema/fast-pbf.d.ts +5 -1
  26. package/dist/layers/schema/fast-pbf.d.ts.map +1 -1
  27. package/dist/layers/schema/fast-pbf.js +11 -2
  28. package/dist.min.js +21 -18
  29. package/package.json +2 -2
  30. package/src/layers/post-process-utils.ts +30 -1
  31. package/src/layers/raster-layer-vertex.glsl.ts +10 -8
  32. package/src/layers/raster-layer.ts +15 -2
  33. package/src/layers/raster-tile-layer.ts +27 -5
  34. package/src/layers/schema/carto-properties-tile-loader.ts +1 -1
  35. package/src/layers/schema/carto-raster-tile-loader.ts +7 -2
  36. package/src/layers/schema/carto-raster-tile.ts +3 -1
  37. package/src/layers/schema/fast-pbf.ts +17 -2
package/dist/dist.dev.js CHANGED
@@ -395,6 +395,4129 @@ var __exports__ = (() => {
395
395
  }
396
396
  });
397
397
 
398
+ // ../../node_modules/pako/lib/utils/common.js
399
+ var require_common = __commonJS({
400
+ "../../node_modules/pako/lib/utils/common.js"(exports) {
401
+ "use strict";
402
+ var TYPED_OK = typeof Uint8Array !== "undefined" && typeof Uint16Array !== "undefined" && typeof Int32Array !== "undefined";
403
+ function _has(obj, key) {
404
+ return Object.prototype.hasOwnProperty.call(obj, key);
405
+ }
406
+ exports.assign = function(obj) {
407
+ var sources = Array.prototype.slice.call(arguments, 1);
408
+ while (sources.length) {
409
+ var source = sources.shift();
410
+ if (!source) {
411
+ continue;
412
+ }
413
+ if (typeof source !== "object") {
414
+ throw new TypeError(source + "must be non-object");
415
+ }
416
+ for (var p in source) {
417
+ if (_has(source, p)) {
418
+ obj[p] = source[p];
419
+ }
420
+ }
421
+ }
422
+ return obj;
423
+ };
424
+ exports.shrinkBuf = function(buf, size) {
425
+ if (buf.length === size) {
426
+ return buf;
427
+ }
428
+ if (buf.subarray) {
429
+ return buf.subarray(0, size);
430
+ }
431
+ buf.length = size;
432
+ return buf;
433
+ };
434
+ var fnTyped = {
435
+ arraySet: function(dest, src, src_offs, len, dest_offs) {
436
+ if (src.subarray && dest.subarray) {
437
+ dest.set(src.subarray(src_offs, src_offs + len), dest_offs);
438
+ return;
439
+ }
440
+ for (var i = 0; i < len; i++) {
441
+ dest[dest_offs + i] = src[src_offs + i];
442
+ }
443
+ },
444
+ flattenChunks: function(chunks) {
445
+ var i, l, len, pos, chunk, result;
446
+ len = 0;
447
+ for (i = 0, l = chunks.length; i < l; i++) {
448
+ len += chunks[i].length;
449
+ }
450
+ result = new Uint8Array(len);
451
+ pos = 0;
452
+ for (i = 0, l = chunks.length; i < l; i++) {
453
+ chunk = chunks[i];
454
+ result.set(chunk, pos);
455
+ pos += chunk.length;
456
+ }
457
+ return result;
458
+ }
459
+ };
460
+ var fnUntyped = {
461
+ arraySet: function(dest, src, src_offs, len, dest_offs) {
462
+ for (var i = 0; i < len; i++) {
463
+ dest[dest_offs + i] = src[src_offs + i];
464
+ }
465
+ },
466
+ flattenChunks: function(chunks) {
467
+ return [].concat.apply([], chunks);
468
+ }
469
+ };
470
+ exports.setTyped = function(on) {
471
+ if (on) {
472
+ exports.Buf8 = Uint8Array;
473
+ exports.Buf16 = Uint16Array;
474
+ exports.Buf32 = Int32Array;
475
+ exports.assign(exports, fnTyped);
476
+ } else {
477
+ exports.Buf8 = Array;
478
+ exports.Buf16 = Array;
479
+ exports.Buf32 = Array;
480
+ exports.assign(exports, fnUntyped);
481
+ }
482
+ };
483
+ exports.setTyped(TYPED_OK);
484
+ }
485
+ });
486
+
487
+ // ../../node_modules/pako/lib/zlib/trees.js
488
+ var require_trees = __commonJS({
489
+ "../../node_modules/pako/lib/zlib/trees.js"(exports) {
490
+ "use strict";
491
+ var utils = require_common();
492
+ var Z_FIXED = 4;
493
+ var Z_BINARY = 0;
494
+ var Z_TEXT = 1;
495
+ var Z_UNKNOWN = 2;
496
+ function zero3(buf) {
497
+ var len = buf.length;
498
+ while (--len >= 0) {
499
+ buf[len] = 0;
500
+ }
501
+ }
502
+ var STORED_BLOCK = 0;
503
+ var STATIC_TREES = 1;
504
+ var DYN_TREES = 2;
505
+ var MIN_MATCH = 3;
506
+ var MAX_MATCH = 258;
507
+ var LENGTH_CODES = 29;
508
+ var LITERALS = 256;
509
+ var L_CODES = LITERALS + 1 + LENGTH_CODES;
510
+ var D_CODES = 30;
511
+ var BL_CODES = 19;
512
+ var HEAP_SIZE = 2 * L_CODES + 1;
513
+ var MAX_BITS = 15;
514
+ var Buf_size = 16;
515
+ var MAX_BL_BITS = 7;
516
+ var END_BLOCK = 256;
517
+ var REP_3_6 = 16;
518
+ var REPZ_3_10 = 17;
519
+ var REPZ_11_138 = 18;
520
+ var extra_lbits = [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];
521
+ var extra_dbits = [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];
522
+ var extra_blbits = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7];
523
+ var bl_order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
524
+ var DIST_CODE_LEN = 512;
525
+ var static_ltree = new Array((L_CODES + 2) * 2);
526
+ zero3(static_ltree);
527
+ var static_dtree = new Array(D_CODES * 2);
528
+ zero3(static_dtree);
529
+ var _dist_code = new Array(DIST_CODE_LEN);
530
+ zero3(_dist_code);
531
+ var _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);
532
+ zero3(_length_code);
533
+ var base_length = new Array(LENGTH_CODES);
534
+ zero3(base_length);
535
+ var base_dist = new Array(D_CODES);
536
+ zero3(base_dist);
537
+ function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
538
+ this.static_tree = static_tree;
539
+ this.extra_bits = extra_bits;
540
+ this.extra_base = extra_base;
541
+ this.elems = elems;
542
+ this.max_length = max_length;
543
+ this.has_stree = static_tree && static_tree.length;
544
+ }
545
+ var static_l_desc;
546
+ var static_d_desc;
547
+ var static_bl_desc;
548
+ function TreeDesc(dyn_tree, stat_desc) {
549
+ this.dyn_tree = dyn_tree;
550
+ this.max_code = 0;
551
+ this.stat_desc = stat_desc;
552
+ }
553
+ function d_code(dist) {
554
+ return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];
555
+ }
556
+ function put_short(s, w) {
557
+ s.pending_buf[s.pending++] = w & 255;
558
+ s.pending_buf[s.pending++] = w >>> 8 & 255;
559
+ }
560
+ function send_bits(s, value, length) {
561
+ if (s.bi_valid > Buf_size - length) {
562
+ s.bi_buf |= value << s.bi_valid & 65535;
563
+ put_short(s, s.bi_buf);
564
+ s.bi_buf = value >> Buf_size - s.bi_valid;
565
+ s.bi_valid += length - Buf_size;
566
+ } else {
567
+ s.bi_buf |= value << s.bi_valid & 65535;
568
+ s.bi_valid += length;
569
+ }
570
+ }
571
+ function send_code(s, c, tree) {
572
+ send_bits(s, tree[c * 2], tree[c * 2 + 1]);
573
+ }
574
+ function bi_reverse(code, len) {
575
+ var res = 0;
576
+ do {
577
+ res |= code & 1;
578
+ code >>>= 1;
579
+ res <<= 1;
580
+ } while (--len > 0);
581
+ return res >>> 1;
582
+ }
583
+ function bi_flush(s) {
584
+ if (s.bi_valid === 16) {
585
+ put_short(s, s.bi_buf);
586
+ s.bi_buf = 0;
587
+ s.bi_valid = 0;
588
+ } else if (s.bi_valid >= 8) {
589
+ s.pending_buf[s.pending++] = s.bi_buf & 255;
590
+ s.bi_buf >>= 8;
591
+ s.bi_valid -= 8;
592
+ }
593
+ }
594
+ function gen_bitlen(s, desc) {
595
+ var tree = desc.dyn_tree;
596
+ var max_code = desc.max_code;
597
+ var stree = desc.stat_desc.static_tree;
598
+ var has_stree = desc.stat_desc.has_stree;
599
+ var extra = desc.stat_desc.extra_bits;
600
+ var base = desc.stat_desc.extra_base;
601
+ var max_length = desc.stat_desc.max_length;
602
+ var h;
603
+ var n, m;
604
+ var bits;
605
+ var xbits;
606
+ var f;
607
+ var overflow = 0;
608
+ for (bits = 0; bits <= MAX_BITS; bits++) {
609
+ s.bl_count[bits] = 0;
610
+ }
611
+ tree[s.heap[s.heap_max] * 2 + 1] = 0;
612
+ for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {
613
+ n = s.heap[h];
614
+ bits = tree[tree[n * 2 + 1] * 2 + 1] + 1;
615
+ if (bits > max_length) {
616
+ bits = max_length;
617
+ overflow++;
618
+ }
619
+ tree[n * 2 + 1] = bits;
620
+ if (n > max_code) {
621
+ continue;
622
+ }
623
+ s.bl_count[bits]++;
624
+ xbits = 0;
625
+ if (n >= base) {
626
+ xbits = extra[n - base];
627
+ }
628
+ f = tree[n * 2];
629
+ s.opt_len += f * (bits + xbits);
630
+ if (has_stree) {
631
+ s.static_len += f * (stree[n * 2 + 1] + xbits);
632
+ }
633
+ }
634
+ if (overflow === 0) {
635
+ return;
636
+ }
637
+ do {
638
+ bits = max_length - 1;
639
+ while (s.bl_count[bits] === 0) {
640
+ bits--;
641
+ }
642
+ s.bl_count[bits]--;
643
+ s.bl_count[bits + 1] += 2;
644
+ s.bl_count[max_length]--;
645
+ overflow -= 2;
646
+ } while (overflow > 0);
647
+ for (bits = max_length; bits !== 0; bits--) {
648
+ n = s.bl_count[bits];
649
+ while (n !== 0) {
650
+ m = s.heap[--h];
651
+ if (m > max_code) {
652
+ continue;
653
+ }
654
+ if (tree[m * 2 + 1] !== bits) {
655
+ s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2];
656
+ tree[m * 2 + 1] = bits;
657
+ }
658
+ n--;
659
+ }
660
+ }
661
+ }
662
+ function gen_codes(tree, max_code, bl_count) {
663
+ var next_code = new Array(MAX_BITS + 1);
664
+ var code = 0;
665
+ var bits;
666
+ var n;
667
+ for (bits = 1; bits <= MAX_BITS; bits++) {
668
+ next_code[bits] = code = code + bl_count[bits - 1] << 1;
669
+ }
670
+ for (n = 0; n <= max_code; n++) {
671
+ var len = tree[n * 2 + 1];
672
+ if (len === 0) {
673
+ continue;
674
+ }
675
+ tree[n * 2] = bi_reverse(next_code[len]++, len);
676
+ }
677
+ }
678
+ function tr_static_init() {
679
+ var n;
680
+ var bits;
681
+ var length;
682
+ var code;
683
+ var dist;
684
+ var bl_count = new Array(MAX_BITS + 1);
685
+ length = 0;
686
+ for (code = 0; code < LENGTH_CODES - 1; code++) {
687
+ base_length[code] = length;
688
+ for (n = 0; n < 1 << extra_lbits[code]; n++) {
689
+ _length_code[length++] = code;
690
+ }
691
+ }
692
+ _length_code[length - 1] = code;
693
+ dist = 0;
694
+ for (code = 0; code < 16; code++) {
695
+ base_dist[code] = dist;
696
+ for (n = 0; n < 1 << extra_dbits[code]; n++) {
697
+ _dist_code[dist++] = code;
698
+ }
699
+ }
700
+ dist >>= 7;
701
+ for (; code < D_CODES; code++) {
702
+ base_dist[code] = dist << 7;
703
+ for (n = 0; n < 1 << extra_dbits[code] - 7; n++) {
704
+ _dist_code[256 + dist++] = code;
705
+ }
706
+ }
707
+ for (bits = 0; bits <= MAX_BITS; bits++) {
708
+ bl_count[bits] = 0;
709
+ }
710
+ n = 0;
711
+ while (n <= 143) {
712
+ static_ltree[n * 2 + 1] = 8;
713
+ n++;
714
+ bl_count[8]++;
715
+ }
716
+ while (n <= 255) {
717
+ static_ltree[n * 2 + 1] = 9;
718
+ n++;
719
+ bl_count[9]++;
720
+ }
721
+ while (n <= 279) {
722
+ static_ltree[n * 2 + 1] = 7;
723
+ n++;
724
+ bl_count[7]++;
725
+ }
726
+ while (n <= 287) {
727
+ static_ltree[n * 2 + 1] = 8;
728
+ n++;
729
+ bl_count[8]++;
730
+ }
731
+ gen_codes(static_ltree, L_CODES + 1, bl_count);
732
+ for (n = 0; n < D_CODES; n++) {
733
+ static_dtree[n * 2 + 1] = 5;
734
+ static_dtree[n * 2] = bi_reverse(n, 5);
735
+ }
736
+ static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);
737
+ static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);
738
+ static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);
739
+ }
740
+ function init_block(s) {
741
+ var n;
742
+ for (n = 0; n < L_CODES; n++) {
743
+ s.dyn_ltree[n * 2] = 0;
744
+ }
745
+ for (n = 0; n < D_CODES; n++) {
746
+ s.dyn_dtree[n * 2] = 0;
747
+ }
748
+ for (n = 0; n < BL_CODES; n++) {
749
+ s.bl_tree[n * 2] = 0;
750
+ }
751
+ s.dyn_ltree[END_BLOCK * 2] = 1;
752
+ s.opt_len = s.static_len = 0;
753
+ s.last_lit = s.matches = 0;
754
+ }
755
+ function bi_windup(s) {
756
+ if (s.bi_valid > 8) {
757
+ put_short(s, s.bi_buf);
758
+ } else if (s.bi_valid > 0) {
759
+ s.pending_buf[s.pending++] = s.bi_buf;
760
+ }
761
+ s.bi_buf = 0;
762
+ s.bi_valid = 0;
763
+ }
764
+ function copy_block(s, buf, len, header) {
765
+ bi_windup(s);
766
+ if (header) {
767
+ put_short(s, len);
768
+ put_short(s, ~len);
769
+ }
770
+ utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);
771
+ s.pending += len;
772
+ }
773
+ function smaller(tree, n, m, depth) {
774
+ var _n2 = n * 2;
775
+ var _m2 = m * 2;
776
+ return tree[_n2] < tree[_m2] || tree[_n2] === tree[_m2] && depth[n] <= depth[m];
777
+ }
778
+ function pqdownheap(s, tree, k) {
779
+ var v = s.heap[k];
780
+ var j = k << 1;
781
+ while (j <= s.heap_len) {
782
+ if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {
783
+ j++;
784
+ }
785
+ if (smaller(tree, v, s.heap[j], s.depth)) {
786
+ break;
787
+ }
788
+ s.heap[k] = s.heap[j];
789
+ k = j;
790
+ j <<= 1;
791
+ }
792
+ s.heap[k] = v;
793
+ }
794
+ function compress_block(s, ltree, dtree) {
795
+ var dist;
796
+ var lc;
797
+ var lx = 0;
798
+ var code;
799
+ var extra;
800
+ if (s.last_lit !== 0) {
801
+ do {
802
+ dist = s.pending_buf[s.d_buf + lx * 2] << 8 | s.pending_buf[s.d_buf + lx * 2 + 1];
803
+ lc = s.pending_buf[s.l_buf + lx];
804
+ lx++;
805
+ if (dist === 0) {
806
+ send_code(s, lc, ltree);
807
+ } else {
808
+ code = _length_code[lc];
809
+ send_code(s, code + LITERALS + 1, ltree);
810
+ extra = extra_lbits[code];
811
+ if (extra !== 0) {
812
+ lc -= base_length[code];
813
+ send_bits(s, lc, extra);
814
+ }
815
+ dist--;
816
+ code = d_code(dist);
817
+ send_code(s, code, dtree);
818
+ extra = extra_dbits[code];
819
+ if (extra !== 0) {
820
+ dist -= base_dist[code];
821
+ send_bits(s, dist, extra);
822
+ }
823
+ }
824
+ } while (lx < s.last_lit);
825
+ }
826
+ send_code(s, END_BLOCK, ltree);
827
+ }
828
+ function build_tree(s, desc) {
829
+ var tree = desc.dyn_tree;
830
+ var stree = desc.stat_desc.static_tree;
831
+ var has_stree = desc.stat_desc.has_stree;
832
+ var elems = desc.stat_desc.elems;
833
+ var n, m;
834
+ var max_code = -1;
835
+ var node;
836
+ s.heap_len = 0;
837
+ s.heap_max = HEAP_SIZE;
838
+ for (n = 0; n < elems; n++) {
839
+ if (tree[n * 2] !== 0) {
840
+ s.heap[++s.heap_len] = max_code = n;
841
+ s.depth[n] = 0;
842
+ } else {
843
+ tree[n * 2 + 1] = 0;
844
+ }
845
+ }
846
+ while (s.heap_len < 2) {
847
+ node = s.heap[++s.heap_len] = max_code < 2 ? ++max_code : 0;
848
+ tree[node * 2] = 1;
849
+ s.depth[node] = 0;
850
+ s.opt_len--;
851
+ if (has_stree) {
852
+ s.static_len -= stree[node * 2 + 1];
853
+ }
854
+ }
855
+ desc.max_code = max_code;
856
+ for (n = s.heap_len >> 1; n >= 1; n--) {
857
+ pqdownheap(s, tree, n);
858
+ }
859
+ node = elems;
860
+ do {
861
+ n = s.heap[1];
862
+ s.heap[1] = s.heap[s.heap_len--];
863
+ pqdownheap(s, tree, 1);
864
+ m = s.heap[1];
865
+ s.heap[--s.heap_max] = n;
866
+ s.heap[--s.heap_max] = m;
867
+ tree[node * 2] = tree[n * 2] + tree[m * 2];
868
+ s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;
869
+ tree[n * 2 + 1] = tree[m * 2 + 1] = node;
870
+ s.heap[1] = node++;
871
+ pqdownheap(s, tree, 1);
872
+ } while (s.heap_len >= 2);
873
+ s.heap[--s.heap_max] = s.heap[1];
874
+ gen_bitlen(s, desc);
875
+ gen_codes(tree, max_code, s.bl_count);
876
+ }
877
+ function scan_tree(s, tree, max_code) {
878
+ var n;
879
+ var prevlen = -1;
880
+ var curlen;
881
+ var nextlen = tree[0 * 2 + 1];
882
+ var count = 0;
883
+ var max_count = 7;
884
+ var min_count = 4;
885
+ if (nextlen === 0) {
886
+ max_count = 138;
887
+ min_count = 3;
888
+ }
889
+ tree[(max_code + 1) * 2 + 1] = 65535;
890
+ for (n = 0; n <= max_code; n++) {
891
+ curlen = nextlen;
892
+ nextlen = tree[(n + 1) * 2 + 1];
893
+ if (++count < max_count && curlen === nextlen) {
894
+ continue;
895
+ } else if (count < min_count) {
896
+ s.bl_tree[curlen * 2] += count;
897
+ } else if (curlen !== 0) {
898
+ if (curlen !== prevlen) {
899
+ s.bl_tree[curlen * 2]++;
900
+ }
901
+ s.bl_tree[REP_3_6 * 2]++;
902
+ } else if (count <= 10) {
903
+ s.bl_tree[REPZ_3_10 * 2]++;
904
+ } else {
905
+ s.bl_tree[REPZ_11_138 * 2]++;
906
+ }
907
+ count = 0;
908
+ prevlen = curlen;
909
+ if (nextlen === 0) {
910
+ max_count = 138;
911
+ min_count = 3;
912
+ } else if (curlen === nextlen) {
913
+ max_count = 6;
914
+ min_count = 3;
915
+ } else {
916
+ max_count = 7;
917
+ min_count = 4;
918
+ }
919
+ }
920
+ }
921
+ function send_tree(s, tree, max_code) {
922
+ var n;
923
+ var prevlen = -1;
924
+ var curlen;
925
+ var nextlen = tree[0 * 2 + 1];
926
+ var count = 0;
927
+ var max_count = 7;
928
+ var min_count = 4;
929
+ if (nextlen === 0) {
930
+ max_count = 138;
931
+ min_count = 3;
932
+ }
933
+ for (n = 0; n <= max_code; n++) {
934
+ curlen = nextlen;
935
+ nextlen = tree[(n + 1) * 2 + 1];
936
+ if (++count < max_count && curlen === nextlen) {
937
+ continue;
938
+ } else if (count < min_count) {
939
+ do {
940
+ send_code(s, curlen, s.bl_tree);
941
+ } while (--count !== 0);
942
+ } else if (curlen !== 0) {
943
+ if (curlen !== prevlen) {
944
+ send_code(s, curlen, s.bl_tree);
945
+ count--;
946
+ }
947
+ send_code(s, REP_3_6, s.bl_tree);
948
+ send_bits(s, count - 3, 2);
949
+ } else if (count <= 10) {
950
+ send_code(s, REPZ_3_10, s.bl_tree);
951
+ send_bits(s, count - 3, 3);
952
+ } else {
953
+ send_code(s, REPZ_11_138, s.bl_tree);
954
+ send_bits(s, count - 11, 7);
955
+ }
956
+ count = 0;
957
+ prevlen = curlen;
958
+ if (nextlen === 0) {
959
+ max_count = 138;
960
+ min_count = 3;
961
+ } else if (curlen === nextlen) {
962
+ max_count = 6;
963
+ min_count = 3;
964
+ } else {
965
+ max_count = 7;
966
+ min_count = 4;
967
+ }
968
+ }
969
+ }
970
+ function build_bl_tree(s) {
971
+ var max_blindex;
972
+ scan_tree(s, s.dyn_ltree, s.l_desc.max_code);
973
+ scan_tree(s, s.dyn_dtree, s.d_desc.max_code);
974
+ build_tree(s, s.bl_desc);
975
+ for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {
976
+ if (s.bl_tree[bl_order[max_blindex] * 2 + 1] !== 0) {
977
+ break;
978
+ }
979
+ }
980
+ s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;
981
+ return max_blindex;
982
+ }
983
+ function send_all_trees(s, lcodes, dcodes, blcodes) {
984
+ var rank;
985
+ send_bits(s, lcodes - 257, 5);
986
+ send_bits(s, dcodes - 1, 5);
987
+ send_bits(s, blcodes - 4, 4);
988
+ for (rank = 0; rank < blcodes; rank++) {
989
+ send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1], 3);
990
+ }
991
+ send_tree(s, s.dyn_ltree, lcodes - 1);
992
+ send_tree(s, s.dyn_dtree, dcodes - 1);
993
+ }
994
+ function detect_data_type(s) {
995
+ var black_mask = 4093624447;
996
+ var n;
997
+ for (n = 0; n <= 31; n++, black_mask >>>= 1) {
998
+ if (black_mask & 1 && s.dyn_ltree[n * 2] !== 0) {
999
+ return Z_BINARY;
1000
+ }
1001
+ }
1002
+ if (s.dyn_ltree[9 * 2] !== 0 || s.dyn_ltree[10 * 2] !== 0 || s.dyn_ltree[13 * 2] !== 0) {
1003
+ return Z_TEXT;
1004
+ }
1005
+ for (n = 32; n < LITERALS; n++) {
1006
+ if (s.dyn_ltree[n * 2] !== 0) {
1007
+ return Z_TEXT;
1008
+ }
1009
+ }
1010
+ return Z_BINARY;
1011
+ }
1012
+ var static_init_done = false;
1013
+ function _tr_init(s) {
1014
+ if (!static_init_done) {
1015
+ tr_static_init();
1016
+ static_init_done = true;
1017
+ }
1018
+ s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);
1019
+ s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);
1020
+ s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);
1021
+ s.bi_buf = 0;
1022
+ s.bi_valid = 0;
1023
+ init_block(s);
1024
+ }
1025
+ function _tr_stored_block(s, buf, stored_len, last) {
1026
+ send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3);
1027
+ copy_block(s, buf, stored_len, true);
1028
+ }
1029
+ function _tr_align(s) {
1030
+ send_bits(s, STATIC_TREES << 1, 3);
1031
+ send_code(s, END_BLOCK, static_ltree);
1032
+ bi_flush(s);
1033
+ }
1034
+ function _tr_flush_block(s, buf, stored_len, last) {
1035
+ var opt_lenb, static_lenb;
1036
+ var max_blindex = 0;
1037
+ if (s.level > 0) {
1038
+ if (s.strm.data_type === Z_UNKNOWN) {
1039
+ s.strm.data_type = detect_data_type(s);
1040
+ }
1041
+ build_tree(s, s.l_desc);
1042
+ build_tree(s, s.d_desc);
1043
+ max_blindex = build_bl_tree(s);
1044
+ opt_lenb = s.opt_len + 3 + 7 >>> 3;
1045
+ static_lenb = s.static_len + 3 + 7 >>> 3;
1046
+ if (static_lenb <= opt_lenb) {
1047
+ opt_lenb = static_lenb;
1048
+ }
1049
+ } else {
1050
+ opt_lenb = static_lenb = stored_len + 5;
1051
+ }
1052
+ if (stored_len + 4 <= opt_lenb && buf !== -1) {
1053
+ _tr_stored_block(s, buf, stored_len, last);
1054
+ } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {
1055
+ send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);
1056
+ compress_block(s, static_ltree, static_dtree);
1057
+ } else {
1058
+ send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);
1059
+ send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);
1060
+ compress_block(s, s.dyn_ltree, s.dyn_dtree);
1061
+ }
1062
+ init_block(s);
1063
+ if (last) {
1064
+ bi_windup(s);
1065
+ }
1066
+ }
1067
+ function _tr_tally(s, dist, lc) {
1068
+ s.pending_buf[s.d_buf + s.last_lit * 2] = dist >>> 8 & 255;
1069
+ s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 255;
1070
+ s.pending_buf[s.l_buf + s.last_lit] = lc & 255;
1071
+ s.last_lit++;
1072
+ if (dist === 0) {
1073
+ s.dyn_ltree[lc * 2]++;
1074
+ } else {
1075
+ s.matches++;
1076
+ dist--;
1077
+ s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]++;
1078
+ s.dyn_dtree[d_code(dist) * 2]++;
1079
+ }
1080
+ return s.last_lit === s.lit_bufsize - 1;
1081
+ }
1082
+ exports._tr_init = _tr_init;
1083
+ exports._tr_stored_block = _tr_stored_block;
1084
+ exports._tr_flush_block = _tr_flush_block;
1085
+ exports._tr_tally = _tr_tally;
1086
+ exports._tr_align = _tr_align;
1087
+ }
1088
+ });
1089
+
1090
+ // ../../node_modules/pako/lib/zlib/adler32.js
1091
+ var require_adler32 = __commonJS({
1092
+ "../../node_modules/pako/lib/zlib/adler32.js"(exports, module) {
1093
+ "use strict";
1094
+ function adler32(adler, buf, len, pos) {
1095
+ var s1 = adler & 65535 | 0, s2 = adler >>> 16 & 65535 | 0, n = 0;
1096
+ while (len !== 0) {
1097
+ n = len > 2e3 ? 2e3 : len;
1098
+ len -= n;
1099
+ do {
1100
+ s1 = s1 + buf[pos++] | 0;
1101
+ s2 = s2 + s1 | 0;
1102
+ } while (--n);
1103
+ s1 %= 65521;
1104
+ s2 %= 65521;
1105
+ }
1106
+ return s1 | s2 << 16 | 0;
1107
+ }
1108
+ module.exports = adler32;
1109
+ }
1110
+ });
1111
+
1112
+ // ../../node_modules/pako/lib/zlib/crc32.js
1113
+ var require_crc32 = __commonJS({
1114
+ "../../node_modules/pako/lib/zlib/crc32.js"(exports, module) {
1115
+ "use strict";
1116
+ function makeTable() {
1117
+ var c, table = [];
1118
+ for (var n = 0; n < 256; n++) {
1119
+ c = n;
1120
+ for (var k = 0; k < 8; k++) {
1121
+ c = c & 1 ? 3988292384 ^ c >>> 1 : c >>> 1;
1122
+ }
1123
+ table[n] = c;
1124
+ }
1125
+ return table;
1126
+ }
1127
+ var crcTable = makeTable();
1128
+ function crc32(crc, buf, len, pos) {
1129
+ var t = crcTable, end = pos + len;
1130
+ crc ^= -1;
1131
+ for (var i = pos; i < end; i++) {
1132
+ crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 255];
1133
+ }
1134
+ return crc ^ -1;
1135
+ }
1136
+ module.exports = crc32;
1137
+ }
1138
+ });
1139
+
1140
+ // ../../node_modules/pako/lib/zlib/messages.js
1141
+ var require_messages = __commonJS({
1142
+ "../../node_modules/pako/lib/zlib/messages.js"(exports, module) {
1143
+ "use strict";
1144
+ module.exports = {
1145
+ 2: "need dictionary",
1146
+ 1: "stream end",
1147
+ 0: "",
1148
+ "-1": "file error",
1149
+ "-2": "stream error",
1150
+ "-3": "data error",
1151
+ "-4": "insufficient memory",
1152
+ "-5": "buffer error",
1153
+ "-6": "incompatible version"
1154
+ };
1155
+ }
1156
+ });
1157
+
1158
+ // ../../node_modules/pako/lib/zlib/deflate.js
1159
+ var require_deflate = __commonJS({
1160
+ "../../node_modules/pako/lib/zlib/deflate.js"(exports) {
1161
+ "use strict";
1162
+ var utils = require_common();
1163
+ var trees = require_trees();
1164
+ var adler32 = require_adler32();
1165
+ var crc32 = require_crc32();
1166
+ var msg = require_messages();
1167
+ var Z_NO_FLUSH = 0;
1168
+ var Z_PARTIAL_FLUSH = 1;
1169
+ var Z_FULL_FLUSH = 3;
1170
+ var Z_FINISH = 4;
1171
+ var Z_BLOCK = 5;
1172
+ var Z_OK = 0;
1173
+ var Z_STREAM_END = 1;
1174
+ var Z_STREAM_ERROR = -2;
1175
+ var Z_DATA_ERROR = -3;
1176
+ var Z_BUF_ERROR = -5;
1177
+ var Z_DEFAULT_COMPRESSION = -1;
1178
+ var Z_FILTERED = 1;
1179
+ var Z_HUFFMAN_ONLY = 2;
1180
+ var Z_RLE = 3;
1181
+ var Z_FIXED = 4;
1182
+ var Z_DEFAULT_STRATEGY = 0;
1183
+ var Z_UNKNOWN = 2;
1184
+ var Z_DEFLATED = 8;
1185
+ var MAX_MEM_LEVEL = 9;
1186
+ var MAX_WBITS = 15;
1187
+ var DEF_MEM_LEVEL = 8;
1188
+ var LENGTH_CODES = 29;
1189
+ var LITERALS = 256;
1190
+ var L_CODES = LITERALS + 1 + LENGTH_CODES;
1191
+ var D_CODES = 30;
1192
+ var BL_CODES = 19;
1193
+ var HEAP_SIZE = 2 * L_CODES + 1;
1194
+ var MAX_BITS = 15;
1195
+ var MIN_MATCH = 3;
1196
+ var MAX_MATCH = 258;
1197
+ var MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1;
1198
+ var PRESET_DICT = 32;
1199
+ var INIT_STATE = 42;
1200
+ var EXTRA_STATE = 69;
1201
+ var NAME_STATE = 73;
1202
+ var COMMENT_STATE = 91;
1203
+ var HCRC_STATE = 103;
1204
+ var BUSY_STATE = 113;
1205
+ var FINISH_STATE = 666;
1206
+ var BS_NEED_MORE = 1;
1207
+ var BS_BLOCK_DONE = 2;
1208
+ var BS_FINISH_STARTED = 3;
1209
+ var BS_FINISH_DONE = 4;
1210
+ var OS_CODE = 3;
1211
+ function err(strm, errorCode) {
1212
+ strm.msg = msg[errorCode];
1213
+ return errorCode;
1214
+ }
1215
+ function rank(f) {
1216
+ return (f << 1) - (f > 4 ? 9 : 0);
1217
+ }
1218
+ function zero3(buf) {
1219
+ var len = buf.length;
1220
+ while (--len >= 0) {
1221
+ buf[len] = 0;
1222
+ }
1223
+ }
1224
+ function flush_pending(strm) {
1225
+ var s = strm.state;
1226
+ var len = s.pending;
1227
+ if (len > strm.avail_out) {
1228
+ len = strm.avail_out;
1229
+ }
1230
+ if (len === 0) {
1231
+ return;
1232
+ }
1233
+ utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);
1234
+ strm.next_out += len;
1235
+ s.pending_out += len;
1236
+ strm.total_out += len;
1237
+ strm.avail_out -= len;
1238
+ s.pending -= len;
1239
+ if (s.pending === 0) {
1240
+ s.pending_out = 0;
1241
+ }
1242
+ }
1243
+ function flush_block_only(s, last) {
1244
+ trees._tr_flush_block(s, s.block_start >= 0 ? s.block_start : -1, s.strstart - s.block_start, last);
1245
+ s.block_start = s.strstart;
1246
+ flush_pending(s.strm);
1247
+ }
1248
+ function put_byte(s, b) {
1249
+ s.pending_buf[s.pending++] = b;
1250
+ }
1251
+ function putShortMSB(s, b) {
1252
+ s.pending_buf[s.pending++] = b >>> 8 & 255;
1253
+ s.pending_buf[s.pending++] = b & 255;
1254
+ }
1255
+ function read_buf(strm, buf, start, size) {
1256
+ var len = strm.avail_in;
1257
+ if (len > size) {
1258
+ len = size;
1259
+ }
1260
+ if (len === 0) {
1261
+ return 0;
1262
+ }
1263
+ strm.avail_in -= len;
1264
+ utils.arraySet(buf, strm.input, strm.next_in, len, start);
1265
+ if (strm.state.wrap === 1) {
1266
+ strm.adler = adler32(strm.adler, buf, len, start);
1267
+ } else if (strm.state.wrap === 2) {
1268
+ strm.adler = crc32(strm.adler, buf, len, start);
1269
+ }
1270
+ strm.next_in += len;
1271
+ strm.total_in += len;
1272
+ return len;
1273
+ }
1274
+ function longest_match(s, cur_match) {
1275
+ var chain_length = s.max_chain_length;
1276
+ var scan = s.strstart;
1277
+ var match;
1278
+ var len;
1279
+ var best_len = s.prev_length;
1280
+ var nice_match = s.nice_match;
1281
+ var limit = s.strstart > s.w_size - MIN_LOOKAHEAD ? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0;
1282
+ var _win = s.window;
1283
+ var wmask = s.w_mask;
1284
+ var prev = s.prev;
1285
+ var strend = s.strstart + MAX_MATCH;
1286
+ var scan_end1 = _win[scan + best_len - 1];
1287
+ var scan_end = _win[scan + best_len];
1288
+ if (s.prev_length >= s.good_match) {
1289
+ chain_length >>= 2;
1290
+ }
1291
+ if (nice_match > s.lookahead) {
1292
+ nice_match = s.lookahead;
1293
+ }
1294
+ do {
1295
+ match = cur_match;
1296
+ if (_win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1]) {
1297
+ continue;
1298
+ }
1299
+ scan += 2;
1300
+ match++;
1301
+ do {
1302
+ } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend);
1303
+ len = MAX_MATCH - (strend - scan);
1304
+ scan = strend - MAX_MATCH;
1305
+ if (len > best_len) {
1306
+ s.match_start = cur_match;
1307
+ best_len = len;
1308
+ if (len >= nice_match) {
1309
+ break;
1310
+ }
1311
+ scan_end1 = _win[scan + best_len - 1];
1312
+ scan_end = _win[scan + best_len];
1313
+ }
1314
+ } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);
1315
+ if (best_len <= s.lookahead) {
1316
+ return best_len;
1317
+ }
1318
+ return s.lookahead;
1319
+ }
1320
+ function fill_window(s) {
1321
+ var _w_size = s.w_size;
1322
+ var p, n, m, more, str;
1323
+ do {
1324
+ more = s.window_size - s.lookahead - s.strstart;
1325
+ if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {
1326
+ utils.arraySet(s.window, s.window, _w_size, _w_size, 0);
1327
+ s.match_start -= _w_size;
1328
+ s.strstart -= _w_size;
1329
+ s.block_start -= _w_size;
1330
+ n = s.hash_size;
1331
+ p = n;
1332
+ do {
1333
+ m = s.head[--p];
1334
+ s.head[p] = m >= _w_size ? m - _w_size : 0;
1335
+ } while (--n);
1336
+ n = _w_size;
1337
+ p = n;
1338
+ do {
1339
+ m = s.prev[--p];
1340
+ s.prev[p] = m >= _w_size ? m - _w_size : 0;
1341
+ } while (--n);
1342
+ more += _w_size;
1343
+ }
1344
+ if (s.strm.avail_in === 0) {
1345
+ break;
1346
+ }
1347
+ n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);
1348
+ s.lookahead += n;
1349
+ if (s.lookahead + s.insert >= MIN_MATCH) {
1350
+ str = s.strstart - s.insert;
1351
+ s.ins_h = s.window[str];
1352
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + 1]) & s.hash_mask;
1353
+ while (s.insert) {
1354
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;
1355
+ s.prev[str & s.w_mask] = s.head[s.ins_h];
1356
+ s.head[s.ins_h] = str;
1357
+ str++;
1358
+ s.insert--;
1359
+ if (s.lookahead + s.insert < MIN_MATCH) {
1360
+ break;
1361
+ }
1362
+ }
1363
+ }
1364
+ } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);
1365
+ }
1366
+ function deflate_stored(s, flush) {
1367
+ var max_block_size = 65535;
1368
+ if (max_block_size > s.pending_buf_size - 5) {
1369
+ max_block_size = s.pending_buf_size - 5;
1370
+ }
1371
+ for (; ; ) {
1372
+ if (s.lookahead <= 1) {
1373
+ fill_window(s);
1374
+ if (s.lookahead === 0 && flush === Z_NO_FLUSH) {
1375
+ return BS_NEED_MORE;
1376
+ }
1377
+ if (s.lookahead === 0) {
1378
+ break;
1379
+ }
1380
+ }
1381
+ s.strstart += s.lookahead;
1382
+ s.lookahead = 0;
1383
+ var max_start = s.block_start + max_block_size;
1384
+ if (s.strstart === 0 || s.strstart >= max_start) {
1385
+ s.lookahead = s.strstart - max_start;
1386
+ s.strstart = max_start;
1387
+ flush_block_only(s, false);
1388
+ if (s.strm.avail_out === 0) {
1389
+ return BS_NEED_MORE;
1390
+ }
1391
+ }
1392
+ if (s.strstart - s.block_start >= s.w_size - MIN_LOOKAHEAD) {
1393
+ flush_block_only(s, false);
1394
+ if (s.strm.avail_out === 0) {
1395
+ return BS_NEED_MORE;
1396
+ }
1397
+ }
1398
+ }
1399
+ s.insert = 0;
1400
+ if (flush === Z_FINISH) {
1401
+ flush_block_only(s, true);
1402
+ if (s.strm.avail_out === 0) {
1403
+ return BS_FINISH_STARTED;
1404
+ }
1405
+ return BS_FINISH_DONE;
1406
+ }
1407
+ if (s.strstart > s.block_start) {
1408
+ flush_block_only(s, false);
1409
+ if (s.strm.avail_out === 0) {
1410
+ return BS_NEED_MORE;
1411
+ }
1412
+ }
1413
+ return BS_NEED_MORE;
1414
+ }
1415
+ function deflate_fast(s, flush) {
1416
+ var hash_head;
1417
+ var bflush;
1418
+ for (; ; ) {
1419
+ if (s.lookahead < MIN_LOOKAHEAD) {
1420
+ fill_window(s);
1421
+ if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
1422
+ return BS_NEED_MORE;
1423
+ }
1424
+ if (s.lookahead === 0) {
1425
+ break;
1426
+ }
1427
+ }
1428
+ hash_head = 0;
1429
+ if (s.lookahead >= MIN_MATCH) {
1430
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
1431
+ hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
1432
+ s.head[s.ins_h] = s.strstart;
1433
+ }
1434
+ if (hash_head !== 0 && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {
1435
+ s.match_length = longest_match(s, hash_head);
1436
+ }
1437
+ if (s.match_length >= MIN_MATCH) {
1438
+ bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);
1439
+ s.lookahead -= s.match_length;
1440
+ if (s.match_length <= s.max_lazy_match && s.lookahead >= MIN_MATCH) {
1441
+ s.match_length--;
1442
+ do {
1443
+ s.strstart++;
1444
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
1445
+ hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
1446
+ s.head[s.ins_h] = s.strstart;
1447
+ } while (--s.match_length !== 0);
1448
+ s.strstart++;
1449
+ } else {
1450
+ s.strstart += s.match_length;
1451
+ s.match_length = 0;
1452
+ s.ins_h = s.window[s.strstart];
1453
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + 1]) & s.hash_mask;
1454
+ }
1455
+ } else {
1456
+ bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
1457
+ s.lookahead--;
1458
+ s.strstart++;
1459
+ }
1460
+ if (bflush) {
1461
+ flush_block_only(s, false);
1462
+ if (s.strm.avail_out === 0) {
1463
+ return BS_NEED_MORE;
1464
+ }
1465
+ }
1466
+ }
1467
+ s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;
1468
+ if (flush === Z_FINISH) {
1469
+ flush_block_only(s, true);
1470
+ if (s.strm.avail_out === 0) {
1471
+ return BS_FINISH_STARTED;
1472
+ }
1473
+ return BS_FINISH_DONE;
1474
+ }
1475
+ if (s.last_lit) {
1476
+ flush_block_only(s, false);
1477
+ if (s.strm.avail_out === 0) {
1478
+ return BS_NEED_MORE;
1479
+ }
1480
+ }
1481
+ return BS_BLOCK_DONE;
1482
+ }
1483
+ function deflate_slow(s, flush) {
1484
+ var hash_head;
1485
+ var bflush;
1486
+ var max_insert;
1487
+ for (; ; ) {
1488
+ if (s.lookahead < MIN_LOOKAHEAD) {
1489
+ fill_window(s);
1490
+ if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {
1491
+ return BS_NEED_MORE;
1492
+ }
1493
+ if (s.lookahead === 0) {
1494
+ break;
1495
+ }
1496
+ }
1497
+ hash_head = 0;
1498
+ if (s.lookahead >= MIN_MATCH) {
1499
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
1500
+ hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
1501
+ s.head[s.ins_h] = s.strstart;
1502
+ }
1503
+ s.prev_length = s.match_length;
1504
+ s.prev_match = s.match_start;
1505
+ s.match_length = MIN_MATCH - 1;
1506
+ if (hash_head !== 0 && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) {
1507
+ s.match_length = longest_match(s, hash_head);
1508
+ if (s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096)) {
1509
+ s.match_length = MIN_MATCH - 1;
1510
+ }
1511
+ }
1512
+ if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {
1513
+ max_insert = s.strstart + s.lookahead - MIN_MATCH;
1514
+ bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);
1515
+ s.lookahead -= s.prev_length - 1;
1516
+ s.prev_length -= 2;
1517
+ do {
1518
+ if (++s.strstart <= max_insert) {
1519
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;
1520
+ hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];
1521
+ s.head[s.ins_h] = s.strstart;
1522
+ }
1523
+ } while (--s.prev_length !== 0);
1524
+ s.match_available = 0;
1525
+ s.match_length = MIN_MATCH - 1;
1526
+ s.strstart++;
1527
+ if (bflush) {
1528
+ flush_block_only(s, false);
1529
+ if (s.strm.avail_out === 0) {
1530
+ return BS_NEED_MORE;
1531
+ }
1532
+ }
1533
+ } else if (s.match_available) {
1534
+ bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);
1535
+ if (bflush) {
1536
+ flush_block_only(s, false);
1537
+ }
1538
+ s.strstart++;
1539
+ s.lookahead--;
1540
+ if (s.strm.avail_out === 0) {
1541
+ return BS_NEED_MORE;
1542
+ }
1543
+ } else {
1544
+ s.match_available = 1;
1545
+ s.strstart++;
1546
+ s.lookahead--;
1547
+ }
1548
+ }
1549
+ if (s.match_available) {
1550
+ bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);
1551
+ s.match_available = 0;
1552
+ }
1553
+ s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;
1554
+ if (flush === Z_FINISH) {
1555
+ flush_block_only(s, true);
1556
+ if (s.strm.avail_out === 0) {
1557
+ return BS_FINISH_STARTED;
1558
+ }
1559
+ return BS_FINISH_DONE;
1560
+ }
1561
+ if (s.last_lit) {
1562
+ flush_block_only(s, false);
1563
+ if (s.strm.avail_out === 0) {
1564
+ return BS_NEED_MORE;
1565
+ }
1566
+ }
1567
+ return BS_BLOCK_DONE;
1568
+ }
1569
+ function deflate_rle(s, flush) {
1570
+ var bflush;
1571
+ var prev;
1572
+ var scan, strend;
1573
+ var _win = s.window;
1574
+ for (; ; ) {
1575
+ if (s.lookahead <= MAX_MATCH) {
1576
+ fill_window(s);
1577
+ if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {
1578
+ return BS_NEED_MORE;
1579
+ }
1580
+ if (s.lookahead === 0) {
1581
+ break;
1582
+ }
1583
+ }
1584
+ s.match_length = 0;
1585
+ if (s.lookahead >= MIN_MATCH && s.strstart > 0) {
1586
+ scan = s.strstart - 1;
1587
+ prev = _win[scan];
1588
+ if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {
1589
+ strend = s.strstart + MAX_MATCH;
1590
+ do {
1591
+ } while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend);
1592
+ s.match_length = MAX_MATCH - (strend - scan);
1593
+ if (s.match_length > s.lookahead) {
1594
+ s.match_length = s.lookahead;
1595
+ }
1596
+ }
1597
+ }
1598
+ if (s.match_length >= MIN_MATCH) {
1599
+ bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);
1600
+ s.lookahead -= s.match_length;
1601
+ s.strstart += s.match_length;
1602
+ s.match_length = 0;
1603
+ } else {
1604
+ bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
1605
+ s.lookahead--;
1606
+ s.strstart++;
1607
+ }
1608
+ if (bflush) {
1609
+ flush_block_only(s, false);
1610
+ if (s.strm.avail_out === 0) {
1611
+ return BS_NEED_MORE;
1612
+ }
1613
+ }
1614
+ }
1615
+ s.insert = 0;
1616
+ if (flush === Z_FINISH) {
1617
+ flush_block_only(s, true);
1618
+ if (s.strm.avail_out === 0) {
1619
+ return BS_FINISH_STARTED;
1620
+ }
1621
+ return BS_FINISH_DONE;
1622
+ }
1623
+ if (s.last_lit) {
1624
+ flush_block_only(s, false);
1625
+ if (s.strm.avail_out === 0) {
1626
+ return BS_NEED_MORE;
1627
+ }
1628
+ }
1629
+ return BS_BLOCK_DONE;
1630
+ }
1631
+ function deflate_huff(s, flush) {
1632
+ var bflush;
1633
+ for (; ; ) {
1634
+ if (s.lookahead === 0) {
1635
+ fill_window(s);
1636
+ if (s.lookahead === 0) {
1637
+ if (flush === Z_NO_FLUSH) {
1638
+ return BS_NEED_MORE;
1639
+ }
1640
+ break;
1641
+ }
1642
+ }
1643
+ s.match_length = 0;
1644
+ bflush = trees._tr_tally(s, 0, s.window[s.strstart]);
1645
+ s.lookahead--;
1646
+ s.strstart++;
1647
+ if (bflush) {
1648
+ flush_block_only(s, false);
1649
+ if (s.strm.avail_out === 0) {
1650
+ return BS_NEED_MORE;
1651
+ }
1652
+ }
1653
+ }
1654
+ s.insert = 0;
1655
+ if (flush === Z_FINISH) {
1656
+ flush_block_only(s, true);
1657
+ if (s.strm.avail_out === 0) {
1658
+ return BS_FINISH_STARTED;
1659
+ }
1660
+ return BS_FINISH_DONE;
1661
+ }
1662
+ if (s.last_lit) {
1663
+ flush_block_only(s, false);
1664
+ if (s.strm.avail_out === 0) {
1665
+ return BS_NEED_MORE;
1666
+ }
1667
+ }
1668
+ return BS_BLOCK_DONE;
1669
+ }
1670
+ function Config(good_length, max_lazy, nice_length, max_chain, func) {
1671
+ this.good_length = good_length;
1672
+ this.max_lazy = max_lazy;
1673
+ this.nice_length = nice_length;
1674
+ this.max_chain = max_chain;
1675
+ this.func = func;
1676
+ }
1677
+ var configuration_table;
1678
+ configuration_table = [
1679
+ new Config(0, 0, 0, 0, deflate_stored),
1680
+ new Config(4, 4, 8, 4, deflate_fast),
1681
+ new Config(4, 5, 16, 8, deflate_fast),
1682
+ new Config(4, 6, 32, 32, deflate_fast),
1683
+ new Config(4, 4, 16, 16, deflate_slow),
1684
+ new Config(8, 16, 32, 32, deflate_slow),
1685
+ new Config(8, 16, 128, 128, deflate_slow),
1686
+ new Config(8, 32, 128, 256, deflate_slow),
1687
+ new Config(32, 128, 258, 1024, deflate_slow),
1688
+ new Config(32, 258, 258, 4096, deflate_slow)
1689
+ ];
1690
+ function lm_init(s) {
1691
+ s.window_size = 2 * s.w_size;
1692
+ zero3(s.head);
1693
+ s.max_lazy_match = configuration_table[s.level].max_lazy;
1694
+ s.good_match = configuration_table[s.level].good_length;
1695
+ s.nice_match = configuration_table[s.level].nice_length;
1696
+ s.max_chain_length = configuration_table[s.level].max_chain;
1697
+ s.strstart = 0;
1698
+ s.block_start = 0;
1699
+ s.lookahead = 0;
1700
+ s.insert = 0;
1701
+ s.match_length = s.prev_length = MIN_MATCH - 1;
1702
+ s.match_available = 0;
1703
+ s.ins_h = 0;
1704
+ }
1705
+ function DeflateState() {
1706
+ this.strm = null;
1707
+ this.status = 0;
1708
+ this.pending_buf = null;
1709
+ this.pending_buf_size = 0;
1710
+ this.pending_out = 0;
1711
+ this.pending = 0;
1712
+ this.wrap = 0;
1713
+ this.gzhead = null;
1714
+ this.gzindex = 0;
1715
+ this.method = Z_DEFLATED;
1716
+ this.last_flush = -1;
1717
+ this.w_size = 0;
1718
+ this.w_bits = 0;
1719
+ this.w_mask = 0;
1720
+ this.window = null;
1721
+ this.window_size = 0;
1722
+ this.prev = null;
1723
+ this.head = null;
1724
+ this.ins_h = 0;
1725
+ this.hash_size = 0;
1726
+ this.hash_bits = 0;
1727
+ this.hash_mask = 0;
1728
+ this.hash_shift = 0;
1729
+ this.block_start = 0;
1730
+ this.match_length = 0;
1731
+ this.prev_match = 0;
1732
+ this.match_available = 0;
1733
+ this.strstart = 0;
1734
+ this.match_start = 0;
1735
+ this.lookahead = 0;
1736
+ this.prev_length = 0;
1737
+ this.max_chain_length = 0;
1738
+ this.max_lazy_match = 0;
1739
+ this.level = 0;
1740
+ this.strategy = 0;
1741
+ this.good_match = 0;
1742
+ this.nice_match = 0;
1743
+ this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);
1744
+ this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);
1745
+ this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);
1746
+ zero3(this.dyn_ltree);
1747
+ zero3(this.dyn_dtree);
1748
+ zero3(this.bl_tree);
1749
+ this.l_desc = null;
1750
+ this.d_desc = null;
1751
+ this.bl_desc = null;
1752
+ this.bl_count = new utils.Buf16(MAX_BITS + 1);
1753
+ this.heap = new utils.Buf16(2 * L_CODES + 1);
1754
+ zero3(this.heap);
1755
+ this.heap_len = 0;
1756
+ this.heap_max = 0;
1757
+ this.depth = new utils.Buf16(2 * L_CODES + 1);
1758
+ zero3(this.depth);
1759
+ this.l_buf = 0;
1760
+ this.lit_bufsize = 0;
1761
+ this.last_lit = 0;
1762
+ this.d_buf = 0;
1763
+ this.opt_len = 0;
1764
+ this.static_len = 0;
1765
+ this.matches = 0;
1766
+ this.insert = 0;
1767
+ this.bi_buf = 0;
1768
+ this.bi_valid = 0;
1769
+ }
1770
+ function deflateResetKeep(strm) {
1771
+ var s;
1772
+ if (!strm || !strm.state) {
1773
+ return err(strm, Z_STREAM_ERROR);
1774
+ }
1775
+ strm.total_in = strm.total_out = 0;
1776
+ strm.data_type = Z_UNKNOWN;
1777
+ s = strm.state;
1778
+ s.pending = 0;
1779
+ s.pending_out = 0;
1780
+ if (s.wrap < 0) {
1781
+ s.wrap = -s.wrap;
1782
+ }
1783
+ s.status = s.wrap ? INIT_STATE : BUSY_STATE;
1784
+ strm.adler = s.wrap === 2 ? 0 : 1;
1785
+ s.last_flush = Z_NO_FLUSH;
1786
+ trees._tr_init(s);
1787
+ return Z_OK;
1788
+ }
1789
+ function deflateReset(strm) {
1790
+ var ret = deflateResetKeep(strm);
1791
+ if (ret === Z_OK) {
1792
+ lm_init(strm.state);
1793
+ }
1794
+ return ret;
1795
+ }
1796
+ function deflateSetHeader(strm, head) {
1797
+ if (!strm || !strm.state) {
1798
+ return Z_STREAM_ERROR;
1799
+ }
1800
+ if (strm.state.wrap !== 2) {
1801
+ return Z_STREAM_ERROR;
1802
+ }
1803
+ strm.state.gzhead = head;
1804
+ return Z_OK;
1805
+ }
1806
+ function deflateInit2(strm, level, method, windowBits, memLevel, strategy) {
1807
+ if (!strm) {
1808
+ return Z_STREAM_ERROR;
1809
+ }
1810
+ var wrap = 1;
1811
+ if (level === Z_DEFAULT_COMPRESSION) {
1812
+ level = 6;
1813
+ }
1814
+ if (windowBits < 0) {
1815
+ wrap = 0;
1816
+ windowBits = -windowBits;
1817
+ } else if (windowBits > 15) {
1818
+ wrap = 2;
1819
+ windowBits -= 16;
1820
+ }
1821
+ if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED) {
1822
+ return err(strm, Z_STREAM_ERROR);
1823
+ }
1824
+ if (windowBits === 8) {
1825
+ windowBits = 9;
1826
+ }
1827
+ var s = new DeflateState();
1828
+ strm.state = s;
1829
+ s.strm = strm;
1830
+ s.wrap = wrap;
1831
+ s.gzhead = null;
1832
+ s.w_bits = windowBits;
1833
+ s.w_size = 1 << s.w_bits;
1834
+ s.w_mask = s.w_size - 1;
1835
+ s.hash_bits = memLevel + 7;
1836
+ s.hash_size = 1 << s.hash_bits;
1837
+ s.hash_mask = s.hash_size - 1;
1838
+ s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);
1839
+ s.window = new utils.Buf8(s.w_size * 2);
1840
+ s.head = new utils.Buf16(s.hash_size);
1841
+ s.prev = new utils.Buf16(s.w_size);
1842
+ s.lit_bufsize = 1 << memLevel + 6;
1843
+ s.pending_buf_size = s.lit_bufsize * 4;
1844
+ s.pending_buf = new utils.Buf8(s.pending_buf_size);
1845
+ s.d_buf = 1 * s.lit_bufsize;
1846
+ s.l_buf = (1 + 2) * s.lit_bufsize;
1847
+ s.level = level;
1848
+ s.strategy = strategy;
1849
+ s.method = method;
1850
+ return deflateReset(strm);
1851
+ }
1852
+ function deflateInit(strm, level) {
1853
+ return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);
1854
+ }
1855
+ function deflate(strm, flush) {
1856
+ var old_flush, s;
1857
+ var beg, val;
1858
+ if (!strm || !strm.state || flush > Z_BLOCK || flush < 0) {
1859
+ return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;
1860
+ }
1861
+ s = strm.state;
1862
+ if (!strm.output || !strm.input && strm.avail_in !== 0 || s.status === FINISH_STATE && flush !== Z_FINISH) {
1863
+ return err(strm, strm.avail_out === 0 ? Z_BUF_ERROR : Z_STREAM_ERROR);
1864
+ }
1865
+ s.strm = strm;
1866
+ old_flush = s.last_flush;
1867
+ s.last_flush = flush;
1868
+ if (s.status === INIT_STATE) {
1869
+ if (s.wrap === 2) {
1870
+ strm.adler = 0;
1871
+ put_byte(s, 31);
1872
+ put_byte(s, 139);
1873
+ put_byte(s, 8);
1874
+ if (!s.gzhead) {
1875
+ put_byte(s, 0);
1876
+ put_byte(s, 0);
1877
+ put_byte(s, 0);
1878
+ put_byte(s, 0);
1879
+ put_byte(s, 0);
1880
+ put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0);
1881
+ put_byte(s, OS_CODE);
1882
+ s.status = BUSY_STATE;
1883
+ } else {
1884
+ put_byte(
1885
+ s,
1886
+ (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16)
1887
+ );
1888
+ put_byte(s, s.gzhead.time & 255);
1889
+ put_byte(s, s.gzhead.time >> 8 & 255);
1890
+ put_byte(s, s.gzhead.time >> 16 & 255);
1891
+ put_byte(s, s.gzhead.time >> 24 & 255);
1892
+ put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0);
1893
+ put_byte(s, s.gzhead.os & 255);
1894
+ if (s.gzhead.extra && s.gzhead.extra.length) {
1895
+ put_byte(s, s.gzhead.extra.length & 255);
1896
+ put_byte(s, s.gzhead.extra.length >> 8 & 255);
1897
+ }
1898
+ if (s.gzhead.hcrc) {
1899
+ strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);
1900
+ }
1901
+ s.gzindex = 0;
1902
+ s.status = EXTRA_STATE;
1903
+ }
1904
+ } else {
1905
+ var header = Z_DEFLATED + (s.w_bits - 8 << 4) << 8;
1906
+ var level_flags = -1;
1907
+ if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {
1908
+ level_flags = 0;
1909
+ } else if (s.level < 6) {
1910
+ level_flags = 1;
1911
+ } else if (s.level === 6) {
1912
+ level_flags = 2;
1913
+ } else {
1914
+ level_flags = 3;
1915
+ }
1916
+ header |= level_flags << 6;
1917
+ if (s.strstart !== 0) {
1918
+ header |= PRESET_DICT;
1919
+ }
1920
+ header += 31 - header % 31;
1921
+ s.status = BUSY_STATE;
1922
+ putShortMSB(s, header);
1923
+ if (s.strstart !== 0) {
1924
+ putShortMSB(s, strm.adler >>> 16);
1925
+ putShortMSB(s, strm.adler & 65535);
1926
+ }
1927
+ strm.adler = 1;
1928
+ }
1929
+ }
1930
+ if (s.status === EXTRA_STATE) {
1931
+ if (s.gzhead.extra) {
1932
+ beg = s.pending;
1933
+ while (s.gzindex < (s.gzhead.extra.length & 65535)) {
1934
+ if (s.pending === s.pending_buf_size) {
1935
+ if (s.gzhead.hcrc && s.pending > beg) {
1936
+ strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
1937
+ }
1938
+ flush_pending(strm);
1939
+ beg = s.pending;
1940
+ if (s.pending === s.pending_buf_size) {
1941
+ break;
1942
+ }
1943
+ }
1944
+ put_byte(s, s.gzhead.extra[s.gzindex] & 255);
1945
+ s.gzindex++;
1946
+ }
1947
+ if (s.gzhead.hcrc && s.pending > beg) {
1948
+ strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
1949
+ }
1950
+ if (s.gzindex === s.gzhead.extra.length) {
1951
+ s.gzindex = 0;
1952
+ s.status = NAME_STATE;
1953
+ }
1954
+ } else {
1955
+ s.status = NAME_STATE;
1956
+ }
1957
+ }
1958
+ if (s.status === NAME_STATE) {
1959
+ if (s.gzhead.name) {
1960
+ beg = s.pending;
1961
+ do {
1962
+ if (s.pending === s.pending_buf_size) {
1963
+ if (s.gzhead.hcrc && s.pending > beg) {
1964
+ strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
1965
+ }
1966
+ flush_pending(strm);
1967
+ beg = s.pending;
1968
+ if (s.pending === s.pending_buf_size) {
1969
+ val = 1;
1970
+ break;
1971
+ }
1972
+ }
1973
+ if (s.gzindex < s.gzhead.name.length) {
1974
+ val = s.gzhead.name.charCodeAt(s.gzindex++) & 255;
1975
+ } else {
1976
+ val = 0;
1977
+ }
1978
+ put_byte(s, val);
1979
+ } while (val !== 0);
1980
+ if (s.gzhead.hcrc && s.pending > beg) {
1981
+ strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
1982
+ }
1983
+ if (val === 0) {
1984
+ s.gzindex = 0;
1985
+ s.status = COMMENT_STATE;
1986
+ }
1987
+ } else {
1988
+ s.status = COMMENT_STATE;
1989
+ }
1990
+ }
1991
+ if (s.status === COMMENT_STATE) {
1992
+ if (s.gzhead.comment) {
1993
+ beg = s.pending;
1994
+ do {
1995
+ if (s.pending === s.pending_buf_size) {
1996
+ if (s.gzhead.hcrc && s.pending > beg) {
1997
+ strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
1998
+ }
1999
+ flush_pending(strm);
2000
+ beg = s.pending;
2001
+ if (s.pending === s.pending_buf_size) {
2002
+ val = 1;
2003
+ break;
2004
+ }
2005
+ }
2006
+ if (s.gzindex < s.gzhead.comment.length) {
2007
+ val = s.gzhead.comment.charCodeAt(s.gzindex++) & 255;
2008
+ } else {
2009
+ val = 0;
2010
+ }
2011
+ put_byte(s, val);
2012
+ } while (val !== 0);
2013
+ if (s.gzhead.hcrc && s.pending > beg) {
2014
+ strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);
2015
+ }
2016
+ if (val === 0) {
2017
+ s.status = HCRC_STATE;
2018
+ }
2019
+ } else {
2020
+ s.status = HCRC_STATE;
2021
+ }
2022
+ }
2023
+ if (s.status === HCRC_STATE) {
2024
+ if (s.gzhead.hcrc) {
2025
+ if (s.pending + 2 > s.pending_buf_size) {
2026
+ flush_pending(strm);
2027
+ }
2028
+ if (s.pending + 2 <= s.pending_buf_size) {
2029
+ put_byte(s, strm.adler & 255);
2030
+ put_byte(s, strm.adler >> 8 & 255);
2031
+ strm.adler = 0;
2032
+ s.status = BUSY_STATE;
2033
+ }
2034
+ } else {
2035
+ s.status = BUSY_STATE;
2036
+ }
2037
+ }
2038
+ if (s.pending !== 0) {
2039
+ flush_pending(strm);
2040
+ if (strm.avail_out === 0) {
2041
+ s.last_flush = -1;
2042
+ return Z_OK;
2043
+ }
2044
+ } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH) {
2045
+ return err(strm, Z_BUF_ERROR);
2046
+ }
2047
+ if (s.status === FINISH_STATE && strm.avail_in !== 0) {
2048
+ return err(strm, Z_BUF_ERROR);
2049
+ }
2050
+ if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH && s.status !== FINISH_STATE) {
2051
+ var bstate = s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : s.strategy === Z_RLE ? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush);
2052
+ if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {
2053
+ s.status = FINISH_STATE;
2054
+ }
2055
+ if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {
2056
+ if (strm.avail_out === 0) {
2057
+ s.last_flush = -1;
2058
+ }
2059
+ return Z_OK;
2060
+ }
2061
+ if (bstate === BS_BLOCK_DONE) {
2062
+ if (flush === Z_PARTIAL_FLUSH) {
2063
+ trees._tr_align(s);
2064
+ } else if (flush !== Z_BLOCK) {
2065
+ trees._tr_stored_block(s, 0, 0, false);
2066
+ if (flush === Z_FULL_FLUSH) {
2067
+ zero3(s.head);
2068
+ if (s.lookahead === 0) {
2069
+ s.strstart = 0;
2070
+ s.block_start = 0;
2071
+ s.insert = 0;
2072
+ }
2073
+ }
2074
+ }
2075
+ flush_pending(strm);
2076
+ if (strm.avail_out === 0) {
2077
+ s.last_flush = -1;
2078
+ return Z_OK;
2079
+ }
2080
+ }
2081
+ }
2082
+ if (flush !== Z_FINISH) {
2083
+ return Z_OK;
2084
+ }
2085
+ if (s.wrap <= 0) {
2086
+ return Z_STREAM_END;
2087
+ }
2088
+ if (s.wrap === 2) {
2089
+ put_byte(s, strm.adler & 255);
2090
+ put_byte(s, strm.adler >> 8 & 255);
2091
+ put_byte(s, strm.adler >> 16 & 255);
2092
+ put_byte(s, strm.adler >> 24 & 255);
2093
+ put_byte(s, strm.total_in & 255);
2094
+ put_byte(s, strm.total_in >> 8 & 255);
2095
+ put_byte(s, strm.total_in >> 16 & 255);
2096
+ put_byte(s, strm.total_in >> 24 & 255);
2097
+ } else {
2098
+ putShortMSB(s, strm.adler >>> 16);
2099
+ putShortMSB(s, strm.adler & 65535);
2100
+ }
2101
+ flush_pending(strm);
2102
+ if (s.wrap > 0) {
2103
+ s.wrap = -s.wrap;
2104
+ }
2105
+ return s.pending !== 0 ? Z_OK : Z_STREAM_END;
2106
+ }
2107
+ function deflateEnd(strm) {
2108
+ var status;
2109
+ if (!strm || !strm.state) {
2110
+ return Z_STREAM_ERROR;
2111
+ }
2112
+ status = strm.state.status;
2113
+ if (status !== INIT_STATE && status !== EXTRA_STATE && status !== NAME_STATE && status !== COMMENT_STATE && status !== HCRC_STATE && status !== BUSY_STATE && status !== FINISH_STATE) {
2114
+ return err(strm, Z_STREAM_ERROR);
2115
+ }
2116
+ strm.state = null;
2117
+ return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;
2118
+ }
2119
+ function deflateSetDictionary(strm, dictionary) {
2120
+ var dictLength = dictionary.length;
2121
+ var s;
2122
+ var str, n;
2123
+ var wrap;
2124
+ var avail;
2125
+ var next;
2126
+ var input;
2127
+ var tmpDict;
2128
+ if (!strm || !strm.state) {
2129
+ return Z_STREAM_ERROR;
2130
+ }
2131
+ s = strm.state;
2132
+ wrap = s.wrap;
2133
+ if (wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead) {
2134
+ return Z_STREAM_ERROR;
2135
+ }
2136
+ if (wrap === 1) {
2137
+ strm.adler = adler32(strm.adler, dictionary, dictLength, 0);
2138
+ }
2139
+ s.wrap = 0;
2140
+ if (dictLength >= s.w_size) {
2141
+ if (wrap === 0) {
2142
+ zero3(s.head);
2143
+ s.strstart = 0;
2144
+ s.block_start = 0;
2145
+ s.insert = 0;
2146
+ }
2147
+ tmpDict = new utils.Buf8(s.w_size);
2148
+ utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);
2149
+ dictionary = tmpDict;
2150
+ dictLength = s.w_size;
2151
+ }
2152
+ avail = strm.avail_in;
2153
+ next = strm.next_in;
2154
+ input = strm.input;
2155
+ strm.avail_in = dictLength;
2156
+ strm.next_in = 0;
2157
+ strm.input = dictionary;
2158
+ fill_window(s);
2159
+ while (s.lookahead >= MIN_MATCH) {
2160
+ str = s.strstart;
2161
+ n = s.lookahead - (MIN_MATCH - 1);
2162
+ do {
2163
+ s.ins_h = (s.ins_h << s.hash_shift ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;
2164
+ s.prev[str & s.w_mask] = s.head[s.ins_h];
2165
+ s.head[s.ins_h] = str;
2166
+ str++;
2167
+ } while (--n);
2168
+ s.strstart = str;
2169
+ s.lookahead = MIN_MATCH - 1;
2170
+ fill_window(s);
2171
+ }
2172
+ s.strstart += s.lookahead;
2173
+ s.block_start = s.strstart;
2174
+ s.insert = s.lookahead;
2175
+ s.lookahead = 0;
2176
+ s.match_length = s.prev_length = MIN_MATCH - 1;
2177
+ s.match_available = 0;
2178
+ strm.next_in = next;
2179
+ strm.input = input;
2180
+ strm.avail_in = avail;
2181
+ s.wrap = wrap;
2182
+ return Z_OK;
2183
+ }
2184
+ exports.deflateInit = deflateInit;
2185
+ exports.deflateInit2 = deflateInit2;
2186
+ exports.deflateReset = deflateReset;
2187
+ exports.deflateResetKeep = deflateResetKeep;
2188
+ exports.deflateSetHeader = deflateSetHeader;
2189
+ exports.deflate = deflate;
2190
+ exports.deflateEnd = deflateEnd;
2191
+ exports.deflateSetDictionary = deflateSetDictionary;
2192
+ exports.deflateInfo = "pako deflate (from Nodeca project)";
2193
+ }
2194
+ });
2195
+
2196
+ // ../../node_modules/pako/lib/utils/strings.js
2197
+ var require_strings = __commonJS({
2198
+ "../../node_modules/pako/lib/utils/strings.js"(exports) {
2199
+ "use strict";
2200
+ var utils = require_common();
2201
+ var STR_APPLY_OK = true;
2202
+ var STR_APPLY_UIA_OK = true;
2203
+ try {
2204
+ String.fromCharCode.apply(null, [0]);
2205
+ } catch (__) {
2206
+ STR_APPLY_OK = false;
2207
+ }
2208
+ try {
2209
+ String.fromCharCode.apply(null, new Uint8Array(1));
2210
+ } catch (__) {
2211
+ STR_APPLY_UIA_OK = false;
2212
+ }
2213
+ var _utf8len = new utils.Buf8(256);
2214
+ for (q = 0; q < 256; q++) {
2215
+ _utf8len[q] = q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1;
2216
+ }
2217
+ var q;
2218
+ _utf8len[254] = _utf8len[254] = 1;
2219
+ exports.string2buf = function(str) {
2220
+ var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
2221
+ for (m_pos = 0; m_pos < str_len; m_pos++) {
2222
+ c = str.charCodeAt(m_pos);
2223
+ if ((c & 64512) === 55296 && m_pos + 1 < str_len) {
2224
+ c2 = str.charCodeAt(m_pos + 1);
2225
+ if ((c2 & 64512) === 56320) {
2226
+ c = 65536 + (c - 55296 << 10) + (c2 - 56320);
2227
+ m_pos++;
2228
+ }
2229
+ }
2230
+ buf_len += c < 128 ? 1 : c < 2048 ? 2 : c < 65536 ? 3 : 4;
2231
+ }
2232
+ buf = new utils.Buf8(buf_len);
2233
+ for (i = 0, m_pos = 0; i < buf_len; m_pos++) {
2234
+ c = str.charCodeAt(m_pos);
2235
+ if ((c & 64512) === 55296 && m_pos + 1 < str_len) {
2236
+ c2 = str.charCodeAt(m_pos + 1);
2237
+ if ((c2 & 64512) === 56320) {
2238
+ c = 65536 + (c - 55296 << 10) + (c2 - 56320);
2239
+ m_pos++;
2240
+ }
2241
+ }
2242
+ if (c < 128) {
2243
+ buf[i++] = c;
2244
+ } else if (c < 2048) {
2245
+ buf[i++] = 192 | c >>> 6;
2246
+ buf[i++] = 128 | c & 63;
2247
+ } else if (c < 65536) {
2248
+ buf[i++] = 224 | c >>> 12;
2249
+ buf[i++] = 128 | c >>> 6 & 63;
2250
+ buf[i++] = 128 | c & 63;
2251
+ } else {
2252
+ buf[i++] = 240 | c >>> 18;
2253
+ buf[i++] = 128 | c >>> 12 & 63;
2254
+ buf[i++] = 128 | c >>> 6 & 63;
2255
+ buf[i++] = 128 | c & 63;
2256
+ }
2257
+ }
2258
+ return buf;
2259
+ };
2260
+ function buf2binstring(buf, len) {
2261
+ if (len < 65534) {
2262
+ if (buf.subarray && STR_APPLY_UIA_OK || !buf.subarray && STR_APPLY_OK) {
2263
+ return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));
2264
+ }
2265
+ }
2266
+ var result = "";
2267
+ for (var i = 0; i < len; i++) {
2268
+ result += String.fromCharCode(buf[i]);
2269
+ }
2270
+ return result;
2271
+ }
2272
+ exports.buf2binstring = function(buf) {
2273
+ return buf2binstring(buf, buf.length);
2274
+ };
2275
+ exports.binstring2buf = function(str) {
2276
+ var buf = new utils.Buf8(str.length);
2277
+ for (var i = 0, len = buf.length; i < len; i++) {
2278
+ buf[i] = str.charCodeAt(i);
2279
+ }
2280
+ return buf;
2281
+ };
2282
+ exports.buf2string = function(buf, max2) {
2283
+ var i, out, c, c_len;
2284
+ var len = max2 || buf.length;
2285
+ var utf16buf = new Array(len * 2);
2286
+ for (out = 0, i = 0; i < len; ) {
2287
+ c = buf[i++];
2288
+ if (c < 128) {
2289
+ utf16buf[out++] = c;
2290
+ continue;
2291
+ }
2292
+ c_len = _utf8len[c];
2293
+ if (c_len > 4) {
2294
+ utf16buf[out++] = 65533;
2295
+ i += c_len - 1;
2296
+ continue;
2297
+ }
2298
+ c &= c_len === 2 ? 31 : c_len === 3 ? 15 : 7;
2299
+ while (c_len > 1 && i < len) {
2300
+ c = c << 6 | buf[i++] & 63;
2301
+ c_len--;
2302
+ }
2303
+ if (c_len > 1) {
2304
+ utf16buf[out++] = 65533;
2305
+ continue;
2306
+ }
2307
+ if (c < 65536) {
2308
+ utf16buf[out++] = c;
2309
+ } else {
2310
+ c -= 65536;
2311
+ utf16buf[out++] = 55296 | c >> 10 & 1023;
2312
+ utf16buf[out++] = 56320 | c & 1023;
2313
+ }
2314
+ }
2315
+ return buf2binstring(utf16buf, out);
2316
+ };
2317
+ exports.utf8border = function(buf, max2) {
2318
+ var pos;
2319
+ max2 = max2 || buf.length;
2320
+ if (max2 > buf.length) {
2321
+ max2 = buf.length;
2322
+ }
2323
+ pos = max2 - 1;
2324
+ while (pos >= 0 && (buf[pos] & 192) === 128) {
2325
+ pos--;
2326
+ }
2327
+ if (pos < 0) {
2328
+ return max2;
2329
+ }
2330
+ if (pos === 0) {
2331
+ return max2;
2332
+ }
2333
+ return pos + _utf8len[buf[pos]] > max2 ? pos : max2;
2334
+ };
2335
+ }
2336
+ });
2337
+
2338
+ // ../../node_modules/pako/lib/zlib/zstream.js
2339
+ var require_zstream = __commonJS({
2340
+ "../../node_modules/pako/lib/zlib/zstream.js"(exports, module) {
2341
+ "use strict";
2342
+ function ZStream() {
2343
+ this.input = null;
2344
+ this.next_in = 0;
2345
+ this.avail_in = 0;
2346
+ this.total_in = 0;
2347
+ this.output = null;
2348
+ this.next_out = 0;
2349
+ this.avail_out = 0;
2350
+ this.total_out = 0;
2351
+ this.msg = "";
2352
+ this.state = null;
2353
+ this.data_type = 2;
2354
+ this.adler = 0;
2355
+ }
2356
+ module.exports = ZStream;
2357
+ }
2358
+ });
2359
+
2360
+ // ../../node_modules/pako/lib/deflate.js
2361
+ var require_deflate2 = __commonJS({
2362
+ "../../node_modules/pako/lib/deflate.js"(exports) {
2363
+ "use strict";
2364
+ var zlib_deflate = require_deflate();
2365
+ var utils = require_common();
2366
+ var strings = require_strings();
2367
+ var msg = require_messages();
2368
+ var ZStream = require_zstream();
2369
+ var toString = Object.prototype.toString;
2370
+ var Z_NO_FLUSH = 0;
2371
+ var Z_FINISH = 4;
2372
+ var Z_OK = 0;
2373
+ var Z_STREAM_END = 1;
2374
+ var Z_SYNC_FLUSH = 2;
2375
+ var Z_DEFAULT_COMPRESSION = -1;
2376
+ var Z_DEFAULT_STRATEGY = 0;
2377
+ var Z_DEFLATED = 8;
2378
+ function Deflate(options) {
2379
+ if (!(this instanceof Deflate))
2380
+ return new Deflate(options);
2381
+ this.options = utils.assign({
2382
+ level: Z_DEFAULT_COMPRESSION,
2383
+ method: Z_DEFLATED,
2384
+ chunkSize: 16384,
2385
+ windowBits: 15,
2386
+ memLevel: 8,
2387
+ strategy: Z_DEFAULT_STRATEGY,
2388
+ to: ""
2389
+ }, options || {});
2390
+ var opt = this.options;
2391
+ if (opt.raw && opt.windowBits > 0) {
2392
+ opt.windowBits = -opt.windowBits;
2393
+ } else if (opt.gzip && opt.windowBits > 0 && opt.windowBits < 16) {
2394
+ opt.windowBits += 16;
2395
+ }
2396
+ this.err = 0;
2397
+ this.msg = "";
2398
+ this.ended = false;
2399
+ this.chunks = [];
2400
+ this.strm = new ZStream();
2401
+ this.strm.avail_out = 0;
2402
+ var status = zlib_deflate.deflateInit2(
2403
+ this.strm,
2404
+ opt.level,
2405
+ opt.method,
2406
+ opt.windowBits,
2407
+ opt.memLevel,
2408
+ opt.strategy
2409
+ );
2410
+ if (status !== Z_OK) {
2411
+ throw new Error(msg[status]);
2412
+ }
2413
+ if (opt.header) {
2414
+ zlib_deflate.deflateSetHeader(this.strm, opt.header);
2415
+ }
2416
+ if (opt.dictionary) {
2417
+ var dict;
2418
+ if (typeof opt.dictionary === "string") {
2419
+ dict = strings.string2buf(opt.dictionary);
2420
+ } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") {
2421
+ dict = new Uint8Array(opt.dictionary);
2422
+ } else {
2423
+ dict = opt.dictionary;
2424
+ }
2425
+ status = zlib_deflate.deflateSetDictionary(this.strm, dict);
2426
+ if (status !== Z_OK) {
2427
+ throw new Error(msg[status]);
2428
+ }
2429
+ this._dict_set = true;
2430
+ }
2431
+ }
2432
+ Deflate.prototype.push = function(data, mode) {
2433
+ var strm = this.strm;
2434
+ var chunkSize = this.options.chunkSize;
2435
+ var status, _mode;
2436
+ if (this.ended) {
2437
+ return false;
2438
+ }
2439
+ _mode = mode === ~~mode ? mode : mode === true ? Z_FINISH : Z_NO_FLUSH;
2440
+ if (typeof data === "string") {
2441
+ strm.input = strings.string2buf(data);
2442
+ } else if (toString.call(data) === "[object ArrayBuffer]") {
2443
+ strm.input = new Uint8Array(data);
2444
+ } else {
2445
+ strm.input = data;
2446
+ }
2447
+ strm.next_in = 0;
2448
+ strm.avail_in = strm.input.length;
2449
+ do {
2450
+ if (strm.avail_out === 0) {
2451
+ strm.output = new utils.Buf8(chunkSize);
2452
+ strm.next_out = 0;
2453
+ strm.avail_out = chunkSize;
2454
+ }
2455
+ status = zlib_deflate.deflate(strm, _mode);
2456
+ if (status !== Z_STREAM_END && status !== Z_OK) {
2457
+ this.onEnd(status);
2458
+ this.ended = true;
2459
+ return false;
2460
+ }
2461
+ if (strm.avail_out === 0 || strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH)) {
2462
+ if (this.options.to === "string") {
2463
+ this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));
2464
+ } else {
2465
+ this.onData(utils.shrinkBuf(strm.output, strm.next_out));
2466
+ }
2467
+ }
2468
+ } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);
2469
+ if (_mode === Z_FINISH) {
2470
+ status = zlib_deflate.deflateEnd(this.strm);
2471
+ this.onEnd(status);
2472
+ this.ended = true;
2473
+ return status === Z_OK;
2474
+ }
2475
+ if (_mode === Z_SYNC_FLUSH) {
2476
+ this.onEnd(Z_OK);
2477
+ strm.avail_out = 0;
2478
+ return true;
2479
+ }
2480
+ return true;
2481
+ };
2482
+ Deflate.prototype.onData = function(chunk) {
2483
+ this.chunks.push(chunk);
2484
+ };
2485
+ Deflate.prototype.onEnd = function(status) {
2486
+ if (status === Z_OK) {
2487
+ if (this.options.to === "string") {
2488
+ this.result = this.chunks.join("");
2489
+ } else {
2490
+ this.result = utils.flattenChunks(this.chunks);
2491
+ }
2492
+ }
2493
+ this.chunks = [];
2494
+ this.err = status;
2495
+ this.msg = this.strm.msg;
2496
+ };
2497
+ function deflate(input, options) {
2498
+ var deflator = new Deflate(options);
2499
+ deflator.push(input, true);
2500
+ if (deflator.err) {
2501
+ throw deflator.msg || msg[deflator.err];
2502
+ }
2503
+ return deflator.result;
2504
+ }
2505
+ function deflateRaw(input, options) {
2506
+ options = options || {};
2507
+ options.raw = true;
2508
+ return deflate(input, options);
2509
+ }
2510
+ function gzip(input, options) {
2511
+ options = options || {};
2512
+ options.gzip = true;
2513
+ return deflate(input, options);
2514
+ }
2515
+ exports.Deflate = Deflate;
2516
+ exports.deflate = deflate;
2517
+ exports.deflateRaw = deflateRaw;
2518
+ exports.gzip = gzip;
2519
+ }
2520
+ });
2521
+
2522
+ // ../../node_modules/pako/lib/zlib/inffast.js
2523
+ var require_inffast = __commonJS({
2524
+ "../../node_modules/pako/lib/zlib/inffast.js"(exports, module) {
2525
+ "use strict";
2526
+ var BAD = 30;
2527
+ var TYPE = 12;
2528
+ module.exports = function inflate_fast(strm, start) {
2529
+ var state;
2530
+ var _in;
2531
+ var last;
2532
+ var _out;
2533
+ var beg;
2534
+ var end;
2535
+ var dmax;
2536
+ var wsize;
2537
+ var whave;
2538
+ var wnext;
2539
+ var s_window;
2540
+ var hold;
2541
+ var bits;
2542
+ var lcode;
2543
+ var dcode;
2544
+ var lmask;
2545
+ var dmask;
2546
+ var here;
2547
+ var op;
2548
+ var len;
2549
+ var dist;
2550
+ var from;
2551
+ var from_source;
2552
+ var input, output;
2553
+ state = strm.state;
2554
+ _in = strm.next_in;
2555
+ input = strm.input;
2556
+ last = _in + (strm.avail_in - 5);
2557
+ _out = strm.next_out;
2558
+ output = strm.output;
2559
+ beg = _out - (start - strm.avail_out);
2560
+ end = _out + (strm.avail_out - 257);
2561
+ dmax = state.dmax;
2562
+ wsize = state.wsize;
2563
+ whave = state.whave;
2564
+ wnext = state.wnext;
2565
+ s_window = state.window;
2566
+ hold = state.hold;
2567
+ bits = state.bits;
2568
+ lcode = state.lencode;
2569
+ dcode = state.distcode;
2570
+ lmask = (1 << state.lenbits) - 1;
2571
+ dmask = (1 << state.distbits) - 1;
2572
+ top:
2573
+ do {
2574
+ if (bits < 15) {
2575
+ hold += input[_in++] << bits;
2576
+ bits += 8;
2577
+ hold += input[_in++] << bits;
2578
+ bits += 8;
2579
+ }
2580
+ here = lcode[hold & lmask];
2581
+ dolen:
2582
+ for (; ; ) {
2583
+ op = here >>> 24;
2584
+ hold >>>= op;
2585
+ bits -= op;
2586
+ op = here >>> 16 & 255;
2587
+ if (op === 0) {
2588
+ output[_out++] = here & 65535;
2589
+ } else if (op & 16) {
2590
+ len = here & 65535;
2591
+ op &= 15;
2592
+ if (op) {
2593
+ if (bits < op) {
2594
+ hold += input[_in++] << bits;
2595
+ bits += 8;
2596
+ }
2597
+ len += hold & (1 << op) - 1;
2598
+ hold >>>= op;
2599
+ bits -= op;
2600
+ }
2601
+ if (bits < 15) {
2602
+ hold += input[_in++] << bits;
2603
+ bits += 8;
2604
+ hold += input[_in++] << bits;
2605
+ bits += 8;
2606
+ }
2607
+ here = dcode[hold & dmask];
2608
+ dodist:
2609
+ for (; ; ) {
2610
+ op = here >>> 24;
2611
+ hold >>>= op;
2612
+ bits -= op;
2613
+ op = here >>> 16 & 255;
2614
+ if (op & 16) {
2615
+ dist = here & 65535;
2616
+ op &= 15;
2617
+ if (bits < op) {
2618
+ hold += input[_in++] << bits;
2619
+ bits += 8;
2620
+ if (bits < op) {
2621
+ hold += input[_in++] << bits;
2622
+ bits += 8;
2623
+ }
2624
+ }
2625
+ dist += hold & (1 << op) - 1;
2626
+ if (dist > dmax) {
2627
+ strm.msg = "invalid distance too far back";
2628
+ state.mode = BAD;
2629
+ break top;
2630
+ }
2631
+ hold >>>= op;
2632
+ bits -= op;
2633
+ op = _out - beg;
2634
+ if (dist > op) {
2635
+ op = dist - op;
2636
+ if (op > whave) {
2637
+ if (state.sane) {
2638
+ strm.msg = "invalid distance too far back";
2639
+ state.mode = BAD;
2640
+ break top;
2641
+ }
2642
+ }
2643
+ from = 0;
2644
+ from_source = s_window;
2645
+ if (wnext === 0) {
2646
+ from += wsize - op;
2647
+ if (op < len) {
2648
+ len -= op;
2649
+ do {
2650
+ output[_out++] = s_window[from++];
2651
+ } while (--op);
2652
+ from = _out - dist;
2653
+ from_source = output;
2654
+ }
2655
+ } else if (wnext < op) {
2656
+ from += wsize + wnext - op;
2657
+ op -= wnext;
2658
+ if (op < len) {
2659
+ len -= op;
2660
+ do {
2661
+ output[_out++] = s_window[from++];
2662
+ } while (--op);
2663
+ from = 0;
2664
+ if (wnext < len) {
2665
+ op = wnext;
2666
+ len -= op;
2667
+ do {
2668
+ output[_out++] = s_window[from++];
2669
+ } while (--op);
2670
+ from = _out - dist;
2671
+ from_source = output;
2672
+ }
2673
+ }
2674
+ } else {
2675
+ from += wnext - op;
2676
+ if (op < len) {
2677
+ len -= op;
2678
+ do {
2679
+ output[_out++] = s_window[from++];
2680
+ } while (--op);
2681
+ from = _out - dist;
2682
+ from_source = output;
2683
+ }
2684
+ }
2685
+ while (len > 2) {
2686
+ output[_out++] = from_source[from++];
2687
+ output[_out++] = from_source[from++];
2688
+ output[_out++] = from_source[from++];
2689
+ len -= 3;
2690
+ }
2691
+ if (len) {
2692
+ output[_out++] = from_source[from++];
2693
+ if (len > 1) {
2694
+ output[_out++] = from_source[from++];
2695
+ }
2696
+ }
2697
+ } else {
2698
+ from = _out - dist;
2699
+ do {
2700
+ output[_out++] = output[from++];
2701
+ output[_out++] = output[from++];
2702
+ output[_out++] = output[from++];
2703
+ len -= 3;
2704
+ } while (len > 2);
2705
+ if (len) {
2706
+ output[_out++] = output[from++];
2707
+ if (len > 1) {
2708
+ output[_out++] = output[from++];
2709
+ }
2710
+ }
2711
+ }
2712
+ } else if ((op & 64) === 0) {
2713
+ here = dcode[(here & 65535) + (hold & (1 << op) - 1)];
2714
+ continue dodist;
2715
+ } else {
2716
+ strm.msg = "invalid distance code";
2717
+ state.mode = BAD;
2718
+ break top;
2719
+ }
2720
+ break;
2721
+ }
2722
+ } else if ((op & 64) === 0) {
2723
+ here = lcode[(here & 65535) + (hold & (1 << op) - 1)];
2724
+ continue dolen;
2725
+ } else if (op & 32) {
2726
+ state.mode = TYPE;
2727
+ break top;
2728
+ } else {
2729
+ strm.msg = "invalid literal/length code";
2730
+ state.mode = BAD;
2731
+ break top;
2732
+ }
2733
+ break;
2734
+ }
2735
+ } while (_in < last && _out < end);
2736
+ len = bits >> 3;
2737
+ _in -= len;
2738
+ bits -= len << 3;
2739
+ hold &= (1 << bits) - 1;
2740
+ strm.next_in = _in;
2741
+ strm.next_out = _out;
2742
+ strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last);
2743
+ strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end);
2744
+ state.hold = hold;
2745
+ state.bits = bits;
2746
+ return;
2747
+ };
2748
+ }
2749
+ });
2750
+
2751
+ // ../../node_modules/pako/lib/zlib/inftrees.js
2752
+ var require_inftrees = __commonJS({
2753
+ "../../node_modules/pako/lib/zlib/inftrees.js"(exports, module) {
2754
+ "use strict";
2755
+ var utils = require_common();
2756
+ var MAXBITS = 15;
2757
+ var ENOUGH_LENS = 852;
2758
+ var ENOUGH_DISTS = 592;
2759
+ var CODES = 0;
2760
+ var LENS = 1;
2761
+ var DISTS = 2;
2762
+ var lbase = [
2763
+ 3,
2764
+ 4,
2765
+ 5,
2766
+ 6,
2767
+ 7,
2768
+ 8,
2769
+ 9,
2770
+ 10,
2771
+ 11,
2772
+ 13,
2773
+ 15,
2774
+ 17,
2775
+ 19,
2776
+ 23,
2777
+ 27,
2778
+ 31,
2779
+ 35,
2780
+ 43,
2781
+ 51,
2782
+ 59,
2783
+ 67,
2784
+ 83,
2785
+ 99,
2786
+ 115,
2787
+ 131,
2788
+ 163,
2789
+ 195,
2790
+ 227,
2791
+ 258,
2792
+ 0,
2793
+ 0
2794
+ ];
2795
+ var lext = [
2796
+ 16,
2797
+ 16,
2798
+ 16,
2799
+ 16,
2800
+ 16,
2801
+ 16,
2802
+ 16,
2803
+ 16,
2804
+ 17,
2805
+ 17,
2806
+ 17,
2807
+ 17,
2808
+ 18,
2809
+ 18,
2810
+ 18,
2811
+ 18,
2812
+ 19,
2813
+ 19,
2814
+ 19,
2815
+ 19,
2816
+ 20,
2817
+ 20,
2818
+ 20,
2819
+ 20,
2820
+ 21,
2821
+ 21,
2822
+ 21,
2823
+ 21,
2824
+ 16,
2825
+ 72,
2826
+ 78
2827
+ ];
2828
+ var dbase = [
2829
+ 1,
2830
+ 2,
2831
+ 3,
2832
+ 4,
2833
+ 5,
2834
+ 7,
2835
+ 9,
2836
+ 13,
2837
+ 17,
2838
+ 25,
2839
+ 33,
2840
+ 49,
2841
+ 65,
2842
+ 97,
2843
+ 129,
2844
+ 193,
2845
+ 257,
2846
+ 385,
2847
+ 513,
2848
+ 769,
2849
+ 1025,
2850
+ 1537,
2851
+ 2049,
2852
+ 3073,
2853
+ 4097,
2854
+ 6145,
2855
+ 8193,
2856
+ 12289,
2857
+ 16385,
2858
+ 24577,
2859
+ 0,
2860
+ 0
2861
+ ];
2862
+ var dext = [
2863
+ 16,
2864
+ 16,
2865
+ 16,
2866
+ 16,
2867
+ 17,
2868
+ 17,
2869
+ 18,
2870
+ 18,
2871
+ 19,
2872
+ 19,
2873
+ 20,
2874
+ 20,
2875
+ 21,
2876
+ 21,
2877
+ 22,
2878
+ 22,
2879
+ 23,
2880
+ 23,
2881
+ 24,
2882
+ 24,
2883
+ 25,
2884
+ 25,
2885
+ 26,
2886
+ 26,
2887
+ 27,
2888
+ 27,
2889
+ 28,
2890
+ 28,
2891
+ 29,
2892
+ 29,
2893
+ 64,
2894
+ 64
2895
+ ];
2896
+ module.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {
2897
+ var bits = opts.bits;
2898
+ var len = 0;
2899
+ var sym = 0;
2900
+ var min2 = 0, max2 = 0;
2901
+ var root = 0;
2902
+ var curr = 0;
2903
+ var drop = 0;
2904
+ var left = 0;
2905
+ var used = 0;
2906
+ var huff = 0;
2907
+ var incr;
2908
+ var fill;
2909
+ var low;
2910
+ var mask;
2911
+ var next;
2912
+ var base = null;
2913
+ var base_index = 0;
2914
+ var end;
2915
+ var count = new utils.Buf16(MAXBITS + 1);
2916
+ var offs = new utils.Buf16(MAXBITS + 1);
2917
+ var extra = null;
2918
+ var extra_index = 0;
2919
+ var here_bits, here_op, here_val;
2920
+ for (len = 0; len <= MAXBITS; len++) {
2921
+ count[len] = 0;
2922
+ }
2923
+ for (sym = 0; sym < codes; sym++) {
2924
+ count[lens[lens_index + sym]]++;
2925
+ }
2926
+ root = bits;
2927
+ for (max2 = MAXBITS; max2 >= 1; max2--) {
2928
+ if (count[max2] !== 0) {
2929
+ break;
2930
+ }
2931
+ }
2932
+ if (root > max2) {
2933
+ root = max2;
2934
+ }
2935
+ if (max2 === 0) {
2936
+ table[table_index++] = 1 << 24 | 64 << 16 | 0;
2937
+ table[table_index++] = 1 << 24 | 64 << 16 | 0;
2938
+ opts.bits = 1;
2939
+ return 0;
2940
+ }
2941
+ for (min2 = 1; min2 < max2; min2++) {
2942
+ if (count[min2] !== 0) {
2943
+ break;
2944
+ }
2945
+ }
2946
+ if (root < min2) {
2947
+ root = min2;
2948
+ }
2949
+ left = 1;
2950
+ for (len = 1; len <= MAXBITS; len++) {
2951
+ left <<= 1;
2952
+ left -= count[len];
2953
+ if (left < 0) {
2954
+ return -1;
2955
+ }
2956
+ }
2957
+ if (left > 0 && (type === CODES || max2 !== 1)) {
2958
+ return -1;
2959
+ }
2960
+ offs[1] = 0;
2961
+ for (len = 1; len < MAXBITS; len++) {
2962
+ offs[len + 1] = offs[len] + count[len];
2963
+ }
2964
+ for (sym = 0; sym < codes; sym++) {
2965
+ if (lens[lens_index + sym] !== 0) {
2966
+ work[offs[lens[lens_index + sym]]++] = sym;
2967
+ }
2968
+ }
2969
+ if (type === CODES) {
2970
+ base = extra = work;
2971
+ end = 19;
2972
+ } else if (type === LENS) {
2973
+ base = lbase;
2974
+ base_index -= 257;
2975
+ extra = lext;
2976
+ extra_index -= 257;
2977
+ end = 256;
2978
+ } else {
2979
+ base = dbase;
2980
+ extra = dext;
2981
+ end = -1;
2982
+ }
2983
+ huff = 0;
2984
+ sym = 0;
2985
+ len = min2;
2986
+ next = table_index;
2987
+ curr = root;
2988
+ drop = 0;
2989
+ low = -1;
2990
+ used = 1 << root;
2991
+ mask = used - 1;
2992
+ if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) {
2993
+ return 1;
2994
+ }
2995
+ for (; ; ) {
2996
+ here_bits = len - drop;
2997
+ if (work[sym] < end) {
2998
+ here_op = 0;
2999
+ here_val = work[sym];
3000
+ } else if (work[sym] > end) {
3001
+ here_op = extra[extra_index + work[sym]];
3002
+ here_val = base[base_index + work[sym]];
3003
+ } else {
3004
+ here_op = 32 + 64;
3005
+ here_val = 0;
3006
+ }
3007
+ incr = 1 << len - drop;
3008
+ fill = 1 << curr;
3009
+ min2 = fill;
3010
+ do {
3011
+ fill -= incr;
3012
+ table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;
3013
+ } while (fill !== 0);
3014
+ incr = 1 << len - 1;
3015
+ while (huff & incr) {
3016
+ incr >>= 1;
3017
+ }
3018
+ if (incr !== 0) {
3019
+ huff &= incr - 1;
3020
+ huff += incr;
3021
+ } else {
3022
+ huff = 0;
3023
+ }
3024
+ sym++;
3025
+ if (--count[len] === 0) {
3026
+ if (len === max2) {
3027
+ break;
3028
+ }
3029
+ len = lens[lens_index + work[sym]];
3030
+ }
3031
+ if (len > root && (huff & mask) !== low) {
3032
+ if (drop === 0) {
3033
+ drop = root;
3034
+ }
3035
+ next += min2;
3036
+ curr = len - drop;
3037
+ left = 1 << curr;
3038
+ while (curr + drop < max2) {
3039
+ left -= count[curr + drop];
3040
+ if (left <= 0) {
3041
+ break;
3042
+ }
3043
+ curr++;
3044
+ left <<= 1;
3045
+ }
3046
+ used += 1 << curr;
3047
+ if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) {
3048
+ return 1;
3049
+ }
3050
+ low = huff & mask;
3051
+ table[low] = root << 24 | curr << 16 | next - table_index | 0;
3052
+ }
3053
+ }
3054
+ if (huff !== 0) {
3055
+ table[next + huff] = len - drop << 24 | 64 << 16 | 0;
3056
+ }
3057
+ opts.bits = root;
3058
+ return 0;
3059
+ };
3060
+ }
3061
+ });
3062
+
3063
+ // ../../node_modules/pako/lib/zlib/inflate.js
3064
+ var require_inflate = __commonJS({
3065
+ "../../node_modules/pako/lib/zlib/inflate.js"(exports) {
3066
+ "use strict";
3067
+ var utils = require_common();
3068
+ var adler32 = require_adler32();
3069
+ var crc32 = require_crc32();
3070
+ var inflate_fast = require_inffast();
3071
+ var inflate_table = require_inftrees();
3072
+ var CODES = 0;
3073
+ var LENS = 1;
3074
+ var DISTS = 2;
3075
+ var Z_FINISH = 4;
3076
+ var Z_BLOCK = 5;
3077
+ var Z_TREES = 6;
3078
+ var Z_OK = 0;
3079
+ var Z_STREAM_END = 1;
3080
+ var Z_NEED_DICT = 2;
3081
+ var Z_STREAM_ERROR = -2;
3082
+ var Z_DATA_ERROR = -3;
3083
+ var Z_MEM_ERROR = -4;
3084
+ var Z_BUF_ERROR = -5;
3085
+ var Z_DEFLATED = 8;
3086
+ var HEAD = 1;
3087
+ var FLAGS = 2;
3088
+ var TIME = 3;
3089
+ var OS = 4;
3090
+ var EXLEN = 5;
3091
+ var EXTRA = 6;
3092
+ var NAME = 7;
3093
+ var COMMENT = 8;
3094
+ var HCRC = 9;
3095
+ var DICTID = 10;
3096
+ var DICT = 11;
3097
+ var TYPE = 12;
3098
+ var TYPEDO = 13;
3099
+ var STORED = 14;
3100
+ var COPY_ = 15;
3101
+ var COPY = 16;
3102
+ var TABLE = 17;
3103
+ var LENLENS = 18;
3104
+ var CODELENS = 19;
3105
+ var LEN_ = 20;
3106
+ var LEN = 21;
3107
+ var LENEXT = 22;
3108
+ var DIST = 23;
3109
+ var DISTEXT = 24;
3110
+ var MATCH = 25;
3111
+ var LIT = 26;
3112
+ var CHECK = 27;
3113
+ var LENGTH = 28;
3114
+ var DONE = 29;
3115
+ var BAD = 30;
3116
+ var MEM = 31;
3117
+ var SYNC = 32;
3118
+ var ENOUGH_LENS = 852;
3119
+ var ENOUGH_DISTS = 592;
3120
+ var MAX_WBITS = 15;
3121
+ var DEF_WBITS = MAX_WBITS;
3122
+ function zswap32(q) {
3123
+ return (q >>> 24 & 255) + (q >>> 8 & 65280) + ((q & 65280) << 8) + ((q & 255) << 24);
3124
+ }
3125
+ function InflateState() {
3126
+ this.mode = 0;
3127
+ this.last = false;
3128
+ this.wrap = 0;
3129
+ this.havedict = false;
3130
+ this.flags = 0;
3131
+ this.dmax = 0;
3132
+ this.check = 0;
3133
+ this.total = 0;
3134
+ this.head = null;
3135
+ this.wbits = 0;
3136
+ this.wsize = 0;
3137
+ this.whave = 0;
3138
+ this.wnext = 0;
3139
+ this.window = null;
3140
+ this.hold = 0;
3141
+ this.bits = 0;
3142
+ this.length = 0;
3143
+ this.offset = 0;
3144
+ this.extra = 0;
3145
+ this.lencode = null;
3146
+ this.distcode = null;
3147
+ this.lenbits = 0;
3148
+ this.distbits = 0;
3149
+ this.ncode = 0;
3150
+ this.nlen = 0;
3151
+ this.ndist = 0;
3152
+ this.have = 0;
3153
+ this.next = null;
3154
+ this.lens = new utils.Buf16(320);
3155
+ this.work = new utils.Buf16(288);
3156
+ this.lendyn = null;
3157
+ this.distdyn = null;
3158
+ this.sane = 0;
3159
+ this.back = 0;
3160
+ this.was = 0;
3161
+ }
3162
+ function inflateResetKeep(strm) {
3163
+ var state;
3164
+ if (!strm || !strm.state) {
3165
+ return Z_STREAM_ERROR;
3166
+ }
3167
+ state = strm.state;
3168
+ strm.total_in = strm.total_out = state.total = 0;
3169
+ strm.msg = "";
3170
+ if (state.wrap) {
3171
+ strm.adler = state.wrap & 1;
3172
+ }
3173
+ state.mode = HEAD;
3174
+ state.last = 0;
3175
+ state.havedict = 0;
3176
+ state.dmax = 32768;
3177
+ state.head = null;
3178
+ state.hold = 0;
3179
+ state.bits = 0;
3180
+ state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);
3181
+ state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);
3182
+ state.sane = 1;
3183
+ state.back = -1;
3184
+ return Z_OK;
3185
+ }
3186
+ function inflateReset(strm) {
3187
+ var state;
3188
+ if (!strm || !strm.state) {
3189
+ return Z_STREAM_ERROR;
3190
+ }
3191
+ state = strm.state;
3192
+ state.wsize = 0;
3193
+ state.whave = 0;
3194
+ state.wnext = 0;
3195
+ return inflateResetKeep(strm);
3196
+ }
3197
+ function inflateReset2(strm, windowBits) {
3198
+ var wrap;
3199
+ var state;
3200
+ if (!strm || !strm.state) {
3201
+ return Z_STREAM_ERROR;
3202
+ }
3203
+ state = strm.state;
3204
+ if (windowBits < 0) {
3205
+ wrap = 0;
3206
+ windowBits = -windowBits;
3207
+ } else {
3208
+ wrap = (windowBits >> 4) + 1;
3209
+ if (windowBits < 48) {
3210
+ windowBits &= 15;
3211
+ }
3212
+ }
3213
+ if (windowBits && (windowBits < 8 || windowBits > 15)) {
3214
+ return Z_STREAM_ERROR;
3215
+ }
3216
+ if (state.window !== null && state.wbits !== windowBits) {
3217
+ state.window = null;
3218
+ }
3219
+ state.wrap = wrap;
3220
+ state.wbits = windowBits;
3221
+ return inflateReset(strm);
3222
+ }
3223
+ function inflateInit2(strm, windowBits) {
3224
+ var ret;
3225
+ var state;
3226
+ if (!strm) {
3227
+ return Z_STREAM_ERROR;
3228
+ }
3229
+ state = new InflateState();
3230
+ strm.state = state;
3231
+ state.window = null;
3232
+ ret = inflateReset2(strm, windowBits);
3233
+ if (ret !== Z_OK) {
3234
+ strm.state = null;
3235
+ }
3236
+ return ret;
3237
+ }
3238
+ function inflateInit(strm) {
3239
+ return inflateInit2(strm, DEF_WBITS);
3240
+ }
3241
+ var virgin = true;
3242
+ var lenfix;
3243
+ var distfix;
3244
+ function fixedtables(state) {
3245
+ if (virgin) {
3246
+ var sym;
3247
+ lenfix = new utils.Buf32(512);
3248
+ distfix = new utils.Buf32(32);
3249
+ sym = 0;
3250
+ while (sym < 144) {
3251
+ state.lens[sym++] = 8;
3252
+ }
3253
+ while (sym < 256) {
3254
+ state.lens[sym++] = 9;
3255
+ }
3256
+ while (sym < 280) {
3257
+ state.lens[sym++] = 7;
3258
+ }
3259
+ while (sym < 288) {
3260
+ state.lens[sym++] = 8;
3261
+ }
3262
+ inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });
3263
+ sym = 0;
3264
+ while (sym < 32) {
3265
+ state.lens[sym++] = 5;
3266
+ }
3267
+ inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });
3268
+ virgin = false;
3269
+ }
3270
+ state.lencode = lenfix;
3271
+ state.lenbits = 9;
3272
+ state.distcode = distfix;
3273
+ state.distbits = 5;
3274
+ }
3275
+ function updatewindow(strm, src, end, copy3) {
3276
+ var dist;
3277
+ var state = strm.state;
3278
+ if (state.window === null) {
3279
+ state.wsize = 1 << state.wbits;
3280
+ state.wnext = 0;
3281
+ state.whave = 0;
3282
+ state.window = new utils.Buf8(state.wsize);
3283
+ }
3284
+ if (copy3 >= state.wsize) {
3285
+ utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);
3286
+ state.wnext = 0;
3287
+ state.whave = state.wsize;
3288
+ } else {
3289
+ dist = state.wsize - state.wnext;
3290
+ if (dist > copy3) {
3291
+ dist = copy3;
3292
+ }
3293
+ utils.arraySet(state.window, src, end - copy3, dist, state.wnext);
3294
+ copy3 -= dist;
3295
+ if (copy3) {
3296
+ utils.arraySet(state.window, src, end - copy3, copy3, 0);
3297
+ state.wnext = copy3;
3298
+ state.whave = state.wsize;
3299
+ } else {
3300
+ state.wnext += dist;
3301
+ if (state.wnext === state.wsize) {
3302
+ state.wnext = 0;
3303
+ }
3304
+ if (state.whave < state.wsize) {
3305
+ state.whave += dist;
3306
+ }
3307
+ }
3308
+ }
3309
+ return 0;
3310
+ }
3311
+ function inflate(strm, flush) {
3312
+ var state;
3313
+ var input, output;
3314
+ var next;
3315
+ var put;
3316
+ var have, left;
3317
+ var hold;
3318
+ var bits;
3319
+ var _in, _out;
3320
+ var copy3;
3321
+ var from;
3322
+ var from_source;
3323
+ var here = 0;
3324
+ var here_bits, here_op, here_val;
3325
+ var last_bits, last_op, last_val;
3326
+ var len;
3327
+ var ret;
3328
+ var hbuf = new utils.Buf8(4);
3329
+ var opts;
3330
+ var n;
3331
+ var order = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];
3332
+ if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) {
3333
+ return Z_STREAM_ERROR;
3334
+ }
3335
+ state = strm.state;
3336
+ if (state.mode === TYPE) {
3337
+ state.mode = TYPEDO;
3338
+ }
3339
+ put = strm.next_out;
3340
+ output = strm.output;
3341
+ left = strm.avail_out;
3342
+ next = strm.next_in;
3343
+ input = strm.input;
3344
+ have = strm.avail_in;
3345
+ hold = state.hold;
3346
+ bits = state.bits;
3347
+ _in = have;
3348
+ _out = left;
3349
+ ret = Z_OK;
3350
+ inf_leave:
3351
+ for (; ; ) {
3352
+ switch (state.mode) {
3353
+ case HEAD:
3354
+ if (state.wrap === 0) {
3355
+ state.mode = TYPEDO;
3356
+ break;
3357
+ }
3358
+ while (bits < 16) {
3359
+ if (have === 0) {
3360
+ break inf_leave;
3361
+ }
3362
+ have--;
3363
+ hold += input[next++] << bits;
3364
+ bits += 8;
3365
+ }
3366
+ if (state.wrap & 2 && hold === 35615) {
3367
+ state.check = 0;
3368
+ hbuf[0] = hold & 255;
3369
+ hbuf[1] = hold >>> 8 & 255;
3370
+ state.check = crc32(state.check, hbuf, 2, 0);
3371
+ hold = 0;
3372
+ bits = 0;
3373
+ state.mode = FLAGS;
3374
+ break;
3375
+ }
3376
+ state.flags = 0;
3377
+ if (state.head) {
3378
+ state.head.done = false;
3379
+ }
3380
+ if (!(state.wrap & 1) || (((hold & 255) << 8) + (hold >> 8)) % 31) {
3381
+ strm.msg = "incorrect header check";
3382
+ state.mode = BAD;
3383
+ break;
3384
+ }
3385
+ if ((hold & 15) !== Z_DEFLATED) {
3386
+ strm.msg = "unknown compression method";
3387
+ state.mode = BAD;
3388
+ break;
3389
+ }
3390
+ hold >>>= 4;
3391
+ bits -= 4;
3392
+ len = (hold & 15) + 8;
3393
+ if (state.wbits === 0) {
3394
+ state.wbits = len;
3395
+ } else if (len > state.wbits) {
3396
+ strm.msg = "invalid window size";
3397
+ state.mode = BAD;
3398
+ break;
3399
+ }
3400
+ state.dmax = 1 << len;
3401
+ strm.adler = state.check = 1;
3402
+ state.mode = hold & 512 ? DICTID : TYPE;
3403
+ hold = 0;
3404
+ bits = 0;
3405
+ break;
3406
+ case FLAGS:
3407
+ while (bits < 16) {
3408
+ if (have === 0) {
3409
+ break inf_leave;
3410
+ }
3411
+ have--;
3412
+ hold += input[next++] << bits;
3413
+ bits += 8;
3414
+ }
3415
+ state.flags = hold;
3416
+ if ((state.flags & 255) !== Z_DEFLATED) {
3417
+ strm.msg = "unknown compression method";
3418
+ state.mode = BAD;
3419
+ break;
3420
+ }
3421
+ if (state.flags & 57344) {
3422
+ strm.msg = "unknown header flags set";
3423
+ state.mode = BAD;
3424
+ break;
3425
+ }
3426
+ if (state.head) {
3427
+ state.head.text = hold >> 8 & 1;
3428
+ }
3429
+ if (state.flags & 512) {
3430
+ hbuf[0] = hold & 255;
3431
+ hbuf[1] = hold >>> 8 & 255;
3432
+ state.check = crc32(state.check, hbuf, 2, 0);
3433
+ }
3434
+ hold = 0;
3435
+ bits = 0;
3436
+ state.mode = TIME;
3437
+ case TIME:
3438
+ while (bits < 32) {
3439
+ if (have === 0) {
3440
+ break inf_leave;
3441
+ }
3442
+ have--;
3443
+ hold += input[next++] << bits;
3444
+ bits += 8;
3445
+ }
3446
+ if (state.head) {
3447
+ state.head.time = hold;
3448
+ }
3449
+ if (state.flags & 512) {
3450
+ hbuf[0] = hold & 255;
3451
+ hbuf[1] = hold >>> 8 & 255;
3452
+ hbuf[2] = hold >>> 16 & 255;
3453
+ hbuf[3] = hold >>> 24 & 255;
3454
+ state.check = crc32(state.check, hbuf, 4, 0);
3455
+ }
3456
+ hold = 0;
3457
+ bits = 0;
3458
+ state.mode = OS;
3459
+ case OS:
3460
+ while (bits < 16) {
3461
+ if (have === 0) {
3462
+ break inf_leave;
3463
+ }
3464
+ have--;
3465
+ hold += input[next++] << bits;
3466
+ bits += 8;
3467
+ }
3468
+ if (state.head) {
3469
+ state.head.xflags = hold & 255;
3470
+ state.head.os = hold >> 8;
3471
+ }
3472
+ if (state.flags & 512) {
3473
+ hbuf[0] = hold & 255;
3474
+ hbuf[1] = hold >>> 8 & 255;
3475
+ state.check = crc32(state.check, hbuf, 2, 0);
3476
+ }
3477
+ hold = 0;
3478
+ bits = 0;
3479
+ state.mode = EXLEN;
3480
+ case EXLEN:
3481
+ if (state.flags & 1024) {
3482
+ while (bits < 16) {
3483
+ if (have === 0) {
3484
+ break inf_leave;
3485
+ }
3486
+ have--;
3487
+ hold += input[next++] << bits;
3488
+ bits += 8;
3489
+ }
3490
+ state.length = hold;
3491
+ if (state.head) {
3492
+ state.head.extra_len = hold;
3493
+ }
3494
+ if (state.flags & 512) {
3495
+ hbuf[0] = hold & 255;
3496
+ hbuf[1] = hold >>> 8 & 255;
3497
+ state.check = crc32(state.check, hbuf, 2, 0);
3498
+ }
3499
+ hold = 0;
3500
+ bits = 0;
3501
+ } else if (state.head) {
3502
+ state.head.extra = null;
3503
+ }
3504
+ state.mode = EXTRA;
3505
+ case EXTRA:
3506
+ if (state.flags & 1024) {
3507
+ copy3 = state.length;
3508
+ if (copy3 > have) {
3509
+ copy3 = have;
3510
+ }
3511
+ if (copy3) {
3512
+ if (state.head) {
3513
+ len = state.head.extra_len - state.length;
3514
+ if (!state.head.extra) {
3515
+ state.head.extra = new Array(state.head.extra_len);
3516
+ }
3517
+ utils.arraySet(
3518
+ state.head.extra,
3519
+ input,
3520
+ next,
3521
+ copy3,
3522
+ len
3523
+ );
3524
+ }
3525
+ if (state.flags & 512) {
3526
+ state.check = crc32(state.check, input, copy3, next);
3527
+ }
3528
+ have -= copy3;
3529
+ next += copy3;
3530
+ state.length -= copy3;
3531
+ }
3532
+ if (state.length) {
3533
+ break inf_leave;
3534
+ }
3535
+ }
3536
+ state.length = 0;
3537
+ state.mode = NAME;
3538
+ case NAME:
3539
+ if (state.flags & 2048) {
3540
+ if (have === 0) {
3541
+ break inf_leave;
3542
+ }
3543
+ copy3 = 0;
3544
+ do {
3545
+ len = input[next + copy3++];
3546
+ if (state.head && len && state.length < 65536) {
3547
+ state.head.name += String.fromCharCode(len);
3548
+ }
3549
+ } while (len && copy3 < have);
3550
+ if (state.flags & 512) {
3551
+ state.check = crc32(state.check, input, copy3, next);
3552
+ }
3553
+ have -= copy3;
3554
+ next += copy3;
3555
+ if (len) {
3556
+ break inf_leave;
3557
+ }
3558
+ } else if (state.head) {
3559
+ state.head.name = null;
3560
+ }
3561
+ state.length = 0;
3562
+ state.mode = COMMENT;
3563
+ case COMMENT:
3564
+ if (state.flags & 4096) {
3565
+ if (have === 0) {
3566
+ break inf_leave;
3567
+ }
3568
+ copy3 = 0;
3569
+ do {
3570
+ len = input[next + copy3++];
3571
+ if (state.head && len && state.length < 65536) {
3572
+ state.head.comment += String.fromCharCode(len);
3573
+ }
3574
+ } while (len && copy3 < have);
3575
+ if (state.flags & 512) {
3576
+ state.check = crc32(state.check, input, copy3, next);
3577
+ }
3578
+ have -= copy3;
3579
+ next += copy3;
3580
+ if (len) {
3581
+ break inf_leave;
3582
+ }
3583
+ } else if (state.head) {
3584
+ state.head.comment = null;
3585
+ }
3586
+ state.mode = HCRC;
3587
+ case HCRC:
3588
+ if (state.flags & 512) {
3589
+ while (bits < 16) {
3590
+ if (have === 0) {
3591
+ break inf_leave;
3592
+ }
3593
+ have--;
3594
+ hold += input[next++] << bits;
3595
+ bits += 8;
3596
+ }
3597
+ if (hold !== (state.check & 65535)) {
3598
+ strm.msg = "header crc mismatch";
3599
+ state.mode = BAD;
3600
+ break;
3601
+ }
3602
+ hold = 0;
3603
+ bits = 0;
3604
+ }
3605
+ if (state.head) {
3606
+ state.head.hcrc = state.flags >> 9 & 1;
3607
+ state.head.done = true;
3608
+ }
3609
+ strm.adler = state.check = 0;
3610
+ state.mode = TYPE;
3611
+ break;
3612
+ case DICTID:
3613
+ while (bits < 32) {
3614
+ if (have === 0) {
3615
+ break inf_leave;
3616
+ }
3617
+ have--;
3618
+ hold += input[next++] << bits;
3619
+ bits += 8;
3620
+ }
3621
+ strm.adler = state.check = zswap32(hold);
3622
+ hold = 0;
3623
+ bits = 0;
3624
+ state.mode = DICT;
3625
+ case DICT:
3626
+ if (state.havedict === 0) {
3627
+ strm.next_out = put;
3628
+ strm.avail_out = left;
3629
+ strm.next_in = next;
3630
+ strm.avail_in = have;
3631
+ state.hold = hold;
3632
+ state.bits = bits;
3633
+ return Z_NEED_DICT;
3634
+ }
3635
+ strm.adler = state.check = 1;
3636
+ state.mode = TYPE;
3637
+ case TYPE:
3638
+ if (flush === Z_BLOCK || flush === Z_TREES) {
3639
+ break inf_leave;
3640
+ }
3641
+ case TYPEDO:
3642
+ if (state.last) {
3643
+ hold >>>= bits & 7;
3644
+ bits -= bits & 7;
3645
+ state.mode = CHECK;
3646
+ break;
3647
+ }
3648
+ while (bits < 3) {
3649
+ if (have === 0) {
3650
+ break inf_leave;
3651
+ }
3652
+ have--;
3653
+ hold += input[next++] << bits;
3654
+ bits += 8;
3655
+ }
3656
+ state.last = hold & 1;
3657
+ hold >>>= 1;
3658
+ bits -= 1;
3659
+ switch (hold & 3) {
3660
+ case 0:
3661
+ state.mode = STORED;
3662
+ break;
3663
+ case 1:
3664
+ fixedtables(state);
3665
+ state.mode = LEN_;
3666
+ if (flush === Z_TREES) {
3667
+ hold >>>= 2;
3668
+ bits -= 2;
3669
+ break inf_leave;
3670
+ }
3671
+ break;
3672
+ case 2:
3673
+ state.mode = TABLE;
3674
+ break;
3675
+ case 3:
3676
+ strm.msg = "invalid block type";
3677
+ state.mode = BAD;
3678
+ }
3679
+ hold >>>= 2;
3680
+ bits -= 2;
3681
+ break;
3682
+ case STORED:
3683
+ hold >>>= bits & 7;
3684
+ bits -= bits & 7;
3685
+ while (bits < 32) {
3686
+ if (have === 0) {
3687
+ break inf_leave;
3688
+ }
3689
+ have--;
3690
+ hold += input[next++] << bits;
3691
+ bits += 8;
3692
+ }
3693
+ if ((hold & 65535) !== (hold >>> 16 ^ 65535)) {
3694
+ strm.msg = "invalid stored block lengths";
3695
+ state.mode = BAD;
3696
+ break;
3697
+ }
3698
+ state.length = hold & 65535;
3699
+ hold = 0;
3700
+ bits = 0;
3701
+ state.mode = COPY_;
3702
+ if (flush === Z_TREES) {
3703
+ break inf_leave;
3704
+ }
3705
+ case COPY_:
3706
+ state.mode = COPY;
3707
+ case COPY:
3708
+ copy3 = state.length;
3709
+ if (copy3) {
3710
+ if (copy3 > have) {
3711
+ copy3 = have;
3712
+ }
3713
+ if (copy3 > left) {
3714
+ copy3 = left;
3715
+ }
3716
+ if (copy3 === 0) {
3717
+ break inf_leave;
3718
+ }
3719
+ utils.arraySet(output, input, next, copy3, put);
3720
+ have -= copy3;
3721
+ next += copy3;
3722
+ left -= copy3;
3723
+ put += copy3;
3724
+ state.length -= copy3;
3725
+ break;
3726
+ }
3727
+ state.mode = TYPE;
3728
+ break;
3729
+ case TABLE:
3730
+ while (bits < 14) {
3731
+ if (have === 0) {
3732
+ break inf_leave;
3733
+ }
3734
+ have--;
3735
+ hold += input[next++] << bits;
3736
+ bits += 8;
3737
+ }
3738
+ state.nlen = (hold & 31) + 257;
3739
+ hold >>>= 5;
3740
+ bits -= 5;
3741
+ state.ndist = (hold & 31) + 1;
3742
+ hold >>>= 5;
3743
+ bits -= 5;
3744
+ state.ncode = (hold & 15) + 4;
3745
+ hold >>>= 4;
3746
+ bits -= 4;
3747
+ if (state.nlen > 286 || state.ndist > 30) {
3748
+ strm.msg = "too many length or distance symbols";
3749
+ state.mode = BAD;
3750
+ break;
3751
+ }
3752
+ state.have = 0;
3753
+ state.mode = LENLENS;
3754
+ case LENLENS:
3755
+ while (state.have < state.ncode) {
3756
+ while (bits < 3) {
3757
+ if (have === 0) {
3758
+ break inf_leave;
3759
+ }
3760
+ have--;
3761
+ hold += input[next++] << bits;
3762
+ bits += 8;
3763
+ }
3764
+ state.lens[order[state.have++]] = hold & 7;
3765
+ hold >>>= 3;
3766
+ bits -= 3;
3767
+ }
3768
+ while (state.have < 19) {
3769
+ state.lens[order[state.have++]] = 0;
3770
+ }
3771
+ state.lencode = state.lendyn;
3772
+ state.lenbits = 7;
3773
+ opts = { bits: state.lenbits };
3774
+ ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);
3775
+ state.lenbits = opts.bits;
3776
+ if (ret) {
3777
+ strm.msg = "invalid code lengths set";
3778
+ state.mode = BAD;
3779
+ break;
3780
+ }
3781
+ state.have = 0;
3782
+ state.mode = CODELENS;
3783
+ case CODELENS:
3784
+ while (state.have < state.nlen + state.ndist) {
3785
+ for (; ; ) {
3786
+ here = state.lencode[hold & (1 << state.lenbits) - 1];
3787
+ here_bits = here >>> 24;
3788
+ here_op = here >>> 16 & 255;
3789
+ here_val = here & 65535;
3790
+ if (here_bits <= bits) {
3791
+ break;
3792
+ }
3793
+ if (have === 0) {
3794
+ break inf_leave;
3795
+ }
3796
+ have--;
3797
+ hold += input[next++] << bits;
3798
+ bits += 8;
3799
+ }
3800
+ if (here_val < 16) {
3801
+ hold >>>= here_bits;
3802
+ bits -= here_bits;
3803
+ state.lens[state.have++] = here_val;
3804
+ } else {
3805
+ if (here_val === 16) {
3806
+ n = here_bits + 2;
3807
+ while (bits < n) {
3808
+ if (have === 0) {
3809
+ break inf_leave;
3810
+ }
3811
+ have--;
3812
+ hold += input[next++] << bits;
3813
+ bits += 8;
3814
+ }
3815
+ hold >>>= here_bits;
3816
+ bits -= here_bits;
3817
+ if (state.have === 0) {
3818
+ strm.msg = "invalid bit length repeat";
3819
+ state.mode = BAD;
3820
+ break;
3821
+ }
3822
+ len = state.lens[state.have - 1];
3823
+ copy3 = 3 + (hold & 3);
3824
+ hold >>>= 2;
3825
+ bits -= 2;
3826
+ } else if (here_val === 17) {
3827
+ n = here_bits + 3;
3828
+ while (bits < n) {
3829
+ if (have === 0) {
3830
+ break inf_leave;
3831
+ }
3832
+ have--;
3833
+ hold += input[next++] << bits;
3834
+ bits += 8;
3835
+ }
3836
+ hold >>>= here_bits;
3837
+ bits -= here_bits;
3838
+ len = 0;
3839
+ copy3 = 3 + (hold & 7);
3840
+ hold >>>= 3;
3841
+ bits -= 3;
3842
+ } else {
3843
+ n = here_bits + 7;
3844
+ while (bits < n) {
3845
+ if (have === 0) {
3846
+ break inf_leave;
3847
+ }
3848
+ have--;
3849
+ hold += input[next++] << bits;
3850
+ bits += 8;
3851
+ }
3852
+ hold >>>= here_bits;
3853
+ bits -= here_bits;
3854
+ len = 0;
3855
+ copy3 = 11 + (hold & 127);
3856
+ hold >>>= 7;
3857
+ bits -= 7;
3858
+ }
3859
+ if (state.have + copy3 > state.nlen + state.ndist) {
3860
+ strm.msg = "invalid bit length repeat";
3861
+ state.mode = BAD;
3862
+ break;
3863
+ }
3864
+ while (copy3--) {
3865
+ state.lens[state.have++] = len;
3866
+ }
3867
+ }
3868
+ }
3869
+ if (state.mode === BAD) {
3870
+ break;
3871
+ }
3872
+ if (state.lens[256] === 0) {
3873
+ strm.msg = "invalid code -- missing end-of-block";
3874
+ state.mode = BAD;
3875
+ break;
3876
+ }
3877
+ state.lenbits = 9;
3878
+ opts = { bits: state.lenbits };
3879
+ ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);
3880
+ state.lenbits = opts.bits;
3881
+ if (ret) {
3882
+ strm.msg = "invalid literal/lengths set";
3883
+ state.mode = BAD;
3884
+ break;
3885
+ }
3886
+ state.distbits = 6;
3887
+ state.distcode = state.distdyn;
3888
+ opts = { bits: state.distbits };
3889
+ ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);
3890
+ state.distbits = opts.bits;
3891
+ if (ret) {
3892
+ strm.msg = "invalid distances set";
3893
+ state.mode = BAD;
3894
+ break;
3895
+ }
3896
+ state.mode = LEN_;
3897
+ if (flush === Z_TREES) {
3898
+ break inf_leave;
3899
+ }
3900
+ case LEN_:
3901
+ state.mode = LEN;
3902
+ case LEN:
3903
+ if (have >= 6 && left >= 258) {
3904
+ strm.next_out = put;
3905
+ strm.avail_out = left;
3906
+ strm.next_in = next;
3907
+ strm.avail_in = have;
3908
+ state.hold = hold;
3909
+ state.bits = bits;
3910
+ inflate_fast(strm, _out);
3911
+ put = strm.next_out;
3912
+ output = strm.output;
3913
+ left = strm.avail_out;
3914
+ next = strm.next_in;
3915
+ input = strm.input;
3916
+ have = strm.avail_in;
3917
+ hold = state.hold;
3918
+ bits = state.bits;
3919
+ if (state.mode === TYPE) {
3920
+ state.back = -1;
3921
+ }
3922
+ break;
3923
+ }
3924
+ state.back = 0;
3925
+ for (; ; ) {
3926
+ here = state.lencode[hold & (1 << state.lenbits) - 1];
3927
+ here_bits = here >>> 24;
3928
+ here_op = here >>> 16 & 255;
3929
+ here_val = here & 65535;
3930
+ if (here_bits <= bits) {
3931
+ break;
3932
+ }
3933
+ if (have === 0) {
3934
+ break inf_leave;
3935
+ }
3936
+ have--;
3937
+ hold += input[next++] << bits;
3938
+ bits += 8;
3939
+ }
3940
+ if (here_op && (here_op & 240) === 0) {
3941
+ last_bits = here_bits;
3942
+ last_op = here_op;
3943
+ last_val = here_val;
3944
+ for (; ; ) {
3945
+ here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)];
3946
+ here_bits = here >>> 24;
3947
+ here_op = here >>> 16 & 255;
3948
+ here_val = here & 65535;
3949
+ if (last_bits + here_bits <= bits) {
3950
+ break;
3951
+ }
3952
+ if (have === 0) {
3953
+ break inf_leave;
3954
+ }
3955
+ have--;
3956
+ hold += input[next++] << bits;
3957
+ bits += 8;
3958
+ }
3959
+ hold >>>= last_bits;
3960
+ bits -= last_bits;
3961
+ state.back += last_bits;
3962
+ }
3963
+ hold >>>= here_bits;
3964
+ bits -= here_bits;
3965
+ state.back += here_bits;
3966
+ state.length = here_val;
3967
+ if (here_op === 0) {
3968
+ state.mode = LIT;
3969
+ break;
3970
+ }
3971
+ if (here_op & 32) {
3972
+ state.back = -1;
3973
+ state.mode = TYPE;
3974
+ break;
3975
+ }
3976
+ if (here_op & 64) {
3977
+ strm.msg = "invalid literal/length code";
3978
+ state.mode = BAD;
3979
+ break;
3980
+ }
3981
+ state.extra = here_op & 15;
3982
+ state.mode = LENEXT;
3983
+ case LENEXT:
3984
+ if (state.extra) {
3985
+ n = state.extra;
3986
+ while (bits < n) {
3987
+ if (have === 0) {
3988
+ break inf_leave;
3989
+ }
3990
+ have--;
3991
+ hold += input[next++] << bits;
3992
+ bits += 8;
3993
+ }
3994
+ state.length += hold & (1 << state.extra) - 1;
3995
+ hold >>>= state.extra;
3996
+ bits -= state.extra;
3997
+ state.back += state.extra;
3998
+ }
3999
+ state.was = state.length;
4000
+ state.mode = DIST;
4001
+ case DIST:
4002
+ for (; ; ) {
4003
+ here = state.distcode[hold & (1 << state.distbits) - 1];
4004
+ here_bits = here >>> 24;
4005
+ here_op = here >>> 16 & 255;
4006
+ here_val = here & 65535;
4007
+ if (here_bits <= bits) {
4008
+ break;
4009
+ }
4010
+ if (have === 0) {
4011
+ break inf_leave;
4012
+ }
4013
+ have--;
4014
+ hold += input[next++] << bits;
4015
+ bits += 8;
4016
+ }
4017
+ if ((here_op & 240) === 0) {
4018
+ last_bits = here_bits;
4019
+ last_op = here_op;
4020
+ last_val = here_val;
4021
+ for (; ; ) {
4022
+ here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> last_bits)];
4023
+ here_bits = here >>> 24;
4024
+ here_op = here >>> 16 & 255;
4025
+ here_val = here & 65535;
4026
+ if (last_bits + here_bits <= bits) {
4027
+ break;
4028
+ }
4029
+ if (have === 0) {
4030
+ break inf_leave;
4031
+ }
4032
+ have--;
4033
+ hold += input[next++] << bits;
4034
+ bits += 8;
4035
+ }
4036
+ hold >>>= last_bits;
4037
+ bits -= last_bits;
4038
+ state.back += last_bits;
4039
+ }
4040
+ hold >>>= here_bits;
4041
+ bits -= here_bits;
4042
+ state.back += here_bits;
4043
+ if (here_op & 64) {
4044
+ strm.msg = "invalid distance code";
4045
+ state.mode = BAD;
4046
+ break;
4047
+ }
4048
+ state.offset = here_val;
4049
+ state.extra = here_op & 15;
4050
+ state.mode = DISTEXT;
4051
+ case DISTEXT:
4052
+ if (state.extra) {
4053
+ n = state.extra;
4054
+ while (bits < n) {
4055
+ if (have === 0) {
4056
+ break inf_leave;
4057
+ }
4058
+ have--;
4059
+ hold += input[next++] << bits;
4060
+ bits += 8;
4061
+ }
4062
+ state.offset += hold & (1 << state.extra) - 1;
4063
+ hold >>>= state.extra;
4064
+ bits -= state.extra;
4065
+ state.back += state.extra;
4066
+ }
4067
+ if (state.offset > state.dmax) {
4068
+ strm.msg = "invalid distance too far back";
4069
+ state.mode = BAD;
4070
+ break;
4071
+ }
4072
+ state.mode = MATCH;
4073
+ case MATCH:
4074
+ if (left === 0) {
4075
+ break inf_leave;
4076
+ }
4077
+ copy3 = _out - left;
4078
+ if (state.offset > copy3) {
4079
+ copy3 = state.offset - copy3;
4080
+ if (copy3 > state.whave) {
4081
+ if (state.sane) {
4082
+ strm.msg = "invalid distance too far back";
4083
+ state.mode = BAD;
4084
+ break;
4085
+ }
4086
+ }
4087
+ if (copy3 > state.wnext) {
4088
+ copy3 -= state.wnext;
4089
+ from = state.wsize - copy3;
4090
+ } else {
4091
+ from = state.wnext - copy3;
4092
+ }
4093
+ if (copy3 > state.length) {
4094
+ copy3 = state.length;
4095
+ }
4096
+ from_source = state.window;
4097
+ } else {
4098
+ from_source = output;
4099
+ from = put - state.offset;
4100
+ copy3 = state.length;
4101
+ }
4102
+ if (copy3 > left) {
4103
+ copy3 = left;
4104
+ }
4105
+ left -= copy3;
4106
+ state.length -= copy3;
4107
+ do {
4108
+ output[put++] = from_source[from++];
4109
+ } while (--copy3);
4110
+ if (state.length === 0) {
4111
+ state.mode = LEN;
4112
+ }
4113
+ break;
4114
+ case LIT:
4115
+ if (left === 0) {
4116
+ break inf_leave;
4117
+ }
4118
+ output[put++] = state.length;
4119
+ left--;
4120
+ state.mode = LEN;
4121
+ break;
4122
+ case CHECK:
4123
+ if (state.wrap) {
4124
+ while (bits < 32) {
4125
+ if (have === 0) {
4126
+ break inf_leave;
4127
+ }
4128
+ have--;
4129
+ hold |= input[next++] << bits;
4130
+ bits += 8;
4131
+ }
4132
+ _out -= left;
4133
+ strm.total_out += _out;
4134
+ state.total += _out;
4135
+ if (_out) {
4136
+ strm.adler = state.check = state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out);
4137
+ }
4138
+ _out = left;
4139
+ if ((state.flags ? hold : zswap32(hold)) !== state.check) {
4140
+ strm.msg = "incorrect data check";
4141
+ state.mode = BAD;
4142
+ break;
4143
+ }
4144
+ hold = 0;
4145
+ bits = 0;
4146
+ }
4147
+ state.mode = LENGTH;
4148
+ case LENGTH:
4149
+ if (state.wrap && state.flags) {
4150
+ while (bits < 32) {
4151
+ if (have === 0) {
4152
+ break inf_leave;
4153
+ }
4154
+ have--;
4155
+ hold += input[next++] << bits;
4156
+ bits += 8;
4157
+ }
4158
+ if (hold !== (state.total & 4294967295)) {
4159
+ strm.msg = "incorrect length check";
4160
+ state.mode = BAD;
4161
+ break;
4162
+ }
4163
+ hold = 0;
4164
+ bits = 0;
4165
+ }
4166
+ state.mode = DONE;
4167
+ case DONE:
4168
+ ret = Z_STREAM_END;
4169
+ break inf_leave;
4170
+ case BAD:
4171
+ ret = Z_DATA_ERROR;
4172
+ break inf_leave;
4173
+ case MEM:
4174
+ return Z_MEM_ERROR;
4175
+ case SYNC:
4176
+ default:
4177
+ return Z_STREAM_ERROR;
4178
+ }
4179
+ }
4180
+ strm.next_out = put;
4181
+ strm.avail_out = left;
4182
+ strm.next_in = next;
4183
+ strm.avail_in = have;
4184
+ state.hold = hold;
4185
+ state.bits = bits;
4186
+ if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {
4187
+ if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {
4188
+ state.mode = MEM;
4189
+ return Z_MEM_ERROR;
4190
+ }
4191
+ }
4192
+ _in -= strm.avail_in;
4193
+ _out -= strm.avail_out;
4194
+ strm.total_in += _in;
4195
+ strm.total_out += _out;
4196
+ state.total += _out;
4197
+ if (state.wrap && _out) {
4198
+ strm.adler = state.check = state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out);
4199
+ }
4200
+ strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);
4201
+ if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) {
4202
+ ret = Z_BUF_ERROR;
4203
+ }
4204
+ return ret;
4205
+ }
4206
+ function inflateEnd(strm) {
4207
+ if (!strm || !strm.state) {
4208
+ return Z_STREAM_ERROR;
4209
+ }
4210
+ var state = strm.state;
4211
+ if (state.window) {
4212
+ state.window = null;
4213
+ }
4214
+ strm.state = null;
4215
+ return Z_OK;
4216
+ }
4217
+ function inflateGetHeader(strm, head) {
4218
+ var state;
4219
+ if (!strm || !strm.state) {
4220
+ return Z_STREAM_ERROR;
4221
+ }
4222
+ state = strm.state;
4223
+ if ((state.wrap & 2) === 0) {
4224
+ return Z_STREAM_ERROR;
4225
+ }
4226
+ state.head = head;
4227
+ head.done = false;
4228
+ return Z_OK;
4229
+ }
4230
+ function inflateSetDictionary(strm, dictionary) {
4231
+ var dictLength = dictionary.length;
4232
+ var state;
4233
+ var dictid;
4234
+ var ret;
4235
+ if (!strm || !strm.state) {
4236
+ return Z_STREAM_ERROR;
4237
+ }
4238
+ state = strm.state;
4239
+ if (state.wrap !== 0 && state.mode !== DICT) {
4240
+ return Z_STREAM_ERROR;
4241
+ }
4242
+ if (state.mode === DICT) {
4243
+ dictid = 1;
4244
+ dictid = adler32(dictid, dictionary, dictLength, 0);
4245
+ if (dictid !== state.check) {
4246
+ return Z_DATA_ERROR;
4247
+ }
4248
+ }
4249
+ ret = updatewindow(strm, dictionary, dictLength, dictLength);
4250
+ if (ret) {
4251
+ state.mode = MEM;
4252
+ return Z_MEM_ERROR;
4253
+ }
4254
+ state.havedict = 1;
4255
+ return Z_OK;
4256
+ }
4257
+ exports.inflateReset = inflateReset;
4258
+ exports.inflateReset2 = inflateReset2;
4259
+ exports.inflateResetKeep = inflateResetKeep;
4260
+ exports.inflateInit = inflateInit;
4261
+ exports.inflateInit2 = inflateInit2;
4262
+ exports.inflate = inflate;
4263
+ exports.inflateEnd = inflateEnd;
4264
+ exports.inflateGetHeader = inflateGetHeader;
4265
+ exports.inflateSetDictionary = inflateSetDictionary;
4266
+ exports.inflateInfo = "pako inflate (from Nodeca project)";
4267
+ }
4268
+ });
4269
+
4270
+ // ../../node_modules/pako/lib/zlib/constants.js
4271
+ var require_constants = __commonJS({
4272
+ "../../node_modules/pako/lib/zlib/constants.js"(exports, module) {
4273
+ "use strict";
4274
+ module.exports = {
4275
+ Z_NO_FLUSH: 0,
4276
+ Z_PARTIAL_FLUSH: 1,
4277
+ Z_SYNC_FLUSH: 2,
4278
+ Z_FULL_FLUSH: 3,
4279
+ Z_FINISH: 4,
4280
+ Z_BLOCK: 5,
4281
+ Z_TREES: 6,
4282
+ Z_OK: 0,
4283
+ Z_STREAM_END: 1,
4284
+ Z_NEED_DICT: 2,
4285
+ Z_ERRNO: -1,
4286
+ Z_STREAM_ERROR: -2,
4287
+ Z_DATA_ERROR: -3,
4288
+ Z_BUF_ERROR: -5,
4289
+ Z_NO_COMPRESSION: 0,
4290
+ Z_BEST_SPEED: 1,
4291
+ Z_BEST_COMPRESSION: 9,
4292
+ Z_DEFAULT_COMPRESSION: -1,
4293
+ Z_FILTERED: 1,
4294
+ Z_HUFFMAN_ONLY: 2,
4295
+ Z_RLE: 3,
4296
+ Z_FIXED: 4,
4297
+ Z_DEFAULT_STRATEGY: 0,
4298
+ Z_BINARY: 0,
4299
+ Z_TEXT: 1,
4300
+ Z_UNKNOWN: 2,
4301
+ Z_DEFLATED: 8
4302
+ };
4303
+ }
4304
+ });
4305
+
4306
+ // ../../node_modules/pako/lib/zlib/gzheader.js
4307
+ var require_gzheader = __commonJS({
4308
+ "../../node_modules/pako/lib/zlib/gzheader.js"(exports, module) {
4309
+ "use strict";
4310
+ function GZheader() {
4311
+ this.text = 0;
4312
+ this.time = 0;
4313
+ this.xflags = 0;
4314
+ this.os = 0;
4315
+ this.extra = null;
4316
+ this.extra_len = 0;
4317
+ this.name = "";
4318
+ this.comment = "";
4319
+ this.hcrc = 0;
4320
+ this.done = false;
4321
+ }
4322
+ module.exports = GZheader;
4323
+ }
4324
+ });
4325
+
4326
+ // ../../node_modules/pako/lib/inflate.js
4327
+ var require_inflate2 = __commonJS({
4328
+ "../../node_modules/pako/lib/inflate.js"(exports) {
4329
+ "use strict";
4330
+ var zlib_inflate = require_inflate();
4331
+ var utils = require_common();
4332
+ var strings = require_strings();
4333
+ var c = require_constants();
4334
+ var msg = require_messages();
4335
+ var ZStream = require_zstream();
4336
+ var GZheader = require_gzheader();
4337
+ var toString = Object.prototype.toString;
4338
+ function Inflate(options) {
4339
+ if (!(this instanceof Inflate))
4340
+ return new Inflate(options);
4341
+ this.options = utils.assign({
4342
+ chunkSize: 16384,
4343
+ windowBits: 0,
4344
+ to: ""
4345
+ }, options || {});
4346
+ var opt = this.options;
4347
+ if (opt.raw && opt.windowBits >= 0 && opt.windowBits < 16) {
4348
+ opt.windowBits = -opt.windowBits;
4349
+ if (opt.windowBits === 0) {
4350
+ opt.windowBits = -15;
4351
+ }
4352
+ }
4353
+ if (opt.windowBits >= 0 && opt.windowBits < 16 && !(options && options.windowBits)) {
4354
+ opt.windowBits += 32;
4355
+ }
4356
+ if (opt.windowBits > 15 && opt.windowBits < 48) {
4357
+ if ((opt.windowBits & 15) === 0) {
4358
+ opt.windowBits |= 15;
4359
+ }
4360
+ }
4361
+ this.err = 0;
4362
+ this.msg = "";
4363
+ this.ended = false;
4364
+ this.chunks = [];
4365
+ this.strm = new ZStream();
4366
+ this.strm.avail_out = 0;
4367
+ var status = zlib_inflate.inflateInit2(
4368
+ this.strm,
4369
+ opt.windowBits
4370
+ );
4371
+ if (status !== c.Z_OK) {
4372
+ throw new Error(msg[status]);
4373
+ }
4374
+ this.header = new GZheader();
4375
+ zlib_inflate.inflateGetHeader(this.strm, this.header);
4376
+ if (opt.dictionary) {
4377
+ if (typeof opt.dictionary === "string") {
4378
+ opt.dictionary = strings.string2buf(opt.dictionary);
4379
+ } else if (toString.call(opt.dictionary) === "[object ArrayBuffer]") {
4380
+ opt.dictionary = new Uint8Array(opt.dictionary);
4381
+ }
4382
+ if (opt.raw) {
4383
+ status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);
4384
+ if (status !== c.Z_OK) {
4385
+ throw new Error(msg[status]);
4386
+ }
4387
+ }
4388
+ }
4389
+ }
4390
+ Inflate.prototype.push = function(data, mode) {
4391
+ var strm = this.strm;
4392
+ var chunkSize = this.options.chunkSize;
4393
+ var dictionary = this.options.dictionary;
4394
+ var status, _mode;
4395
+ var next_out_utf8, tail, utf8str;
4396
+ var allowBufError = false;
4397
+ if (this.ended) {
4398
+ return false;
4399
+ }
4400
+ _mode = mode === ~~mode ? mode : mode === true ? c.Z_FINISH : c.Z_NO_FLUSH;
4401
+ if (typeof data === "string") {
4402
+ strm.input = strings.binstring2buf(data);
4403
+ } else if (toString.call(data) === "[object ArrayBuffer]") {
4404
+ strm.input = new Uint8Array(data);
4405
+ } else {
4406
+ strm.input = data;
4407
+ }
4408
+ strm.next_in = 0;
4409
+ strm.avail_in = strm.input.length;
4410
+ do {
4411
+ if (strm.avail_out === 0) {
4412
+ strm.output = new utils.Buf8(chunkSize);
4413
+ strm.next_out = 0;
4414
+ strm.avail_out = chunkSize;
4415
+ }
4416
+ status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH);
4417
+ if (status === c.Z_NEED_DICT && dictionary) {
4418
+ status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);
4419
+ }
4420
+ if (status === c.Z_BUF_ERROR && allowBufError === true) {
4421
+ status = c.Z_OK;
4422
+ allowBufError = false;
4423
+ }
4424
+ if (status !== c.Z_STREAM_END && status !== c.Z_OK) {
4425
+ this.onEnd(status);
4426
+ this.ended = true;
4427
+ return false;
4428
+ }
4429
+ if (strm.next_out) {
4430
+ if (strm.avail_out === 0 || status === c.Z_STREAM_END || strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH)) {
4431
+ if (this.options.to === "string") {
4432
+ next_out_utf8 = strings.utf8border(strm.output, strm.next_out);
4433
+ tail = strm.next_out - next_out_utf8;
4434
+ utf8str = strings.buf2string(strm.output, next_out_utf8);
4435
+ strm.next_out = tail;
4436
+ strm.avail_out = chunkSize - tail;
4437
+ if (tail) {
4438
+ utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0);
4439
+ }
4440
+ this.onData(utf8str);
4441
+ } else {
4442
+ this.onData(utils.shrinkBuf(strm.output, strm.next_out));
4443
+ }
4444
+ }
4445
+ }
4446
+ if (strm.avail_in === 0 && strm.avail_out === 0) {
4447
+ allowBufError = true;
4448
+ }
4449
+ } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);
4450
+ if (status === c.Z_STREAM_END) {
4451
+ _mode = c.Z_FINISH;
4452
+ }
4453
+ if (_mode === c.Z_FINISH) {
4454
+ status = zlib_inflate.inflateEnd(this.strm);
4455
+ this.onEnd(status);
4456
+ this.ended = true;
4457
+ return status === c.Z_OK;
4458
+ }
4459
+ if (_mode === c.Z_SYNC_FLUSH) {
4460
+ this.onEnd(c.Z_OK);
4461
+ strm.avail_out = 0;
4462
+ return true;
4463
+ }
4464
+ return true;
4465
+ };
4466
+ Inflate.prototype.onData = function(chunk) {
4467
+ this.chunks.push(chunk);
4468
+ };
4469
+ Inflate.prototype.onEnd = function(status) {
4470
+ if (status === c.Z_OK) {
4471
+ if (this.options.to === "string") {
4472
+ this.result = this.chunks.join("");
4473
+ } else {
4474
+ this.result = utils.flattenChunks(this.chunks);
4475
+ }
4476
+ }
4477
+ this.chunks = [];
4478
+ this.err = status;
4479
+ this.msg = this.strm.msg;
4480
+ };
4481
+ function inflate(input, options) {
4482
+ var inflator = new Inflate(options);
4483
+ inflator.push(input, true);
4484
+ if (inflator.err) {
4485
+ throw inflator.msg || msg[inflator.err];
4486
+ }
4487
+ return inflator.result;
4488
+ }
4489
+ function inflateRaw(input, options) {
4490
+ options = options || {};
4491
+ options.raw = true;
4492
+ return inflate(input, options);
4493
+ }
4494
+ exports.Inflate = Inflate;
4495
+ exports.inflate = inflate;
4496
+ exports.inflateRaw = inflateRaw;
4497
+ exports.ungzip = inflate;
4498
+ }
4499
+ });
4500
+
4501
+ // ../../node_modules/pako/index.js
4502
+ var require_pako = __commonJS({
4503
+ "../../node_modules/pako/index.js"(exports, module) {
4504
+ "use strict";
4505
+ var assign = require_common().assign;
4506
+ var deflate = require_deflate2();
4507
+ var inflate = require_inflate2();
4508
+ var constants2 = require_constants();
4509
+ var pako2 = {};
4510
+ assign(pako2, deflate, inflate, constants2);
4511
+ module.exports = pako2;
4512
+ }
4513
+ });
4514
+
4515
+ // (disabled):zlib
4516
+ var require_zlib = __commonJS({
4517
+ "(disabled):zlib"() {
4518
+ }
4519
+ });
4520
+
398
4521
  // ../../node_modules/ieee754/index.js
399
4522
  var require_ieee754 = __commonJS({
400
4523
  "../../node_modules/ieee754/index.js"(exports) {
@@ -1611,8 +5734,8 @@ var __exports__ = (() => {
1611
5734
  // ../../node_modules/moment/moment.js
1612
5735
  var require_moment = __commonJS({
1613
5736
  "../../node_modules/moment/moment.js"(exports, module) {
1614
- (function(global, factory) {
1615
- typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global.moment = factory();
5737
+ (function(global2, factory) {
5738
+ typeof exports === "object" && typeof module !== "undefined" ? module.exports = factory() : typeof define === "function" && define.amd ? define(factory) : global2.moment = factory();
1616
5739
  })(exports, function() {
1617
5740
  "use strict";
1618
5741
  var hookCallback;
@@ -3910,11 +8033,11 @@ var __exports__ = (() => {
3910
8033
  });
3911
8034
  var chunkOffset = /([\+\-]|\d\d)/gi;
3912
8035
  function offsetFromString(matcher, string) {
3913
- var matches = (string || "").match(matcher), chunk, parts, minutes2;
3914
- if (matches === null) {
8036
+ var matches2 = (string || "").match(matcher), chunk, parts, minutes2;
8037
+ if (matches2 === null) {
3915
8038
  return null;
3916
8039
  }
3917
- chunk = matches[matches.length - 1] || [];
8040
+ chunk = matches2[matches2.length - 1] || [];
3918
8041
  parts = (chunk + "").match(chunkOffset) || ["-", 0, 0];
3919
8042
  minutes2 = +(parts[1] * 60) + toInt(parts[2]);
3920
8043
  return minutes2 === 0 ? 0 : parts[0] === "+" ? minutes2 : -minutes2;
@@ -7443,10 +11566,262 @@ var __exports__ = (() => {
7443
11566
  return [e, n, e, s, w, s, w, n, e, n];
7444
11567
  }
7445
11568
 
11569
+ // ../../node_modules/@loaders.gl/loader-utils/dist/lib/env-utils/globals.js
11570
+ var globals = {
11571
+ self: typeof self !== "undefined" && self,
11572
+ window: typeof window !== "undefined" && window,
11573
+ global: typeof global !== "undefined" && global,
11574
+ document: typeof document !== "undefined" && document
11575
+ };
11576
+ var self_ = globals.self || globals.window || globals.global || {};
11577
+ var window_ = globals.window || globals.self || globals.global || {};
11578
+ var global_ = globals.global || globals.self || globals.window || {};
11579
+ var document_ = globals.document || {};
11580
+ var isBrowser = Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser);
11581
+ var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
11582
+ var nodeVersion = matches && parseFloat(matches[1]) || 0;
11583
+
11584
+ // ../../node_modules/@loaders.gl/loader-utils/dist/lib/module-utils/js-module-utils.js
11585
+ function registerJSModules(modules) {
11586
+ globalThis.loaders ||= {};
11587
+ globalThis.loaders.modules ||= {};
11588
+ Object.assign(globalThis.loaders.modules, modules);
11589
+ }
11590
+
11591
+ // ../../node_modules/@loaders.gl/loader-utils/dist/lib/binary-utils/array-buffer-utils.js
11592
+ function concatenateArrayBuffers(...sources) {
11593
+ return concatenateArrayBuffersFromArray(sources);
11594
+ }
11595
+ function concatenateArrayBuffersFromArray(sources) {
11596
+ const sourceArrays = sources.map((source2) => source2 instanceof ArrayBuffer ? new Uint8Array(source2) : source2);
11597
+ const byteLength = sourceArrays.reduce((length, typedArray) => length + typedArray.byteLength, 0);
11598
+ const result = new Uint8Array(byteLength);
11599
+ let offset = 0;
11600
+ for (const sourceArray of sourceArrays) {
11601
+ result.set(sourceArray, offset);
11602
+ offset += sourceArray.byteLength;
11603
+ }
11604
+ return result.buffer;
11605
+ }
11606
+
11607
+ // ../../node_modules/@loaders.gl/loader-utils/dist/lib/iterators/async-iteration.js
11608
+ async function concatenateArrayBuffersAsync(asyncIterator) {
11609
+ const arrayBuffers = [];
11610
+ for await (const chunk of asyncIterator) {
11611
+ arrayBuffers.push(chunk);
11612
+ }
11613
+ return concatenateArrayBuffers(...arrayBuffers);
11614
+ }
11615
+
11616
+ // ../../node_modules/@loaders.gl/loader-utils/dist/lib/node/buffer.browser.js
11617
+ function toArrayBuffer(buffer) {
11618
+ return buffer;
11619
+ }
11620
+
11621
+ // ../../node_modules/@loaders.gl/loader-utils/dist/lib/binary-utils/memory-conversion-utils.js
11622
+ function isBuffer(value) {
11623
+ return value && typeof value === "object" && value.isBuffer;
11624
+ }
11625
+ function toArrayBuffer2(data) {
11626
+ if (isBuffer(data)) {
11627
+ return toArrayBuffer(data);
11628
+ }
11629
+ if (data instanceof ArrayBuffer) {
11630
+ return data;
11631
+ }
11632
+ if (ArrayBuffer.isView(data)) {
11633
+ if (data.byteOffset === 0 && data.byteLength === data.buffer.byteLength) {
11634
+ return data.buffer;
11635
+ }
11636
+ return data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
11637
+ }
11638
+ if (typeof data === "string") {
11639
+ const text = data;
11640
+ const uint8Array = new TextEncoder().encode(text);
11641
+ return uint8Array.buffer;
11642
+ }
11643
+ if (data && typeof data === "object" && data._toArrayBuffer) {
11644
+ return data._toArrayBuffer();
11645
+ }
11646
+ throw new Error("toArrayBuffer");
11647
+ }
11648
+
11649
+ // ../../node_modules/@loaders.gl/loader-utils/dist/lib/node/promisify.js
11650
+ function promisify1(fn) {
11651
+ return (args) => new Promise((resolve, reject) => fn(args, (error, callbackArgs) => error ? reject(error) : resolve(callbackArgs)));
11652
+ }
11653
+
11654
+ // ../../node_modules/@loaders.gl/compression/dist/lib/compression.js
11655
+ var Compression = class {
11656
+ constructor(options) {
11657
+ this.compressBatches = this.compressBatches.bind(this);
11658
+ this.decompressBatches = this.decompressBatches.bind(this);
11659
+ }
11660
+ async preload(modules = {}) {
11661
+ registerJSModules(modules);
11662
+ return;
11663
+ }
11664
+ async compress(input) {
11665
+ await this.preload();
11666
+ return this.compressSync(input);
11667
+ }
11668
+ async decompress(input, size) {
11669
+ await this.preload();
11670
+ return this.decompressSync(input, size);
11671
+ }
11672
+ compressSync(input) {
11673
+ throw new Error(`${this.name}: sync compression not supported`);
11674
+ }
11675
+ decompressSync(input, size) {
11676
+ throw new Error(`${this.name}: sync decompression not supported`);
11677
+ }
11678
+ async *compressBatches(asyncIterator) {
11679
+ const input = await this.concatenate(asyncIterator);
11680
+ yield this.compress(input);
11681
+ }
11682
+ async *decompressBatches(asyncIterator) {
11683
+ const input = await this.concatenate(asyncIterator);
11684
+ yield this.decompress(input);
11685
+ }
11686
+ concatenate(asyncIterator) {
11687
+ return concatenateArrayBuffersAsync(asyncIterator);
11688
+ }
11689
+ improveError(error) {
11690
+ if (!error.message.includes(this.name)) {
11691
+ error.message = `${this.name} ${error.message}`;
11692
+ }
11693
+ return error;
11694
+ }
11695
+ };
11696
+
11697
+ // ../../node_modules/@loaders.gl/compression/dist/lib/deflate-compression.js
11698
+ var import_pako = __toESM(require_pako(), 1);
11699
+ var import_zlib = __toESM(require_zlib(), 1);
11700
+ var DeflateCompression = class extends Compression {
11701
+ name = "deflate";
11702
+ extensions = [];
11703
+ contentEncodings = ["deflate"];
11704
+ isSupported = true;
11705
+ options;
11706
+ _chunks = [];
11707
+ constructor(options = {}) {
11708
+ super(options);
11709
+ this.options = options;
11710
+ }
11711
+ async compress(input) {
11712
+ if (!isBrowser && this.options.deflate?.useZlib) {
11713
+ const buffer = this.options.deflate?.gzip ? await promisify1(import_zlib.default.gzip)(input) : await promisify1(import_zlib.default.deflate)(input);
11714
+ return toArrayBuffer2(buffer);
11715
+ }
11716
+ return this.compressSync(input);
11717
+ }
11718
+ async decompress(input) {
11719
+ if (!isBrowser && this.options.deflate?.useZlib) {
11720
+ const buffer = this.options.deflate?.gzip ? await promisify1(import_zlib.default.gunzip)(input) : await promisify1(import_zlib.default.inflate)(input);
11721
+ return toArrayBuffer2(buffer);
11722
+ }
11723
+ return this.decompressSync(input);
11724
+ }
11725
+ compressSync(input) {
11726
+ if (!isBrowser && this.options.deflate?.useZlib) {
11727
+ const buffer = this.options.deflate?.gzip ? import_zlib.default.gzipSync(input) : import_zlib.default.deflateSync(input);
11728
+ return toArrayBuffer2(buffer);
11729
+ }
11730
+ const pakoOptions = this.options?.deflate || {};
11731
+ const inputArray = new Uint8Array(input);
11732
+ const deflate = this.options?.raw ? import_pako.default.deflateRaw : import_pako.default.deflate;
11733
+ return deflate(inputArray, pakoOptions).buffer;
11734
+ }
11735
+ decompressSync(input) {
11736
+ if (!isBrowser && this.options.deflate?.useZlib) {
11737
+ const buffer = this.options.deflate?.gzip ? import_zlib.default.gunzipSync(input) : import_zlib.default.inflateSync(input);
11738
+ return toArrayBuffer2(buffer);
11739
+ }
11740
+ const pakoOptions = this.options?.deflate || {};
11741
+ const inputArray = new Uint8Array(input);
11742
+ const inflate = this.options?.raw ? import_pako.default.inflateRaw : import_pako.default.inflate;
11743
+ return inflate(inputArray, pakoOptions).buffer;
11744
+ }
11745
+ async *compressBatches(asyncIterator) {
11746
+ const pakoOptions = this.options?.deflate || {};
11747
+ const pakoProcessor = new import_pako.default.Deflate(pakoOptions);
11748
+ yield* this.transformBatches(pakoProcessor, asyncIterator);
11749
+ }
11750
+ async *decompressBatches(asyncIterator) {
11751
+ const pakoOptions = this.options?.deflate || {};
11752
+ const pakoProcessor = new import_pako.default.Inflate(pakoOptions);
11753
+ yield* this.transformBatches(pakoProcessor, asyncIterator);
11754
+ }
11755
+ async *transformBatches(pakoProcessor, asyncIterator) {
11756
+ pakoProcessor.onData = this._onData.bind(this);
11757
+ pakoProcessor.onEnd = this._onEnd.bind(this);
11758
+ for await (const chunk of asyncIterator) {
11759
+ const uint8Array = new Uint8Array(chunk);
11760
+ const ok2 = pakoProcessor.push(uint8Array, false);
11761
+ if (!ok2) {
11762
+ throw new Error(`${this._getError()}write`);
11763
+ }
11764
+ const chunks2 = this._getChunks();
11765
+ yield* chunks2;
11766
+ }
11767
+ const emptyChunk = new Uint8Array(0);
11768
+ const ok = pakoProcessor.push(emptyChunk, true);
11769
+ if (!ok) {
11770
+ }
11771
+ const chunks = this._getChunks();
11772
+ yield* chunks;
11773
+ }
11774
+ _onData(chunk) {
11775
+ this._chunks.push(chunk);
11776
+ }
11777
+ _onEnd(status) {
11778
+ if (status !== 0) {
11779
+ throw new Error(this._getError(status) + this._chunks.length);
11780
+ }
11781
+ }
11782
+ _getChunks() {
11783
+ const chunks = this._chunks;
11784
+ this._chunks = [];
11785
+ return chunks;
11786
+ }
11787
+ _getError(code = 0) {
11788
+ const MESSAGES = {
11789
+ 2: "need dictionary",
11790
+ 1: "stream end",
11791
+ 0: "",
11792
+ "-1": "file error",
11793
+ "-2": "stream error",
11794
+ "-3": "data error",
11795
+ "-4": "insufficient memory",
11796
+ "-5": "buffer error",
11797
+ "-6": "incompatible version"
11798
+ };
11799
+ return `${this.name}: ${MESSAGES[code]}`;
11800
+ }
11801
+ };
11802
+
11803
+ // ../../node_modules/@loaders.gl/compression/dist/lib/gzip-compression.js
11804
+ var GZipCompression = class extends DeflateCompression {
11805
+ name = "gzip";
11806
+ extensions = ["gz", "gzip"];
11807
+ contentEncodings = ["gzip", "x-gzip"];
11808
+ isSupported = true;
11809
+ constructor(options) {
11810
+ super({ ...options, deflate: { ...options?.gzip, gzip: true } });
11811
+ }
11812
+ };
11813
+
7446
11814
  // src/layers/schema/fast-pbf.ts
7447
- function readPackedTypedArray(TypedArray, pbf, obj) {
11815
+ function readPackedTypedArray(TypedArray, pbf, obj, options) {
7448
11816
  const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
7449
- obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));
11817
+ const data = pbf.buf.buffer.slice(pbf.pos, end);
11818
+ if (options?.compression === "gzip") {
11819
+ const compression = new GZipCompression();
11820
+ const decompressedData = compression.decompressSync(data);
11821
+ obj.value = new TypedArray(decompressedData);
11822
+ } else {
11823
+ obj.value = new TypedArray(data);
11824
+ }
7450
11825
  pbf.pos = end;
7451
11826
  return obj.value;
7452
11827
  }
@@ -8117,7 +12492,8 @@ var __exports__ = (() => {
8117
12492
  throw Error(`Invalid data type: ${obj.type}`);
8118
12493
  }
8119
12494
  obj.data = {};
8120
- readPackedTypedArray(TypedArray, pbf, obj.data);
12495
+ const { compression } = TileReader3;
12496
+ readPackedTypedArray(TypedArray, pbf, obj.data, { compression });
8121
12497
  }
8122
12498
  }
8123
12499
  };
@@ -8138,6 +12514,7 @@ var __exports__ = (() => {
8138
12514
  var id2 = "cartoRasterTile";
8139
12515
  var DEFAULT_OPTIONS2 = {
8140
12516
  cartoRasterTile: {
12517
+ metadata: null,
8141
12518
  workerUrl: getWorkerUrl(id2, VERSION2)
8142
12519
  }
8143
12520
  };
@@ -8155,9 +12532,12 @@ var __exports__ = (() => {
8155
12532
  options: DEFAULT_OPTIONS2
8156
12533
  };
8157
12534
  function parseCartoRasterTile(arrayBuffer, options) {
8158
- if (!arrayBuffer)
12535
+ const metadata = options?.cartoRasterTile?.metadata;
12536
+ if (!arrayBuffer || !metadata)
8159
12537
  return null;
8160
- const { bands, blockSize } = parsePbf(arrayBuffer, TileReader3);
12538
+ TileReader3.compression = metadata.compression;
12539
+ const out = parsePbf(arrayBuffer, TileReader3);
12540
+ const { bands, blockSize } = out;
8161
12541
  const numericProps = {};
8162
12542
  for (let i = 0; i < bands.length; i++) {
8163
12543
  const { name, data } = bands[i];
@@ -8524,8 +12904,25 @@ vec4 heatmap_sampleColor(sampler2D source, vec2 texSize, vec2 texCoord) {
8524
12904
  });
8525
12905
  this.internalState.renderInProgress = false;
8526
12906
  }
12907
+ _finalize() {
12908
+ this.internalState.renderBuffers.forEach((fbo) => {
12909
+ fbo.destroy();
12910
+ });
12911
+ this.internalState.renderBuffers = null;
12912
+ this.internalState.postProcess.cleanup();
12913
+ }
8527
12914
  }, _a.layerName = `PostProcess${BaseLayer.layerName}`, _a;
8528
12915
  }
12916
+ var fs2 = `vec4 copy_filterColor(vec4 color, vec2 texSize, vec2 texCoord) {
12917
+ return color;
12918
+ }
12919
+ `;
12920
+ var copy = {
12921
+ name: "copy",
12922
+ fs: fs2,
12923
+ getUniforms: () => ({}),
12924
+ passes: [{ filter: true }]
12925
+ };
8529
12926
 
8530
12927
  // src/layers/quadbin-tile-layer.ts
8531
12928
  var import_core10 = __toESM(require_core2(), 1);
@@ -9019,12 +13416,14 @@ out vec4 position_commonspace;
9019
13416
 
9020
13417
  void main(void) {
9021
13418
  // Rather than positioning using attribute, layout pixel grid using gl_InstanceID
9022
- vec2 common_position = offset.xy;
13419
+ vec2 tileOrigin = offset.xy;
9023
13420
  float scale = offset.z;
9024
13421
 
9025
13422
  int yIndex = - (gl_InstanceID / BLOCK_WIDTH);
9026
13423
  int xIndex = gl_InstanceID + (yIndex * BLOCK_WIDTH);
9027
- common_position += scale * vec2(float(xIndex), float(yIndex - 1));
13424
+
13425
+ // Avoid precision issues by applying 0.5 offset here, rather than when laying out vertices
13426
+ vec2 cellCenter = scale * vec2(float(xIndex) + 0.5, float(yIndex) - 0.5);
9028
13427
 
9029
13428
  vec4 color = isStroke ? instanceLineColors : instanceFillColors;
9030
13429
 
@@ -9035,7 +13434,7 @@ void main(void) {
9035
13434
  // Get position directly from quadbin, rather than projecting
9036
13435
  // Important to set geometry.position before using project_ methods below
9037
13436
  // as geometry.worldPosition is not set (we don't know our lat/long)
9038
- geometry.position = vec4(common_position, 0.0, 1.0);
13437
+ geometry.position = vec4(tileOrigin + cellCenter, 0.0, 1.0);
9039
13438
  if (project_uProjectionMode == PROJECTION_MODE_WEB_MERCATOR_AUTO_OFFSET) {
9040
13439
  geometry.position.xyz -= project_uCommonOrigin;
9041
13440
  }
@@ -9059,12 +13458,12 @@ void main(void) {
9059
13458
 
9060
13459
  geometry.pickingColor = instancePickingColors;
9061
13460
 
9062
- // project center of column
9063
- vec2 offset = (vec2(0.5) + positions.xy * strokeOffsetRatio) * cellWidth * shouldRender;
9064
- vec3 pos = vec3(offset, project_size(elevation));
9065
- DECKGL_FILTER_SIZE(pos, geometry);
13461
+ // Cell coordinates centered on origin
13462
+ vec2 base = positions.xy * scale * strokeOffsetRatio * coverage * shouldRender;
13463
+ vec3 cell = vec3(base, project_size(elevation));
13464
+ DECKGL_FILTER_SIZE(cell, geometry);
9066
13465
 
9067
- geometry.position.xyz += pos;
13466
+ geometry.position.xyz += cell;
9068
13467
  gl_Position = project_common_position_to_clipspace(geometry.position);
9069
13468
 
9070
13469
  geometry.normal = project_normal(normals);
@@ -9099,7 +13498,7 @@ void main(void) {
9099
13498
  [-0.5, 0.5]
9100
13499
  ]
9101
13500
  };
9102
- var RasterColumnLayer = class extends import_layers4.ColumnLayer {
13501
+ var RasterColumnLayer = class extends RTTModifier(import_layers4.ColumnLayer) {
9103
13502
  getShaders() {
9104
13503
  const shaders = super.getShaders();
9105
13504
  const data = this.props.data;
@@ -9171,7 +13570,15 @@ void main(void) {
9171
13570
  dataComparator: wrappedDataComparator,
9172
13571
  offset,
9173
13572
  highlightedObjectIndex,
9174
- highlightColor
13573
+ highlightColor,
13574
+ parameters: {
13575
+ blendColorSrcFactor: "one",
13576
+ blendAlphaSrcFactor: "one",
13577
+ blendColorDstFactor: "zero",
13578
+ blendAlphaDstFactor: "zero",
13579
+ blendColorOperation: "add",
13580
+ blendAlphaOperation: "add"
13581
+ }
9175
13582
  }
9176
13583
  );
9177
13584
  }
@@ -9227,8 +13634,17 @@ void main(void) {
9227
13634
  };
9228
13635
  var defaultProps9 = {
9229
13636
  data: TilejsonPropType,
13637
+ refinementStrategy: "no-overlap",
9230
13638
  tileSize: DEFAULT_TILE_SIZE
9231
13639
  };
13640
+ var PostProcessTileLayer = class extends PostProcessModifier(import_geo_layers7.TileLayer, copy) {
13641
+ filterSubLayer(context) {
13642
+ const { tile } = context.layer.props;
13643
+ if (!tile)
13644
+ return true;
13645
+ return super.filterSubLayer(context);
13646
+ }
13647
+ };
9232
13648
  var RasterTileLayer = class extends import_core14.CompositeLayer {
9233
13649
  getLoadOptions() {
9234
13650
  const loadOptions = super.getLoadOptions() || {};
@@ -9240,8 +13656,8 @@ void main(void) {
9240
13656
  const tileJSON = this.props.data;
9241
13657
  if (!tileJSON)
9242
13658
  return null;
9243
- const { tiles: data, minzoom: minZoom, maxzoom: maxZoom } = tileJSON;
9244
- const SubLayerClass = this.getSubLayerClass("tile", import_geo_layers7.TileLayer);
13659
+ const { tiles: data, minzoom: minZoom, maxzoom: maxZoom, raster_metadata: metadata } = tileJSON;
13660
+ const SubLayerClass = this.getSubLayerClass("tile", PostProcessTileLayer);
9245
13661
  return new SubLayerClass(this.props, {
9246
13662
  id: `raster-tile-layer-${this.props.id}`,
9247
13663
  data,
@@ -9249,7 +13665,10 @@ void main(void) {
9249
13665
  renderSubLayers: renderSubLayers3,
9250
13666
  minZoom,
9251
13667
  maxZoom,
9252
- loadOptions: this.getLoadOptions()
13668
+ loadOptions: {
13669
+ cartoRasterTile: { metadata },
13670
+ ...this.getLoadOptions()
13671
+ }
9253
13672
  });
9254
13673
  }
9255
13674
  };
@@ -9283,7 +13702,7 @@ void main(void) {
9283
13702
  extensions: ["pbf"],
9284
13703
  mimeTypes: ["application/vnd.carto-properties-tile"],
9285
13704
  category: "geometry",
9286
- worker: false,
13705
+ worker: true,
9287
13706
  parse: async (arrayBuffer, options) => parseCartoPropertiesTile(arrayBuffer, options),
9288
13707
  parseSync: parseCartoPropertiesTile,
9289
13708
  options: {}
@@ -10199,12 +14618,12 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
10199
14618
  return initRange.apply(rescale(), arguments);
10200
14619
  }
10201
14620
  function pointish(scale) {
10202
- var copy2 = scale.copy;
14621
+ var copy3 = scale.copy;
10203
14622
  scale.padding = scale.paddingOuter;
10204
14623
  delete scale.paddingInner;
10205
14624
  delete scale.paddingOuter;
10206
14625
  scale.copy = function() {
10207
- return pointish(copy2());
14626
+ return pointish(copy3());
10208
14627
  };
10209
14628
  return scale;
10210
14629
  }
@@ -10840,7 +15259,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
10840
15259
  return r[i2](d[i2](x));
10841
15260
  };
10842
15261
  }
10843
- function copy(source, target) {
15262
+ function copy2(source, target) {
10844
15263
  return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());
10845
15264
  }
10846
15265
  function transformer() {
@@ -11224,7 +15643,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11224
15643
  function linear2() {
11225
15644
  var scale = continuous();
11226
15645
  scale.copy = function() {
11227
- return copy(scale, linear2());
15646
+ return copy2(scale, linear2());
11228
15647
  };
11229
15648
  initRange.apply(scale, arguments);
11230
15649
  return linearish(scale);
@@ -11364,7 +15783,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11364
15783
  }
11365
15784
  function log5() {
11366
15785
  const scale = loggish(transformer()).domain([1, 10]);
11367
- scale.copy = () => copy(scale, log5()).base(scale.base());
15786
+ scale.copy = () => copy2(scale, log5()).base(scale.base());
11368
15787
  initRange.apply(scale, arguments);
11369
15788
  return scale;
11370
15789
  }
@@ -11394,7 +15813,7 @@ ${formatErrorKey(key)}: ${errorContext[key]}`;
11394
15813
  function pow() {
11395
15814
  var scale = powish(transformer());
11396
15815
  scale.copy = function() {
11397
- return copy(scale, pow()).exponent(scale.exponent());
15816
+ return copy2(scale, pow()).exponent(scale.exponent());
11398
15817
  };
11399
15818
  initRange.apply(scale, arguments);
11400
15819
  return scale;