kinetex 1.2.0 → 1.4.0

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 (126) hide show
  1. package/README.md +1164 -453
  2. package/dist/browser/kinetex.esm.js +38 -22
  3. package/dist/browser/kinetex.js +3127 -715
  4. package/dist/browser/kinetex.min.js +38 -22
  5. package/dist/cjs/aws-sigv4.js +137 -20
  6. package/dist/cjs/cache.js +101 -21
  7. package/dist/cjs/circuit-breaker.js +69 -7
  8. package/dist/cjs/client.js +838 -191
  9. package/dist/cjs/cookie-parser.js +110 -9
  10. package/dist/cjs/cookie-store.js +141 -36
  11. package/dist/cjs/core.js +501 -63
  12. package/dist/cjs/dedup.js +58 -18
  13. package/dist/cjs/digest.js +185 -23
  14. package/dist/cjs/graphql.js +164 -24
  15. package/dist/cjs/headers.js +362 -48
  16. package/dist/cjs/interceptors.js +285 -29
  17. package/dist/cjs/lifecycle.js +89 -40
  18. package/dist/cjs/logging.js +169 -16
  19. package/dist/cjs/mod.js +3 -2
  20. package/dist/cjs/pagination.js +261 -28
  21. package/dist/cjs/progress.js +282 -52
  22. package/dist/cjs/proxy.js +412 -0
  23. package/dist/cjs/response.js +316 -47
  24. package/dist/cjs/socks5.js +167 -36
  25. package/dist/cjs/sse.js +201 -34
  26. package/dist/cjs/url.js +191 -45
  27. package/dist/cjs/utils.js +222 -48
  28. package/dist/cjs/worker.js +6 -6
  29. package/dist/cjs/ws.js +32 -16
  30. package/dist/esm/aws-sigv4.js +137 -20
  31. package/dist/esm/aws-sigv4.js.map +1 -1
  32. package/dist/esm/cache.js +101 -21
  33. package/dist/esm/cache.js.map +1 -1
  34. package/dist/esm/circuit-breaker.js +69 -7
  35. package/dist/esm/circuit-breaker.js.map +1 -1
  36. package/dist/esm/client.js +838 -191
  37. package/dist/esm/client.js.map +1 -1
  38. package/dist/esm/cookie-parser.js +110 -9
  39. package/dist/esm/cookie-parser.js.map +1 -1
  40. package/dist/esm/cookie-store.js +141 -36
  41. package/dist/esm/cookie-store.js.map +1 -1
  42. package/dist/esm/core.js +501 -63
  43. package/dist/esm/core.js.map +1 -1
  44. package/dist/esm/dedup.js +58 -18
  45. package/dist/esm/dedup.js.map +1 -1
  46. package/dist/esm/digest.js +185 -23
  47. package/dist/esm/digest.js.map +1 -1
  48. package/dist/esm/graphql.js +164 -24
  49. package/dist/esm/graphql.js.map +1 -1
  50. package/dist/esm/headers.js +362 -48
  51. package/dist/esm/headers.js.map +1 -1
  52. package/dist/esm/interceptors.js +285 -29
  53. package/dist/esm/interceptors.js.map +1 -1
  54. package/dist/esm/lifecycle.js +89 -40
  55. package/dist/esm/lifecycle.js.map +1 -1
  56. package/dist/esm/logging.js +169 -16
  57. package/dist/esm/logging.js.map +1 -1
  58. package/dist/esm/mod.js +3 -2
  59. package/dist/esm/mod.js.map +1 -1
  60. package/dist/esm/pagination.js +261 -28
  61. package/dist/esm/pagination.js.map +1 -1
  62. package/dist/esm/progress.js +282 -52
  63. package/dist/esm/progress.js.map +1 -1
  64. package/dist/esm/proxy.js +413 -0
  65. package/dist/esm/proxy.js.map +1 -0
  66. package/dist/esm/response.js +316 -47
  67. package/dist/esm/response.js.map +1 -1
  68. package/dist/esm/socks5.js +167 -36
  69. package/dist/esm/socks5.js.map +1 -1
  70. package/dist/esm/sse.js +201 -34
  71. package/dist/esm/sse.js.map +1 -1
  72. package/dist/esm/types.js.map +1 -1
  73. package/dist/esm/url.js +191 -45
  74. package/dist/esm/url.js.map +1 -1
  75. package/dist/esm/utils.js +222 -48
  76. package/dist/esm/utils.js.map +1 -1
  77. package/dist/esm/worker.js +6 -6
  78. package/dist/esm/worker.js.map +1 -1
  79. package/dist/esm/ws.js +32 -16
  80. package/dist/esm/ws.js.map +1 -1
  81. package/dist/types/aws-sigv4.d.ts.map +1 -1
  82. package/dist/types/cache.d.ts +27 -2
  83. package/dist/types/cache.d.ts.map +1 -1
  84. package/dist/types/circuit-breaker.d.ts +14 -1
  85. package/dist/types/circuit-breaker.d.ts.map +1 -1
  86. package/dist/types/client.d.ts +98 -23
  87. package/dist/types/client.d.ts.map +1 -1
  88. package/dist/types/cookie-parser.d.ts +0 -17
  89. package/dist/types/cookie-parser.d.ts.map +1 -1
  90. package/dist/types/cookie-store.d.ts.map +1 -1
  91. package/dist/types/core.d.ts +109 -25
  92. package/dist/types/core.d.ts.map +1 -1
  93. package/dist/types/dedup.d.ts +0 -7
  94. package/dist/types/dedup.d.ts.map +1 -1
  95. package/dist/types/digest.d.ts +31 -37
  96. package/dist/types/digest.d.ts.map +1 -1
  97. package/dist/types/graphql.d.ts.map +1 -1
  98. package/dist/types/headers.d.ts +62 -29
  99. package/dist/types/headers.d.ts.map +1 -1
  100. package/dist/types/interceptors.d.ts +102 -0
  101. package/dist/types/interceptors.d.ts.map +1 -1
  102. package/dist/types/lifecycle.d.ts +19 -2
  103. package/dist/types/lifecycle.d.ts.map +1 -1
  104. package/dist/types/logging.d.ts +23 -4
  105. package/dist/types/logging.d.ts.map +1 -1
  106. package/dist/types/mod.d.ts +5 -3
  107. package/dist/types/mod.d.ts.map +1 -1
  108. package/dist/types/pagination.d.ts +0 -25
  109. package/dist/types/pagination.d.ts.map +1 -1
  110. package/dist/types/progress.d.ts +1 -1
  111. package/dist/types/progress.d.ts.map +1 -1
  112. package/dist/types/proxy.d.ts +50 -0
  113. package/dist/types/proxy.d.ts.map +1 -0
  114. package/dist/types/response.d.ts +7 -1
  115. package/dist/types/response.d.ts.map +1 -1
  116. package/dist/types/socks5.d.ts.map +1 -1
  117. package/dist/types/sse.d.ts.map +1 -1
  118. package/dist/types/types.d.ts +139 -5
  119. package/dist/types/types.d.ts.map +1 -1
  120. package/dist/types/url.d.ts +0 -14
  121. package/dist/types/url.d.ts.map +1 -1
  122. package/dist/types/utils.d.ts.map +1 -1
  123. package/dist/types/worker.d.ts +6 -6
  124. package/dist/types/worker.d.ts.map +1 -1
  125. package/dist/types/ws.d.ts.map +1 -1
  126. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,uEAAuE;AACvE,gFAAgF;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAyGhD,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,yEAAyE;AACzE,SAAS,iBAAiB,CACxB,MAA8B,EAC9B,QAA4B;IAE5B,OAAO;QACL,QAAQ;QACR,IAAI,EAAE,MAAM,CAAC,SAAS,IAAI,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;QAClC,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;QAChC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,CAAC;KAChB,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E,+DAA+D;AAC/D,SAAS,SAAS,CAChB,KAAU,EACV,QAAW,EACX,KAAsB,EACtB,MAA8B,EAC9B,IAAqC,EACrC,eAAyB;IAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1F,MAAM,OAAO,GACX,KAAK,CAAC,IAAI,GAAG,CAAC;QACd,KAAK,CAAC,MAAM,GAAG,CAAC;QACf,KAAwC,CAAC,UAAU,KAAK,IAAI,CAAC;IAEhE,OAAO;QACL,KAAK;QACL,KAAK;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO;QACP,UAAU;QACV,OAAO,EAAE,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC3D,OAAO;QACP,UAAU,EAAE,IAAI,EAAE,MAAM,IAAI,IAAI;QAChC,UAAU,EAAG,KAAwC,CAAC,UAAU,IAAI,IAAI;QACxE,GAAG,EAAE,QAAQ;KACd,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,QAAQ,CAC7B,MAA8B,EAC9B,WAA+B,MAAM;IAErC,IAAI,KAAK,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM;QAClC,IAAI,MAAM,CAAC,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC,QAAQ;YAAE,MAAM;QAEzD,sBAAsB;QACtB,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,QAAQ;QACR,IAAI,QAAW,CAAC;QAChB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM;YAClC,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,qCAAqC;QACrC,IAAI,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,SAAS;YAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,MAAM;YAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEvD,iBAAiB;QACjB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAE7E,qDAAqD;QACrD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QAEnC,KAAK,GAAG;YACN,GAAG,KAAK;YACR,IAAI,EAAE,WAAW,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YACzC,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;YAC1D,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC,MAAM;YAC3C,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK;YACxC,IAAI,EAAE,CAAC,OAAO;YACd,YAAY,EAAE,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM;YAC/C,UAAU,EAAE,aAAa;SAC1B,CAAC;QAEF,OAAO,EAAE,CAAC;QACV,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7B,MAAM,IAAI,CAAC;QAEX,IAAI,CAAC,OAAO;YAAE,MAAM;IACtB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa,CAClC,MAA8B,EAC9B,WAA+B,MAAM;IAErC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAA8B,EAC9B,WAA+B,MAAM;IAErC,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA8B,EAC9B,WAA+B,MAAM;IAErC,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,CAAS,EACT,MAA8B,EAC9B,WAA+B,MAAM;IAErC,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;YAAE,MAAM;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAkCD,8CAA8C;AAC9C,MAAM,UAAU,qBAAqB,CACnC,OAAmC;IAEnC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAElD,OAAO,QAAQ,CACb;QACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,OAAO,EAAE,OAAO,CAAC,KAAK;QAEtB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACtD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACxC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAElD,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAE1C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YAC/C,IAAI,OAAO,CAAC,OAAO;gBACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YAChE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;QAED,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;KAClE,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAgCD,8CAA8C;AAC9C,MAAM,UAAU,mBAAmB,CAAI,OAAiC;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;IACtC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAElD,OAAO,QAAQ,CACb;QACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC;QAEjC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAClD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACxC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAE1C,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACzD,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;YACxD,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YAC/C,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YAChE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;QAC3D,CAAC;QAED,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;KAClD,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AA4BD,uCAAuC;AACvC,MAAM,UAAU,qBAAqB,CACnC,OAAmC;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAElD,OAAO,QAAQ,CACb;QACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;QAExC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACxC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE1C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI;QAEvD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC;KACF,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AA6DD,mEAAmE;AACnE,MAAM,UAAU,oBAAoB,CAClC,OAAkC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IAErC,OAAO,QAAQ,CACb;QACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;QACxC,OAAO,EAAE,QAAQ;QAEjB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAEzE,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI;QAE3C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;QAE5C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;YAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC;KACF,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAkCD,qEAAqE;AACrE,MAAM,UAAU,yBAAyB,CACvC,OAAuC;IAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAElD,OAAO,QAAQ,CACb;QACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEtE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,wCAAwC;YACjF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;gBAC7B,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACjD,CAAC;QAED,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAE7C,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI;QAEpE,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI;QAEtC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;KACjE,EACD,aAAa,CACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,+DAA+D;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC7D,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC;IACpF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAoBD,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAClC,OAAkC;IAElC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,WAAW,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAElD,OAAO,QAAQ,CACb;QACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,KAAK;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,QAAQ;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACxC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC1C,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;QAE1C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI;QAEtD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAClC,CAAC;KACF,EACD,OAAO,CACR,CAAC;AACJ,CAAC;AAqBD,4CAA4C;AAC5C,MAAM,UAAU,qBAAqB,CACnC,OAAmC;IAEnC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAElD,OAAO,QAAQ,CACb;QACE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,WAAW,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAErC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjC,IAAI,KAAK,CAAC,MAAM;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,QAAQ;gBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACxC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAED,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE1C,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,OAAO,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC;YAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACzC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpC,CAAC;KACF,EACD,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACrC,MAA8B,EAC9B,WAA+B,MAAM,EACrC,aAAa,GAAG,CAAC;IAEjB,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,KAAK,UAAU,OAAO;QACpB,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,sBAAsB;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC,EAAE;QAAE,MAAM,OAAO,EAAE,CAAC;IAE5D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,EAAG,CAAC;QAClC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM;QAC/C,MAAM,OAAO,EAAE,CAAC;QAChB,MAAM,IAAI,CAAC;IACb,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,2CAA2C;AAC3C,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAsB;IAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,UAAkB;IAC3D,IAAI,CAAC;QACH,yEAAyE;QACzE,2EAA2E;QAC3E,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAoB,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,8DAA8D;AAC9D,SAAS,KAAK,CAAC,EAAU,EAAE,MAAoB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,CAAC,EAAE,CAAC;YACJ,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,IAAI,MAAM;YACR,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,GAAG,EAAE;gBACH,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC,EAAE,CAAC;YACN,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAI,MAAwB;IAC9D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAC5C,OAAO;QACL,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC3F,KAAK,EAAE,CAAC,CAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5D,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,eAAe,CAAI,GAAG,UAA8B;IACzE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/C,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;YAC/C,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjB,SAAS;YACX,CAAC;YACD,MAAM,KAAM,CAAC;QACf,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../src/pagination.ts"],"names":[],"mappings":"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"}
@@ -48,8 +48,16 @@ export class ProgressTracker {
48
48
  smoothedRate = 0;
49
49
  smoothing;
50
50
  _done = false;
51
- // Throttle state
52
- lastEmitMs = 0;
51
+ // Throttle state.
52
+ //
53
+ // `-Infinity` rather than 0: the gate is `now - lastEmitMs >= minIntervalMs`
54
+ // and `now` comes from `performance.now()`, which is time since *process*
55
+ // start. With a 0 baseline the very first update passes only once the
56
+ // process has been alive for a full interval, so for the first second of
57
+ // any CLI or serverless invocation **no progress event was emitted at all**.
58
+ // A transfer starting at t=200 ms and finishing at t=800 ms reported
59
+ // nothing but the forced final snapshot — a progress bar that never moves.
60
+ lastEmitMs = -Infinity;
53
61
  minIntervalMs;
54
62
  onProgress;
55
63
  constructor(total, options = {}) {
@@ -118,8 +126,13 @@ export class ProgressTracker {
118
126
  this.lastMs = now;
119
127
  this.lastLoaded = this.loaded;
120
128
  }
129
+ // Clamped at BOTH ends. The upper clamp was there; a negative chunk — a
130
+ // caller bug, or a Content-Length revised downward mid-transfer — put
131
+ // `percent` below zero and every progress line rendered "(-50.0%)". A
132
+ // running total of transferred bytes cannot be meaningfully negative, so
133
+ // the ratio is bounded to [0, 100].
121
134
  const percent = this.total !== null && this.total > 0
122
- ? Math.min(100, (this.loaded / this.total) * 100)
135
+ ? Math.min(100, Math.max(0, (this.loaded / this.total) * 100))
123
136
  : null;
124
137
  const eta = this.total !== null && this.smoothedRate > 0
125
138
  ? Math.max(0, ((this.total - this.loaded) / this.smoothedRate) * 1000)
@@ -178,41 +191,94 @@ export function withUploadProgress(body, total, options = {}) {
178
191
  },
179
192
  });
180
193
  }
194
+ // PULL-BASED, not start()-based. The old implementation drained the whole
195
+ // source inside start(), enqueueing every chunk before the transport read a
196
+ // single byte — a large upload was fully buffered in memory and the
197
+ // ReadableStream highWaterMark bought nothing. pull() reads one chunk per
198
+ // demand, so backpressure reaches the source.
199
+ let reader = null;
200
+ let onUploadAbort = null;
201
+ // Distinguishes an end-of-stream from a cancellation, which a pending
202
+ // `read()` reports identically. `withDownloadProgress` already kept this
203
+ // flag; without it here, aborting an upload ran the `done` branch below —
204
+ // `tracker.complete()` and `controller.close()` — on the path that was
205
+ // aborting, so the transfer was still announced as finished and 100% done
206
+ // even after removing the `complete()` from the abort handler itself.
207
+ let aborted = false;
208
+ const detach = () => {
209
+ if (onUploadAbort) {
210
+ options.signal?.removeEventListener("abort", onUploadAbort);
211
+ onUploadAbort = null;
212
+ }
213
+ };
181
214
  const stream = new ReadableStream({
182
- async start(controller) {
183
- const reader = source.getReader();
215
+ start(controller) {
184
216
  // Handle already-aborted signal immediately
185
217
  if (options.signal?.aborted) {
186
- reader.cancel("aborted").catch(() => { });
187
218
  controller.error(new DOMException("Upload aborted", "AbortError"));
188
219
  return;
189
220
  }
190
- const onUploadAbort = () => {
191
- reader.cancel("aborted").catch(() => { });
221
+ reader = source.getReader();
222
+ onUploadAbort = () => {
223
+ if (aborted)
224
+ return;
225
+ aborted = true;
226
+ const r = reader;
227
+ reader = null;
228
+ void r?.cancel("aborted").catch(() => { });
229
+ // The tracker is deliberately NOT completed here. `complete()` reports
230
+ // `done: true` and, because `done` is what forces the final percent,
231
+ // `percent: 100`: an upload aborted 10 bytes into a 100-byte body was
232
+ // announced to every `onProgress` listener as a finished, 100%-complete
233
+ // transfer. The caller learns the real outcome from the AbortError the
234
+ // stream is errored with, which is the same contract
235
+ // `withDownloadProgress` already followed on abort.
192
236
  controller.error(new DOMException("Upload aborted", "AbortError"));
193
237
  };
194
- // Removed in the stream's finally block so repeated uploads sharing one
195
- // signal do not accumulate listeners (leak fix).
238
+ // Removed in detach() on close/cancel/error so repeated uploads sharing
239
+ // one signal do not accumulate listeners (leak fix).
196
240
  options.signal?.addEventListener("abort", onUploadAbort, { once: true });
241
+ },
242
+ async pull(controller) {
243
+ // Captured once, before the await. The abort handler nulls the shared
244
+ // `reader` while a read is pending, and re-reading the variable after
245
+ // the await meant `releaseLock()` below dereferenced `null`.
246
+ const r = reader;
247
+ if (!r)
248
+ return;
197
249
  try {
198
- while (true) {
199
- const { done, value } = await reader.read();
200
- if (done) {
250
+ const { done, value } = await r.read();
251
+ if (done) {
252
+ detach();
253
+ if (reader === r)
254
+ reader = null;
255
+ r.releaseLock();
256
+ // `done` here can just as well mean "cancelled by the abort
257
+ // handler", in which case the stream is already errored and the
258
+ // transfer must not be reported as a completed one.
259
+ if (!aborted) {
201
260
  tracker.complete();
202
261
  controller.close();
203
- break;
204
262
  }
205
- tracker.update(value.byteLength);
206
- controller.enqueue(value);
263
+ return;
207
264
  }
265
+ tracker.update(value.byteLength);
266
+ controller.enqueue(value);
208
267
  }
209
268
  catch (err) {
210
- tracker.complete();
269
+ detach();
270
+ if (reader === r)
271
+ reader = null;
272
+ if (!aborted)
273
+ tracker.complete();
211
274
  controller.error(err);
212
275
  }
213
- finally {
214
- options.signal?.removeEventListener("abort", onUploadAbort);
215
- }
276
+ },
277
+ cancel(reason) {
278
+ detach();
279
+ const r = reader;
280
+ reader = null;
281
+ void r?.cancel(reason).catch(() => { });
216
282
  },
217
283
  });
218
284
  return { stream, tracker };
@@ -246,44 +312,76 @@ export function withDownloadProgress(response, options = {}) {
246
312
  return { response, tracker };
247
313
  }
248
314
  const body = response.body;
315
+ // PULL-BASED for the same reason as withUploadProgress: the start()-based
316
+ // version buffered the entire download in memory before the consumer read it.
317
+ let reader = null;
318
+ let aborted = false;
319
+ let onAbort = null;
320
+ const detach = () => {
321
+ if (onAbort) {
322
+ options.signal?.removeEventListener("abort", onAbort);
323
+ onAbort = null;
324
+ }
325
+ };
249
326
  const trackedStream = new ReadableStream({
250
- async start(controller) {
251
- const reader = body.getReader();
252
- let aborted = false;
253
- const onAbort = () => {
327
+ start(controller) {
328
+ if (options.signal?.aborted) {
329
+ aborted = true;
330
+ controller.error(new DOMException("Download aborted", "AbortError"));
331
+ return;
332
+ }
333
+ reader = body.getReader();
334
+ onAbort = () => {
254
335
  if (aborted)
255
336
  return;
256
337
  aborted = true;
338
+ const r = reader;
339
+ reader = null;
257
340
  // Ensure tracker knows we're aborting (don't wait for complete)
258
- reader.cancel("aborted").catch(() => { });
341
+ void r?.cancel("aborted").catch(() => { });
259
342
  controller.error(new DOMException("Download aborted", "AbortError"));
260
343
  };
261
344
  options.signal?.addEventListener("abort", onAbort, { once: true });
345
+ },
346
+ async pull(controller) {
347
+ // Captured before the await, for the same reason as the upload wrapper:
348
+ // the abort handler nulls the shared `reader` while a read is pending.
349
+ const r = reader;
350
+ if (!r)
351
+ return;
262
352
  try {
263
- while (true) {
264
- const { done, value } = await reader.read();
265
- if (done) {
353
+ const { done, value } = await r.read();
354
+ if (done) {
355
+ detach();
356
+ if (reader === r)
357
+ reader = null;
358
+ r.releaseLock();
359
+ // Ensure tracker is marked as complete even on error
360
+ if (!aborted) {
266
361
  tracker.complete();
267
- controller.close();
268
- break;
269
362
  }
270
- tracker.update(value.byteLength);
271
- controller.enqueue(value);
363
+ controller.close();
364
+ return;
272
365
  }
366
+ tracker.update(value.byteLength);
367
+ controller.enqueue(value);
273
368
  }
274
369
  catch (err) {
370
+ detach();
371
+ if (reader === r)
372
+ reader = null;
275
373
  // Ensure tracker is marked as complete even on error
276
374
  if (!aborted) {
277
375
  tracker.complete();
278
376
  }
279
377
  controller.error(err);
280
378
  }
281
- finally {
282
- // Remove abort listener if not already triggered
283
- if (!aborted) {
284
- options.signal?.removeEventListener("abort", onAbort);
285
- }
286
- }
379
+ },
380
+ cancel(reason) {
381
+ detach();
382
+ const r = reader;
383
+ reader = null;
384
+ void r?.cancel(reason).catch(() => { });
287
385
  },
288
386
  });
289
387
  const trackedResponse = new Response(trackedStream, {
@@ -291,6 +389,21 @@ export function withDownloadProgress(response, options = {}) {
291
389
  statusText: response.statusText,
292
390
  headers: response.headers,
293
391
  });
392
+ // A reconstructed Response reports url === "" and redirected === false, which
393
+ // silently broke anything downstream that reads them. `url` and `redirected`
394
+ // are prototype getters, so shadow them with own properties on the instance.
395
+ for (const prop of ["url", "redirected", "type"]) {
396
+ try {
397
+ Object.defineProperty(trackedResponse, prop, {
398
+ value: response[prop],
399
+ enumerable: true,
400
+ configurable: true,
401
+ });
402
+ }
403
+ catch {
404
+ /* non-configurable in this runtime — leave the default in place */
405
+ }
406
+ }
294
407
  return { response: trackedResponse, tracker };
295
408
  }
296
409
  // ============================================================================
@@ -346,10 +459,23 @@ export async function collectStream(stream, total, options = {}) {
346
459
  // Handle already-aborted signal
347
460
  if (options.signal?.aborted) {
348
461
  reader.cancel("aborted").catch(() => { });
462
+ reader.releaseLock();
349
463
  throw new DOMException("Stream aborted", "AbortError");
350
464
  }
465
+ // An abort has to REJECT, not merely stop the reads.
466
+ //
467
+ // `reader.cancel()` resolves the pending `read()` with `{ done: true }`,
468
+ // which is indistinguishable from an ordinary end-of-stream: the loop broke
469
+ // out, `tracker.complete()` ran, and the truncated buffer was returned as a
470
+ // successful result. A caller collecting a 100-byte body under an abort that
471
+ // arrived after 3 bytes got `data: 3 bytes, isDone: true` and no error, so
472
+ // the partial body was stored as if it were the whole one. The sibling API
473
+ // `streamWithProgress` throws `AbortError` for exactly this case, so the two
474
+ // disagreed about the same event.
475
+ let aborted = false;
351
476
  // Register abort handler (removed in the finally below — leak fix)
352
477
  const abortHandler = () => {
478
+ aborted = true;
353
479
  reader.cancel("aborted").catch(() => { });
354
480
  };
355
481
  if (options.signal) {
@@ -358,11 +484,17 @@ export async function collectStream(stream, total, options = {}) {
358
484
  try {
359
485
  while (true) {
360
486
  const { done, value } = await reader.read();
487
+ // Once the abort handler has cancelled the reader, this read — including
488
+ // one already in flight — resolves `{ done: true }`, so the loop always
489
+ // breaks and the check below is reached. There is no path that skips it.
361
490
  if (done)
362
491
  break;
363
492
  chunks.push(value);
364
493
  tracker.update(value.byteLength);
365
494
  }
495
+ // `done` above can equally mean "cancelled by the abort handler".
496
+ if (aborted)
497
+ throw new DOMException("Stream aborted", "AbortError");
366
498
  }
367
499
  finally {
368
500
  reader.releaseLock();
@@ -421,6 +553,17 @@ export class MultiPartProgressAggregator {
421
553
  * @returns A ProgressTracker instance for this part.
422
554
  */
423
555
  createPartTracker(partIndex, partSize, options = {}) {
556
+ // "Create or retrieve", as this method documents itself. It always
557
+ // created: a second call for the same index built a fresh tracker and
558
+ // overwrote the stored one, so the bytes already recorded for that part
559
+ // were silently discarded and the aggregate fell back to 0 — a caller
560
+ // re-acquiring a tracker it had lost a handle to erased the part's
561
+ // progress rather than recovering it. The first call's `partSize` wins,
562
+ // because changing it would restate a total the bytes were counted
563
+ // against.
564
+ const existing = this.trackers.get(partIndex);
565
+ if (existing)
566
+ return existing;
424
567
  this.totals.set(partIndex, partSize);
425
568
  const tracker = new ProgressTracker(partSize, {
426
569
  ...options,
@@ -466,7 +609,13 @@ export class MultiPartProgressAggregator {
466
609
  maxElapsed = snap.elapsed;
467
610
  }
468
611
  const hasTotal = totalBytes > 0;
469
- const percent = hasTotal ? Math.min(100, (totalLoaded / totalBytes) * 100) : null;
612
+ // Bounded at BOTH ends, for the same reason `ProgressTracker._snapshot`
613
+ // bounds its own: a negative chunk — a caller bug, or a `Content-Length`
614
+ // revised downward mid-transfer — put the aggregate below zero and
615
+ // rendered "(-50.0%)". The tracker was clamped in an earlier round and
616
+ // the aggregate that sums the same snapshots was not, so the overall view
617
+ // was the one place the fix did not reach.
618
+ const percent = hasTotal ? Math.max(0, Math.min(100, (totalLoaded / totalBytes) * 100)) : null;
470
619
  const eta = hasTotal && totalRate > 0
471
620
  ? Math.max(0, ((totalBytes - totalLoaded) / totalRate) * 1000)
472
621
  : null;
@@ -512,6 +661,19 @@ export function xhrFetch(url, options) {
512
661
  reject(new Error("XMLHttpRequest is not available in this runtime. Use fetch() instead."));
513
662
  return;
514
663
  }
664
+ // `XHRResult.body` is a string, but `responseType` is typed with the whole
665
+ // XHR enum — and everything outside "" / "text" hands back a parsed value
666
+ // rather than text. `String(xhr.response)` turned an ArrayBuffer, a Blob
667
+ // and a parsed JSON object alike into the literal string
668
+ // "[object Object]", which is indistinguishable from a body and is not one:
669
+ // the upload path is the reason this function exists, and a binary
670
+ // response came back as seven characters of nothing. Refused here, before
671
+ // anything is constructed, so the request is never opened.
672
+ if (options.responseType && options.responseType !== "text") {
673
+ reject(new TypeError(`xhrFetch: responseType "${options.responseType}" cannot produce a text body. ` +
674
+ `XHRResult.body is a string — use "text", or omit responseType.`));
675
+ return;
676
+ }
515
677
  const xhr = new _XHR();
516
678
  const uploadTracker = new ProgressTracker(null, {
517
679
  ...(options.onUploadProgress !== undefined ? { onProgress: options.onUploadProgress } : {}),
@@ -553,21 +715,53 @@ export function xhrFetch(url, options) {
553
715
  downloadTracker.update(e.loaded - downloadTracker.bytesLoaded);
554
716
  });
555
717
  }
556
- // Abort signal
557
- options.signal?.addEventListener("abort", () => {
718
+ // Abort signal. The listener is detached on settle: with `{ once: true }`
719
+ // it only self-removes when it actually fires, so a caller reusing one
720
+ // signal across many xhrFetch calls accumulated listeners — and each one
721
+ // kept the whole XHR + promise closures alive after the request finished.
722
+ const onAbort = () => {
558
723
  xhr.abort();
559
724
  reject(new DOMException("Request aborted", "AbortError"));
560
- }, { once: true });
725
+ };
726
+ const detach = () => options.signal?.removeEventListener("abort", onAbort);
727
+ options.signal?.addEventListener("abort", onAbort, { once: true });
728
+ if (options.signal?.aborted) {
729
+ detach();
730
+ onAbort();
731
+ return;
732
+ }
561
733
  xhr.addEventListener("load", () => {
734
+ detach();
562
735
  downloadTracker.complete();
563
736
  // Parse response headers
564
737
  const rawHeaders = xhr.getAllResponseHeaders();
565
738
  const headers = {};
566
- for (const line of rawHeaders.trim().split(/[\r\n]+/)) {
567
- const idx = line.indexOf(": ");
568
- if (idx !== -1) {
569
- headers[line.slice(0, idx).toLowerCase()] = line.slice(idx + 2);
739
+ for (const line of rawHeaders.split(/[\r\n]+/)) {
740
+ // Split on the colon, not on `": "`. The separator is the *last* space
741
+ // before the value, so `trim()` first stripped the single space of an
742
+ // empty value — `"X-Empty: \r\n"` became `"X-Empty:"`, the search
743
+ // for `": "` missed it, and the header was dropped. A response whose
744
+ // headers were all empty-valued normalized to `{}`.
745
+ const idx = line.indexOf(":");
746
+ if (idx <= 0)
747
+ continue;
748
+ const name = line.slice(0, idx).trim().toLowerCase();
749
+ if (name === "")
750
+ continue;
751
+ const value = line.slice(idx + 1).trim();
752
+ // `__proto__` is a legal header name; a [[Set]] would send it to the
753
+ // inherited setter, which ignores a primitive, and the header would
754
+ // vanish rather than overwrite anything.
755
+ if (name === "__proto__") {
756
+ Object.defineProperty(headers, name, {
757
+ value,
758
+ writable: true,
759
+ enumerable: true,
760
+ configurable: true,
761
+ });
762
+ continue;
570
763
  }
764
+ headers[name] = value;
571
765
  }
572
766
  resolve({
573
767
  status: xhr.status,
@@ -577,12 +771,32 @@ export function xhrFetch(url, options) {
577
771
  });
578
772
  });
579
773
  xhr.addEventListener("error", () => {
774
+ detach();
580
775
  reject(new TypeError("Network request failed"));
581
776
  });
582
777
  xhr.addEventListener("timeout", () => {
778
+ detach();
583
779
  reject(new TypeError("Request timed out"));
584
780
  });
585
- xhr.send(options.body ?? null);
781
+ xhr.addEventListener("abort", () => {
782
+ // Covers aborts initiated from inside the XHR (not via the signal).
783
+ detach();
784
+ reject(new DOMException("Request aborted", "AbortError"));
785
+ });
786
+ try {
787
+ xhr.send(options.body ?? null);
788
+ }
789
+ catch (err) {
790
+ // A body the implementation refuses — an invalid state, a type it will
791
+ // not put on the wire — throws straight out of the executor. The promise
792
+ // rejects with it, so the caller sees an error, but every handler above
793
+ // had already been wired and none of them runs on this path: the
794
+ // signal's `abort` listener stayed attached, holding this XHR and these
795
+ // closures alive for as long as the caller keeps the signal. The detach
796
+ // that every other exit performs happens here too.
797
+ detach();
798
+ throw err;
799
+ }
586
800
  });
587
801
  }
588
802
  // ============================================================================
@@ -598,13 +812,26 @@ const UNITS = ["B", "KB", "MB", "GB", "TB"];
598
812
  * @returns Formatted string (e.g. "1.18 MB").
599
813
  */
600
814
  export function formatBytes(bytes, decimals = 2) {
815
+ if (Number.isNaN(bytes))
816
+ return "NaN B";
817
+ if (bytes === Infinity)
818
+ return "∞";
819
+ if (bytes === -Infinity)
820
+ return "-∞";
601
821
  if (bytes === 0)
602
822
  return "0 B";
603
823
  const k = 1024;
604
824
  const dm = Math.max(0, decimals);
605
- const i = Math.floor(Math.log(bytes) / Math.log(k));
606
- const unit = UNITS[Math.min(i, UNITS.length - 1)];
607
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${unit}`;
825
+ const sign = bytes < 0 ? "-" : "";
826
+ const mag = Math.abs(bytes);
827
+ // Clamp the unit index into range. Math.log(0.5) / Math.log(1024) floors to
828
+ // -1, and Math.log of a negative or NaN is NaN — either one indexed past the
829
+ // end of UNITS and rendered "512 undefined" or "NaN undefined". A transfer
830
+ // rate below 1 byte/s is ordinary on a slow link, so formatRate — and with
831
+ // it every progress line — was affected.
832
+ const i = Math.min(Math.max(0, Math.floor(Math.log(mag) / Math.log(k))), UNITS.length - 1);
833
+ const unit = UNITS[i];
834
+ return `${sign}${parseFloat((mag / Math.pow(k, i)).toFixed(dm))} ${unit}`;
608
835
  }
609
836
  /**
610
837
  * Format a transfer rate as human-readable bytes/sec.
@@ -640,7 +867,7 @@ export function formatETA(ms) {
640
867
  * Build a human-readable progress string.
641
868
  *
642
869
  * Output format: "{loaded} / {total} ({percent}) @ {rate} ETA {eta}"
643
- * Example: "4.56 MB / 10.00 MB (45.6%) at 1.00 MB/s ETA 5s"
870
+ * Example: "488.28 KB / 976.56 KB (50.0%) @ 97.66 KB/s ETA 5s"
644
871
  *
645
872
  * @param snap Progress snapshot
646
873
  * @returns Formatted progress string
@@ -683,7 +910,10 @@ export function formatProgress(snap) {
683
910
  */
684
911
  export function throttleProgress(fn, hz = 10) {
685
912
  const minInterval = hz > 0 ? 1000 / hz : 0;
686
- let lastCall = 0;
913
+ // See ProgressTracker.lastEmitMs: a 0 baseline measures against process
914
+ // start, so the first call was dropped for the first interval of the
915
+ // process's life.
916
+ let lastCall = -Infinity;
687
917
  return (snap) => {
688
918
  const now = perfNow();
689
919
  // Always emit final snapshot