From 125af813586fe3a131542c84d7818eff5d2825c0 Mon Sep 17 00:00:00 2001 From: Ben Sully Date: Sat, 16 Nov 2024 00:38:48 +0000 Subject: [PATCH] feat: add demo page (#170) --- demo/changepoint.js | 973 +++ demo/changepoint.worker.js | 13 + demo/clustering.js | 102 + demo/clustering.worker.js | 16 + .../@bsull/augurs-prophet-wasmstan/README.md | 49 + .../augurs-prophet-wasmstan-optimizer.d.ts | 15 + .../augurs-prophet-wasmstan-types.d.ts | 268 + .../interfaces/wasi-cli-environment.d.ts | 3 + .../interfaces/wasi-cli-exit.d.ts | 4 + .../interfaces/wasi-cli-stderr.d.ts | 5 + .../interfaces/wasi-cli-stdin.d.ts | 5 + .../interfaces/wasi-cli-stdout.d.ts | 5 + .../interfaces/wasi-cli-terminal-input.d.ts | 6 + .../interfaces/wasi-cli-terminal-output.d.ts | 6 + .../interfaces/wasi-cli-terminal-stderr.d.ts | 5 + .../interfaces/wasi-cli-terminal-stdin.d.ts | 5 + .../interfaces/wasi-cli-terminal-stdout.d.ts | 5 + .../wasi-clocks-monotonic-clock.d.ts | 4 + .../interfaces/wasi-clocks-wall-clock.d.ts | 7 + .../interfaces/wasi-filesystem-preopens.d.ts | 5 + .../interfaces/wasi-filesystem-types.d.ts | 141 + .../interfaces/wasi-io-error.d.ts | 6 + .../interfaces/wasi-io-streams.d.ts | 26 + .../interfaces/wasi-random-random.d.ts | 3 + .../augurs-prophet-wasmstan/package.json | 40 + .../prophet-wasmstan.core.wasm | Bin 0 -> 2310175 bytes .../prophet-wasmstan.core2.wasm | Bin 0 -> 19152 bytes .../prophet-wasmstan.d.ts | 3 + .../prophet-wasmstan.js | 2760 ++++++++ demo/dist/@bsull/augurs/changepoint.d.ts | 271 + demo/dist/@bsull/augurs/changepoint.js | 710 ++ demo/dist/@bsull/augurs/changepoint_bg.wasm | Bin 0 -> 212237 bytes .../@bsull/augurs/changepoint_bg.wasm.d.ts | 16 + demo/dist/@bsull/augurs/clustering.d.ts | 177 + demo/dist/@bsull/augurs/clustering.js | 655 ++ demo/dist/@bsull/augurs/clustering_bg.wasm | Bin 0 -> 142210 bytes .../@bsull/augurs/clustering_bg.wasm.d.ts | 14 + demo/dist/@bsull/augurs/core.d.ts | 137 + demo/dist/@bsull/augurs/core.js | 520 ++ demo/dist/@bsull/augurs/core_bg.wasm | Bin 0 -> 129698 bytes demo/dist/@bsull/augurs/core_bg.wasm.d.ts | 11 + demo/dist/@bsull/augurs/dtw.d.ts | 225 + demo/dist/@bsull/augurs/dtw.js | 715 ++ demo/dist/@bsull/augurs/dtw_bg.wasm | Bin 0 -> 149591 bytes demo/dist/@bsull/augurs/dtw_bg.wasm.d.ts | 17 + demo/dist/@bsull/augurs/ets.d.ts | 184 + demo/dist/@bsull/augurs/ets.js | 742 ++ demo/dist/@bsull/augurs/ets_bg.wasm | Bin 0 -> 259375 bytes demo/dist/@bsull/augurs/ets_bg.wasm.d.ts | 15 + demo/dist/@bsull/augurs/mstl.d.ts | 219 + demo/dist/@bsull/augurs/mstl.js | 827 +++ demo/dist/@bsull/augurs/mstl_bg.wasm | Bin 0 -> 322132 bytes demo/dist/@bsull/augurs/mstl_bg.wasm.d.ts | 18 + demo/dist/@bsull/augurs/outlier.d.ts | 303 + demo/dist/@bsull/augurs/outlier.js | 791 +++ demo/dist/@bsull/augurs/outlier_bg.wasm | Bin 0 -> 201412 bytes demo/dist/@bsull/augurs/outlier_bg.wasm.d.ts | 20 + demo/dist/@bsull/augurs/package.json | 41 + demo/dist/@bsull/augurs/prophet.d.ts | 843 +++ demo/dist/@bsull/augurs/prophet.js | 828 +++ demo/dist/@bsull/augurs/prophet_bg.wasm | Bin 0 -> 447032 bytes demo/dist/@bsull/augurs/prophet_bg.wasm.d.ts | 15 + demo/dist/@bsull/augurs/seasons.d.ts | 171 + demo/dist/@bsull/augurs/seasons.js | 604 ++ demo/dist/@bsull/augurs/seasons_bg.wasm | Bin 0 -> 176655 bytes demo/dist/@bsull/augurs/seasons_bg.wasm.d.ts | 12 + .../@bytecodealliance/preview2-shim/LICENSE | 220 + .../@bytecodealliance/preview2-shim/README.md | 18 + .../preview2-shim/lib/browser/cli.js | 159 + .../preview2-shim/lib/browser/clocks.js | 34 + .../preview2-shim/lib/browser/filesystem.js | 286 + .../preview2-shim/lib/browser/http.js | 144 + .../preview2-shim/lib/browser/index.js | 17 + .../preview2-shim/lib/browser/io.js | 185 + .../preview2-shim/lib/browser/random.js | 56 + .../preview2-shim/lib/browser/sockets.js | 186 + .../preview2-shim/lib/io/calls.js | 127 + .../preview2-shim/lib/io/worker-http.js | 195 + .../preview2-shim/lib/io/worker-io.js | 520 ++ .../preview2-shim/lib/io/worker-socket-tcp.js | 291 + .../preview2-shim/lib/io/worker-socket-udp.js | 576 ++ .../preview2-shim/lib/io/worker-sockets.js | 371 + .../preview2-shim/lib/io/worker-thread.js | 963 +++ .../preview2-shim/package.json | 39 + .../preview2-shim/types/cli.d.ts | 23 + .../preview2-shim/types/clocks.d.ts | 5 + .../preview2-shim/types/filesystem.d.ts | 5 + .../preview2-shim/types/http.d.ts | 7 + .../preview2-shim/types/index.d.ts | 15 + .../interfaces/wasi-cli-environment.d.ts | 22 + .../types/interfaces/wasi-cli-exit.d.ts | 7 + .../types/interfaces/wasi-cli-run.d.ts | 6 + .../types/interfaces/wasi-cli-stderr.d.ts | 5 + .../types/interfaces/wasi-cli-stdin.d.ts | 5 + .../types/interfaces/wasi-cli-stdout.d.ts | 5 + .../interfaces/wasi-cli-terminal-input.d.ts | 6 + .../interfaces/wasi-cli-terminal-output.d.ts | 6 + .../interfaces/wasi-cli-terminal-stderr.d.ts | 9 + .../interfaces/wasi-cli-terminal-stdin.d.ts | 9 + .../interfaces/wasi-cli-terminal-stdout.d.ts | 9 + .../wasi-clocks-monotonic-clock.d.ts | 36 + .../interfaces/wasi-clocks-wall-clock.d.ts | 31 + .../interfaces/wasi-filesystem-preopens.d.ts | 8 + .../interfaces/wasi-filesystem-types.d.ts | 674 ++ .../wasi-http-incoming-handler.d.ts | 19 + .../wasi-http-outgoing-handler.d.ts | 23 + .../types/interfaces/wasi-http-types.d.ts | 720 ++ .../types/interfaces/wasi-io-error.d.ts | 16 + .../types/interfaces/wasi-io-poll.d.ts | 42 + .../types/interfaces/wasi-io-streams.d.ts | 237 + .../interfaces/wasi-random-insecure-seed.d.ts | 22 + .../interfaces/wasi-random-insecure.d.ts | 20 + .../types/interfaces/wasi-random-random.d.ts | 24 + .../wasi-sockets-instance-network.d.ts | 8 + .../wasi-sockets-ip-name-lookup.d.ts | 60 + .../interfaces/wasi-sockets-network.d.ts | 162 + .../wasi-sockets-tcp-create-socket.d.ts | 33 + .../types/interfaces/wasi-sockets-tcp.d.ts | 365 + .../wasi-sockets-udp-create-socket.d.ts | 33 + .../types/interfaces/wasi-sockets-udp.d.ts | 298 + .../preview2-shim/types/io.d.ts | 7 + .../preview2-shim/types/random.d.ts | 7 + .../preview2-shim/types/sockets.d.ts | 15 + .../preview2-shim/types/wasi-cli-command.d.ts | 29 + .../preview2-shim/types/wasi-http-proxy.d.ts | 13 + demo/dist/uPlot/uPlot.esm.js | 6052 +++++++++++++++++ demo/dist/uPlot/uPlot.min.css | 1 + .../worker-with-import-map/EventHandler.js | 32 + demo/dist/worker-with-import-map/Worker.js | 2 + .../WorkerWithImportMapViaBedfordsShim.js | 24 + ...rkerWithImportMapViaBedfordsShim.worker.js | 50 + .../WorkerWithImportMapViaInlineFrame.js | 72 + .../worker-with-import-map/getImportMap.js | 12 + demo/dist/worker-with-import-map/index.js | 5 + demo/dist/worker-with-import-map/node.js | 21 + demo/helpers.js | 6 + demo/index.html | 284 + demo/index.js | 11 + demo/mstl.js | 1333 ++++ demo/mstl.worker.js | 17 + demo/outlier.data.json | 1 + demo/outlier.js | 91 + demo/outlier.worker.js | 11 + demo/plugins.js | 62 + demo/prophet.js | 1326 ++++ demo/prophet.worker.js | 25 + 146 files changed, 30452 insertions(+) create mode 100644 demo/changepoint.js create mode 100644 demo/changepoint.worker.js create mode 100644 demo/clustering.js create mode 100644 demo/clustering.worker.js create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/README.md create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-optimizer.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-types.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-environment.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-exit.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stderr.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdin.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdout.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-input.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-output.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stderr.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdin.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdout.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-monotonic-clock.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-wall-clock.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-preopens.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-types.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-error.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-streams.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-random-random.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/package.json create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.core.wasm create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.core2.wasm create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.d.ts create mode 100644 demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.js create mode 100644 demo/dist/@bsull/augurs/changepoint.d.ts create mode 100644 demo/dist/@bsull/augurs/changepoint.js create mode 100644 demo/dist/@bsull/augurs/changepoint_bg.wasm create mode 100644 demo/dist/@bsull/augurs/changepoint_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/clustering.d.ts create mode 100644 demo/dist/@bsull/augurs/clustering.js create mode 100644 demo/dist/@bsull/augurs/clustering_bg.wasm create mode 100644 demo/dist/@bsull/augurs/clustering_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/core.d.ts create mode 100644 demo/dist/@bsull/augurs/core.js create mode 100644 demo/dist/@bsull/augurs/core_bg.wasm create mode 100644 demo/dist/@bsull/augurs/core_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/dtw.d.ts create mode 100644 demo/dist/@bsull/augurs/dtw.js create mode 100644 demo/dist/@bsull/augurs/dtw_bg.wasm create mode 100644 demo/dist/@bsull/augurs/dtw_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/ets.d.ts create mode 100644 demo/dist/@bsull/augurs/ets.js create mode 100644 demo/dist/@bsull/augurs/ets_bg.wasm create mode 100644 demo/dist/@bsull/augurs/ets_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/mstl.d.ts create mode 100644 demo/dist/@bsull/augurs/mstl.js create mode 100644 demo/dist/@bsull/augurs/mstl_bg.wasm create mode 100644 demo/dist/@bsull/augurs/mstl_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/outlier.d.ts create mode 100644 demo/dist/@bsull/augurs/outlier.js create mode 100644 demo/dist/@bsull/augurs/outlier_bg.wasm create mode 100644 demo/dist/@bsull/augurs/outlier_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/package.json create mode 100644 demo/dist/@bsull/augurs/prophet.d.ts create mode 100644 demo/dist/@bsull/augurs/prophet.js create mode 100644 demo/dist/@bsull/augurs/prophet_bg.wasm create mode 100644 demo/dist/@bsull/augurs/prophet_bg.wasm.d.ts create mode 100644 demo/dist/@bsull/augurs/seasons.d.ts create mode 100644 demo/dist/@bsull/augurs/seasons.js create mode 100644 demo/dist/@bsull/augurs/seasons_bg.wasm create mode 100644 demo/dist/@bsull/augurs/seasons_bg.wasm.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/LICENSE create mode 100644 demo/dist/@bytecodealliance/preview2-shim/README.md create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/cli.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/clocks.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/filesystem.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/http.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/index.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/io.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/random.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/browser/sockets.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/io/calls.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-http.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-io.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-tcp.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-udp.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-sockets.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-thread.js create mode 100644 demo/dist/@bytecodealliance/preview2-shim/package.json create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/cli.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/clocks.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/filesystem.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/http.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/index.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-environment.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-exit.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-run.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stderr.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdin.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdout.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-input.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-output.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-wall-clock.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-preopens.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-types.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-incoming-handler.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-outgoing-handler.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-types.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-error.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-poll.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-streams.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure-seed.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-random.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-instance-network.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-network.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp-create-socket.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp-create-socket.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/io.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/random.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/sockets.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/wasi-cli-command.d.ts create mode 100644 demo/dist/@bytecodealliance/preview2-shim/types/wasi-http-proxy.d.ts create mode 100644 demo/dist/uPlot/uPlot.esm.js create mode 100644 demo/dist/uPlot/uPlot.min.css create mode 100644 demo/dist/worker-with-import-map/EventHandler.js create mode 100644 demo/dist/worker-with-import-map/Worker.js create mode 100644 demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.js create mode 100644 demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.worker.js create mode 100644 demo/dist/worker-with-import-map/WorkerWithImportMapViaInlineFrame.js create mode 100644 demo/dist/worker-with-import-map/getImportMap.js create mode 100644 demo/dist/worker-with-import-map/index.js create mode 100644 demo/dist/worker-with-import-map/node.js create mode 100644 demo/helpers.js create mode 100644 demo/index.html create mode 100644 demo/index.js create mode 100644 demo/mstl.js create mode 100644 demo/mstl.worker.js create mode 100644 demo/outlier.data.json create mode 100644 demo/outlier.js create mode 100644 demo/outlier.worker.js create mode 100644 demo/plugins.js create mode 100644 demo/prophet.js create mode 100644 demo/prophet.worker.js diff --git a/demo/changepoint.js b/demo/changepoint.js new file mode 100644 index 0000000..5181325 --- /dev/null +++ b/demo/changepoint.js @@ -0,0 +1,973 @@ +import uPlot from "./dist/uPlot/uPlot.esm.js"; + +import { getSize } from "./helpers.js"; +import { legendAsTooltipPlugin } from "./plugins.js"; + +const df = { + ds: [ + 1731057600, 1731057900, 1731058200, 1731058500, 1731058800, 1731059100, + 1731059400, 1731059700, 1731060000, 1731060300, 1731060600, 1731060900, + 1731061200, 1731061500, 1731061800, 1731062100, 1731062400, 1731062700, + 1731063000, 1731063300, 1731063600, 1731063900, 1731064200, 1731064500, + 1731064800, 1731065100, 1731065400, 1731065700, 1731066000, 1731066300, + 1731066600, 1731066900, 1731067200, 1731067500, 1731067800, 1731068100, + 1731068400, 1731068700, 1731069000, 1731069300, 1731069600, 1731069900, + 1731070200, 1731070500, 1731070800, 1731071100, 1731071400, 1731071700, + 1731072000, 1731072300, 1731072600, 1731072900, 1731073200, 1731073500, + 1731073800, 1731074100, 1731074400, 1731074700, 1731075000, 1731075300, + 1731075600, 1731075900, 1731076200, 1731076500, 1731076800, 1731077100, + 1731077400, 1731077700, 1731078000, 1731078300, 1731078600, 1731078900, + 1731079200, 1731079500, 1731079800, 1731080100, 1731080400, 1731080700, + 1731081000, 1731081300, 1731081600, 1731081900, 1731082200, 1731082500, + 1731082800, 1731083100, 1731083400, 1731083700, 1731084000, 1731084300, + 1731084600, 1731084900, 1731085200, 1731085500, 1731085800, 1731086100, + 1731086400, 1731086700, 1731087000, 1731087300, 1731087600, 1731087900, + 1731088200, 1731088500, 1731088800, 1731089100, 1731089400, 1731089700, + 1731090000, 1731090300, 1731090600, 1731090900, 1731091200, 1731091500, + 1731091800, 1731092100, 1731092400, 1731092700, 1731093000, 1731093300, + 1731093600, 1731093900, 1731094200, 1731094500, 1731094800, 1731095100, + 1731095400, 1731095700, 1731096000, 1731096300, 1731096600, 1731096900, + 1731097200, 1731097500, 1731097800, 1731098100, 1731098400, 1731098700, + 1731099000, 1731099300, 1731099600, 1731099900, 1731100200, 1731100500, + 1731100800, 1731101100, 1731101400, 1731101700, 1731102000, 1731102300, + 1731102600, 1731102900, 1731103200, 1731103500, 1731103800, 1731104100, + 1731104400, 1731104700, 1731105000, 1731105300, 1731105600, 1731105900, + 1731106200, 1731106500, 1731106800, 1731107100, 1731107400, 1731107700, + 1731108000, 1731108300, 1731108600, 1731108900, 1731109200, 1731109500, + 1731109800, 1731110100, 1731110400, 1731110700, 1731111000, 1731111300, + 1731111600, 1731111900, 1731112200, 1731112500, 1731112800, 1731113100, + 1731113400, 1731113700, 1731114000, 1731114300, 1731114600, 1731114900, + 1731115200, 1731115500, 1731115800, 1731116100, 1731116400, 1731116700, + 1731117000, 1731117300, 1731117600, 1731117900, 1731118200, 1731118500, + 1731118800, 1731119100, 1731119400, 1731119700, 1731120000, 1731120300, + 1731120600, 1731120900, 1731121200, 1731121500, 1731121800, 1731122100, + 1731122400, 1731122700, 1731123000, 1731123300, 1731123600, 1731123900, + 1731124200, 1731124500, 1731124800, 1731125100, 1731125400, 1731125700, + 1731126000, 1731126300, 1731126600, 1731126900, 1731127200, 1731127500, + 1731127800, 1731128100, 1731128400, 1731128700, 1731129000, 1731129300, + 1731129600, 1731129900, 1731130200, 1731130500, 1731130800, 1731131100, + 1731131400, 1731131700, 1731132000, 1731132300, 1731132600, 1731132900, + 1731133200, 1731133500, 1731133800, 1731134100, 1731134400, 1731134700, + 1731135000, 1731135300, 1731135600, 1731135900, 1731136200, 1731136500, + 1731136800, 1731137100, 1731137400, 1731137700, 1731138000, 1731138300, + 1731138600, 1731138900, 1731139200, 1731139500, 1731139800, 1731140100, + 1731140400, 1731140700, 1731141000, 1731141300, 1731141600, 1731141900, + 1731142200, 1731142500, 1731142800, 1731143100, 1731143400, 1731143700, + 1731144000, 1731144300, 1731144600, 1731144900, 1731145200, 1731145500, + 1731145800, 1731146100, 1731146400, 1731146700, 1731147000, 1731147300, + 1731147600, 1731147900, 1731148200, 1731148500, 1731148800, 1731149100, + 1731149400, 1731149700, 1731150000, 1731150300, 1731150600, 1731150900, + 1731151200, 1731151500, 1731151800, 1731152100, 1731152400, 1731152700, + 1731153000, 1731153300, 1731153600, 1731153900, 1731154200, 1731154500, + 1731154800, 1731155100, 1731155400, 1731155700, 1731156000, 1731156300, + 1731156600, 1731156900, 1731157200, 1731157500, 1731157800, 1731158100, + 1731158400, 1731158700, 1731159000, 1731159300, 1731159600, 1731159900, + 1731160200, 1731160500, 1731160800, 1731161100, 1731161400, 1731161700, + 1731162000, 1731162300, 1731162600, 1731162900, 1731163200, 1731163500, + 1731163800, 1731164100, 1731164400, 1731164700, 1731165000, 1731165300, + 1731165600, 1731165900, 1731166200, 1731166500, 1731166800, 1731167100, + 1731167400, 1731167700, 1731168000, 1731168300, 1731168600, 1731168900, + 1731169200, 1731169500, 1731169800, 1731170100, 1731170400, 1731170700, + 1731171000, 1731171300, 1731171600, 1731171900, 1731172200, 1731172500, + 1731172800, 1731173100, 1731173400, 1731173700, 1731174000, 1731174300, + 1731174600, 1731174900, 1731175200, 1731175500, 1731175800, 1731176100, + 1731176400, 1731176700, 1731177000, 1731177300, 1731177600, 1731177900, + 1731178200, 1731178500, 1731178800, 1731179100, 1731179400, 1731179700, + 1731180000, 1731180300, 1731180600, 1731180900, 1731181200, 1731181500, + 1731181800, 1731182100, 1731182400, 1731182700, 1731183000, 1731183300, + 1731183600, 1731183900, 1731184200, 1731184500, 1731184800, 1731185100, + 1731185400, 1731185700, 1731186000, 1731186300, 1731186600, 1731186900, + 1731187200, 1731187500, 1731187800, 1731188100, 1731188400, 1731188700, + 1731189000, 1731189300, 1731189600, 1731189900, 1731190200, 1731190500, + 1731190800, 1731191100, 1731191400, 1731191700, 1731192000, 1731192300, + 1731192600, 1731192900, 1731193200, 1731193500, 1731193800, 1731194100, + 1731194400, 1731194700, 1731195000, 1731195300, 1731195600, 1731195900, + 1731196200, 1731196500, 1731196800, 1731197100, 1731197400, 1731197700, + 1731198000, 1731198300, 1731198600, 1731198900, 1731199200, 1731199500, + 1731199800, 1731200100, 1731200400, 1731200700, 1731201000, 1731201300, + 1731201600, 1731201900, 1731202200, 1731202500, 1731202800, 1731203100, + 1731203400, 1731203700, 1731204000, 1731204300, 1731204600, 1731204900, + 1731205200, 1731205500, 1731205800, 1731206100, 1731206400, 1731206700, + 1731207000, 1731207300, 1731207600, 1731207900, 1731208200, 1731208500, + 1731208800, 1731209100, 1731209400, 1731209700, 1731210000, 1731210300, + 1731210600, 1731210900, 1731211200, 1731211500, 1731211800, 1731212100, + 1731212400, 1731212700, 1731213000, 1731213300, 1731213600, 1731213900, + 1731214200, 1731214500, 1731214800, 1731215100, 1731215400, 1731215700, + 1731216000, 1731216300, 1731216600, 1731216900, 1731217200, 1731217500, + 1731217800, 1731218100, 1731218400, 1731218700, 1731219000, 1731219300, + 1731219600, 1731219900, 1731220200, 1731220500, 1731220800, 1731221100, + 1731221400, 1731221700, 1731222000, 1731222300, 1731222600, 1731222900, + 1731223200, 1731223500, 1731223800, 1731224100, 1731224400, 1731224700, + 1731225000, 1731225300, 1731225600, 1731225900, 1731226200, 1731226500, + 1731226800, 1731227100, 1731227400, 1731227700, 1731228000, 1731228300, + 1731228600, 1731228900, 1731229200, 1731229500, 1731229800, 1731230100, + 1731230400, 1731230700, 1731231000, 1731231300, 1731231600, 1731231900, + 1731232200, 1731232500, 1731232800, 1731233100, 1731233400, 1731233700, + 1731234000, 1731234300, 1731234600, 1731234900, 1731235200, 1731235500, + 1731235800, 1731236100, 1731236400, 1731236700, 1731237000, 1731237300, + 1731237600, 1731237900, 1731238200, 1731238500, 1731238800, 1731239100, + 1731239400, 1731239700, 1731240000, 1731240300, 1731240600, 1731240900, + 1731241200, 1731241500, 1731241800, 1731242100, 1731242400, 1731242700, + 1731243000, 1731243300, 1731243600, 1731243900, 1731244200, 1731244500, + 1731244800, 1731245100, 1731245400, 1731245700, 1731246000, 1731246300, + 1731246600, 1731246900, 1731247200, 1731247500, 1731247800, 1731248100, + 1731248400, 1731248700, 1731249000, 1731249300, 1731249600, 1731249900, + 1731250200, 1731250500, 1731250800, 1731251100, 1731251400, 1731251700, + 1731252000, 1731252300, 1731252600, 1731252900, 1731253200, 1731253500, + 1731253800, 1731254100, 1731254400, 1731254700, 1731255000, 1731255300, + 1731255600, 1731255900, 1731256200, 1731256500, 1731256800, 1731257100, + 1731257400, 1731257700, 1731258000, 1731258300, 1731258600, 1731258900, + 1731259200, 1731259500, 1731259800, 1731260100, 1731260400, 1731260700, + 1731261000, 1731261300, 1731261600, 1731261900, 1731262200, 1731262500, + 1731262800, 1731263100, 1731263400, 1731263700, 1731264000, 1731264300, + 1731264600, 1731264900, 1731265200, 1731265500, 1731265800, 1731266100, + 1731266400, 1731266700, 1731267000, 1731267300, 1731267600, 1731267900, + 1731268200, 1731268500, 1731268800, 1731269100, 1731269400, 1731269700, + 1731270000, 1731270300, 1731270600, 1731270900, 1731271200, 1731271500, + 1731271800, 1731272100, 1731272400, 1731272700, 1731273000, 1731273300, + 1731273600, 1731273900, 1731274200, 1731274500, 1731274800, 1731275100, + 1731275400, 1731275700, 1731276000, 1731276300, 1731276600, 1731276900, + 1731277200, 1731277500, 1731277800, 1731278100, 1731278400, 1731278700, + 1731279000, 1731279300, 1731279600, 1731279900, 1731280200, 1731280500, + 1731280800, 1731281100, 1731281400, 1731281700, 1731282000, 1731282300, + 1731282600, 1731282900, 1731283200, 1731283500, 1731283800, 1731284100, + 1731284400, 1731284700, 1731285000, 1731285300, 1731285600, 1731285900, + 1731286200, 1731286500, 1731286800, 1731287100, 1731287400, 1731287700, + 1731288000, 1731288300, 1731288600, 1731288900, 1731289200, 1731289500, + 1731289800, 1731290100, 1731290400, 1731290700, 1731291000, 1731291300, + 1731291600, 1731291900, 1731292200, 1731292500, 1731292800, 1731293100, + 1731293400, 1731293700, 1731294000, 1731294300, 1731294600, 1731294900, + 1731295200, 1731295500, 1731295800, 1731296100, 1731296400, 1731296700, + 1731297000, 1731297300, 1731297600, 1731297900, 1731298200, 1731298500, + 1731298800, 1731299100, 1731299400, 1731299700, 1731300000, 1731300300, + 1731300600, 1731300900, 1731301200, 1731301500, 1731301800, 1731302100, + 1731302400, 1731302700, 1731303000, 1731303300, 1731303600, 1731303900, + 1731304200, 1731304500, 1731304800, 1731305100, 1731305400, 1731305700, + 1731306000, 1731306300, 1731306600, 1731306900, 1731307200, 1731307500, + 1731307800, 1731308100, 1731308400, 1731308700, 1731309000, 1731309300, + 1731309600, 1731309900, 1731310200, 1731310500, 1731310800, 1731311100, + 1731311400, 1731311700, 1731312000, 1731312300, 1731312600, 1731312900, + 1731313200, 1731313500, 1731313800, 1731314100, 1731314400, 1731314700, + 1731315000, 1731315300, 1731315600, 1731315900, 1731316200, 1731316500, + 1731316800, 1731317100, 1731317400, 1731317700, 1731318000, 1731318300, + 1731318600, 1731318900, 1731319200, 1731319500, 1731319800, 1731320100, + 1731320400, 1731320700, 1731321000, 1731321300, 1731321600, 1731321900, + 1731322200, 1731322500, 1731322800, 1731323100, 1731323400, 1731323700, + 1731324000, 1731324300, 1731324600, 1731324900, 1731325200, 1731325500, + 1731325800, 1731326100, 1731326400, 1731326700, 1731327000, 1731327300, + 1731327600, 1731327900, 1731328200, 1731328500, 1731328800, 1731329100, + 1731329400, 1731329700, 1731330000, 1731330300, 1731330600, 1731330900, + 1731331200, 1731331500, 1731331800, 1731332100, 1731332400, 1731332700, + 1731333000, 1731333300, 1731333600, 1731333900, 1731334200, 1731334500, + 1731334800, 1731335100, 1731335400, 1731335700, 1731336000, 1731336300, + 1731336600, 1731336900, 1731337200, 1731337500, 1731337800, 1731338100, + 1731338400, 1731338700, 1731339000, 1731339300, 1731339600, 1731339900, + 1731340200, 1731340500, 1731340800, 1731341100, 1731341400, 1731341700, + 1731342000, 1731342300, 1731342600, 1731342900, 1731343200, 1731343500, + 1731343800, 1731344100, 1731344400, 1731344700, 1731345000, 1731345300, + 1731345600, 1731345900, 1731346200, 1731346500, 1731346800, 1731347100, + 1731347400, 1731347700, 1731348000, 1731348300, 1731348600, 1731348900, + 1731349200, 1731349500, 1731349800, 1731350100, 1731350400, 1731350700, + 1731351000, 1731351300, 1731351600, 1731351900, 1731352200, 1731352500, + 1731352800, 1731353100, 1731353400, 1731353700, 1731354000, 1731354300, + 1731354600, 1731354900, 1731355200, 1731355500, 1731355800, 1731356100, + 1731356400, 1731356700, 1731357000, 1731357300, 1731357600, 1731357900, + 1731358200, 1731358500, 1731358800, 1731359100, 1731359400, 1731359700, + 1731360000, 1731360300, 1731360600, 1731360900, 1731361200, 1731361500, + 1731361800, 1731362100, 1731362400, 1731362700, 1731363000, 1731363300, + 1731363600, 1731363900, 1731364200, 1731364500, 1731364800, 1731365100, + 1731365400, 1731365700, 1731366000, 1731366300, 1731366600, 1731366900, + 1731367200, 1731367500, 1731367800, 1731368100, 1731368400, 1731368700, + 1731369000, 1731369300, 1731369600, 1731369900, 1731370200, 1731370500, + 1731370800, 1731371100, 1731371400, 1731371700, 1731372000, 1731372300, + 1731372600, 1731372900, 1731373200, 1731373500, 1731373800, 1731374100, + 1731374400, 1731374700, 1731375000, 1731375300, 1731375600, 1731375900, + 1731376200, 1731376500, 1731376800, 1731377100, 1731377400, 1731377700, + 1731378000, 1731378300, 1731378600, 1731378900, 1731379200, 1731379500, + 1731379800, 1731380100, 1731380400, 1731380700, 1731381000, 1731381300, + 1731381600, 1731381900, 1731382200, 1731382500, 1731382800, 1731383100, + 1731383400, 1731383700, 1731384000, 1731384300, 1731384600, 1731384900, + 1731385200, 1731385500, 1731385800, 1731386100, 1731386400, 1731386700, + 1731387000, 1731387300, 1731387600, 1731387900, 1731388200, 1731388500, + 1731388800, 1731389100, 1731389400, 1731389700, 1731390000, 1731390300, + 1731390600, 1731390900, 1731391200, 1731391500, 1731391800, 1731392100, + 1731392400, 1731392700, 1731393000, 1731393300, 1731393600, 1731393900, + 1731394200, 1731394500, 1731394800, 1731395100, 1731395400, 1731395700, + 1731396000, 1731396300, 1731396600, 1731396900, 1731397200, 1731397500, + 1731397800, 1731398100, 1731398400, 1731398700, 1731399000, 1731399300, + 1731399600, 1731399900, 1731400200, 1731400500, 1731400800, 1731401100, + 1731401400, 1731401700, 1731402000, 1731402300, 1731402600, 1731402900, + 1731403200, 1731403500, 1731403800, 1731404100, 1731404400, 1731404700, + 1731405000, 1731405300, 1731405600, 1731405900, 1731406200, 1731406500, + 1731406800, 1731407100, 1731407400, 1731407700, 1731408000, 1731408300, + 1731408600, 1731408900, 1731409200, 1731409500, 1731409800, 1731410100, + 1731410400, 1731410700, 1731411000, 1731411300, 1731411600, 1731411900, + 1731412200, 1731412500, 1731412800, 1731413100, 1731413400, 1731413700, + 1731414000, 1731414300, 1731414600, 1731414900, 1731415200, 1731415500, + 1731415800, 1731416100, 1731416400, 1731416700, 1731417000, 1731417300, + 1731417600, 1731417900, 1731418200, 1731418500, 1731418800, 1731419100, + 1731419400, 1731419700, 1731420000, 1731420300, 1731420600, 1731420900, + 1731421200, 1731421500, 1731421800, 1731422100, 1731422400, 1731422700, + 1731423000, 1731423300, 1731423600, 1731423900, 1731424200, 1731424500, + 1731424800, 1731425100, 1731425400, 1731425700, 1731426000, 1731426300, + 1731426600, 1731426900, 1731427200, 1731427500, 1731427800, 1731428100, + 1731428400, 1731428700, 1731429000, 1731429300, 1731429600, 1731429900, + 1731430200, 1731430500, 1731430800, 1731431100, 1731431400, 1731431700, + 1731432000, 1731432300, 1731432600, 1731432900, 1731433200, 1731433500, + 1731433800, 1731434100, 1731434400, 1731434700, 1731435000, 1731435300, + 1731435600, 1731435900, 1731436200, 1731436500, 1731436800, 1731437100, + 1731437400, 1731437700, 1731438000, 1731438300, 1731438600, 1731438900, + 1731439200, 1731439500, 1731439800, 1731440100, 1731440400, 1731440700, + 1731441000, 1731441300, 1731441600, 1731441900, 1731442200, 1731442500, + 1731442800, 1731443100, 1731443400, 1731443700, 1731444000, 1731444300, + 1731444600, 1731444900, 1731445200, 1731445500, 1731445800, 1731446100, + 1731446400, 1731446700, 1731447000, 1731447300, 1731447600, 1731447900, + 1731448200, 1731448500, 1731448800, 1731449100, 1731449400, 1731449700, + 1731450000, 1731450300, 1731450600, 1731450900, 1731451200, 1731451500, + 1731451800, 1731452100, 1731452400, 1731452700, 1731453000, 1731453300, + 1731453600, 1731453900, 1731454200, 1731454500, 1731454800, 1731455100, + 1731455400, 1731455700, 1731456000, 1731456300, 1731456600, 1731456900, + 1731457200, 1731457500, 1731457800, 1731458100, 1731458400, 1731458700, + 1731459000, 1731459300, 1731459600, 1731459900, 1731460200, 1731460500, + 1731460800, 1731461100, 1731461400, 1731461700, 1731462000, 1731462300, + 1731462600, 1731462900, 1731463200, 1731463500, 1731463800, 1731464100, + 1731464400, 1731464700, 1731465000, 1731465300, 1731465600, 1731465900, + 1731466200, 1731466500, 1731466800, 1731467100, 1731467400, 1731467700, + 1731468000, 1731468300, 1731468600, 1731468900, 1731469200, 1731469500, + 1731469800, 1731470100, 1731470400, 1731470700, 1731471000, 1731471300, + 1731471600, 1731471900, 1731472200, 1731472500, 1731472800, 1731473100, + 1731473400, 1731473700, 1731474000, 1731474300, 1731474600, 1731474900, + 1731475200, 1731475500, 1731475800, 1731476100, 1731476400, 1731476700, + 1731477000, 1731477300, 1731477600, 1731477900, 1731478200, 1731478500, + 1731478800, 1731479100, 1731479400, 1731479700, 1731480000, 1731480300, + 1731480600, 1731480900, 1731481200, 1731481500, 1731481800, 1731482100, + 1731482400, 1731482700, 1731483000, 1731483300, 1731483600, 1731483900, + 1731484200, 1731484500, 1731484800, 1731485100, 1731485400, 1731485700, + 1731486000, 1731486300, 1731486600, 1731486900, 1731487200, 1731487500, + 1731487800, 1731488100, 1731488400, 1731488700, 1731489000, 1731489300, + 1731489600, 1731489900, 1731490200, 1731490500, 1731490800, 1731491100, + 1731491400, 1731491700, 1731492000, 1731492300, 1731492600, 1731492900, + 1731493200, 1731493500, 1731493800, 1731494100, 1731494400, 1731494700, + 1731495000, 1731495300, 1731495600, 1731495900, 1731496200, 1731496500, + 1731496800, 1731497100, 1731497400, 1731497700, 1731498000, 1731498300, + 1731498600, 1731498900, 1731499200, 1731499500, 1731499800, 1731500100, + 1731500400, 1731500700, 1731501000, 1731501300, 1731501600, 1731501900, + 1731502200, 1731502500, 1731502800, 1731503100, 1731503400, 1731503700, + 1731504000, 1731504300, 1731504600, 1731504900, 1731505200, 1731505500, + 1731505800, 1731506100, 1731506400, 1731506700, 1731507000, 1731507300, + 1731507600, 1731507900, 1731508200, 1731508500, 1731508800, 1731509100, + 1731509400, 1731509700, 1731510000, 1731510300, 1731510600, 1731510900, + 1731511200, 1731511500, 1731511800, 1731512100, 1731512400, 1731512700, + 1731513000, 1731513300, 1731513600, 1731513900, 1731514200, 1731514500, + 1731514800, 1731515100, 1731515400, 1731515700, 1731516000, 1731516300, + 1731516600, 1731516900, 1731517200, 1731517500, 1731517800, 1731518100, + 1731518400, 1731518700, 1731519000, 1731519300, 1731519600, 1731519900, + 1731520200, 1731520500, 1731520800, 1731521100, 1731521400, 1731521700, + 1731522000, 1731522300, 1731522600, 1731522900, 1731523200, 1731523500, + 1731523800, 1731524100, 1731524400, 1731524700, 1731525000, 1731525300, + 1731525600, 1731525900, 1731526200, 1731526500, 1731526800, 1731527100, + 1731527400, 1731527700, 1731528000, 1731528300, 1731528600, 1731528900, + 1731529200, 1731529500, 1731529800, 1731530100, 1731530400, 1731530700, + 1731531000, 1731531300, 1731531600, 1731531900, 1731532200, 1731532500, + 1731532800, 1731533100, 1731533400, 1731533700, 1731534000, 1731534300, + 1731534600, 1731534900, 1731535200, 1731535500, 1731535800, 1731536100, + 1731536400, 1731536700, 1731537000, 1731537300, 1731537600, 1731537900, + 1731538200, 1731538500, 1731538800, 1731539100, 1731539400, 1731539700, + 1731540000, 1731540300, 1731540600, 1731540900, 1731541200, 1731541500, + 1731541800, 1731542100, 1731542400, 1731542700, 1731543000, 1731543300, + 1731543600, 1731543900, 1731544200, 1731544500, 1731544800, 1731545100, + 1731545400, 1731545700, 1731546000, 1731546300, 1731546600, 1731546900, + 1731547200, 1731547500, 1731547800, 1731548100, 1731548400, 1731548700, + 1731549000, 1731549300, 1731549600, 1731549900, 1731550200, 1731550500, + 1731550800, 1731551100, 1731551400, 1731551700, 1731552000, 1731552300, + 1731552600, 1731552900, 1731553200, 1731553500, 1731553800, 1731554100, + 1731554400, 1731554700, 1731555000, 1731555300, 1731555600, 1731555900, + 1731556200, 1731556500, 1731556800, 1731557100, 1731557400, 1731557700, + 1731558000, 1731558300, 1731558600, 1731558900, 1731559200, 1731559500, + 1731559800, 1731560100, 1731560400, 1731560700, 1731561000, 1731561300, + 1731561600, 1731561900, 1731562200, 1731562500, 1731562800, 1731563100, + 1731563400, 1731563700, 1731564000, 1731564300, 1731564600, 1731564900, + 1731565200, 1731565500, 1731565800, 1731566100, 1731566400, 1731566700, + 1731567000, 1731567300, 1731567600, 1731567900, 1731568200, 1731568500, + 1731568800, 1731569100, 1731569400, 1731569700, 1731570000, 1731570300, + 1731570600, 1731570900, 1731571200, 1731571500, 1731571800, 1731572100, + 1731572400, 1731572700, 1731573000, 1731573300, 1731573600, 1731573900, + 1731574200, 1731574500, 1731574800, 1731575100, 1731575400, 1731575700, + 1731576000, 1731576300, 1731576600, 1731576900, 1731577200, 1731577500, + 1731577800, 1731578100, 1731578400, 1731578700, 1731579000, 1731579300, + 1731579600, 1731579900, 1731580200, 1731580500, 1731580800, 1731581100, + 1731581400, 1731581700, 1731582000, 1731582300, 1731582600, 1731582900, + 1731583200, 1731583500, 1731583800, 1731584100, 1731584400, 1731584700, + 1731585000, 1731585300, 1731585600, 1731585900, 1731586200, 1731586500, + 1731586800, 1731587100, 1731587400, 1731587700, 1731588000, 1731588300, + 1731588600, 1731588900, 1731589200, 1731589500, 1731589800, 1731590100, + 1731590400, 1731590700, 1731591000, 1731591300, 1731591600, 1731591900, + 1731592200, 1731592500, 1731592800, 1731593100, 1731593400, 1731593700, + 1731594000, 1731594300, 1731594600, 1731594900, 1731595200, 1731595500, + 1731595800, 1731596100, 1731596400, 1731596700, 1731597000, 1731597300, + 1731597600, 1731597900, 1731598200, 1731598500, 1731598800, 1731599100, + 1731599400, 1731599700, 1731600000, 1731600300, 1731600600, 1731600900, + 1731601200, 1731601500, 1731601800, 1731602100, 1731602400, 1731602700, + 1731603000, 1731603300, 1731603600, 1731603900, 1731604200, 1731604500, + 1731604800, 1731605100, 1731605400, 1731605700, 1731606000, 1731606300, + 1731606600, 1731606900, 1731607200, 1731607500, 1731607800, 1731608100, + 1731608400, 1731608700, 1731609000, 1731609300, 1731609600, 1731609900, + 1731610200, 1731610500, 1731610800, 1731611100, 1731611400, 1731611700, + 1731612000, 1731612300, 1731612600, 1731612900, 1731613200, 1731613500, + 1731613800, 1731614100, 1731614400, 1731614700, 1731615000, 1731615300, + 1731615600, 1731615900, 1731616200, 1731616500, 1731616800, 1731617100, + 1731617400, 1731617700, 1731618000, 1731618300, 1731618600, 1731618900, + 1731619200, 1731619500, 1731619800, 1731620100, 1731620400, 1731620700, + 1731621000, 1731621300, 1731621600, 1731621900, 1731622200, 1731622500, + 1731622800, 1731623100, 1731623400, 1731623700, 1731624000, 1731624300, + 1731624600, 1731624900, 1731625200, 1731625500, 1731625800, 1731626100, + 1731626400, 1731626700, 1731627000, 1731627300, 1731627600, 1731627900, + 1731628200, 1731628500, 1731628800, 1731629100, 1731629400, 1731629700, + 1731630000, 1731630300, 1731630600, 1731630900, 1731631200, 1731631500, + 1731631800, 1731632100, 1731632400, 1731632700, 1731633000, 1731633300, + 1731633600, 1731633900, 1731634200, 1731634500, 1731634800, 1731635100, + 1731635400, 1731635700, 1731636000, 1731636300, 1731636600, 1731636900, + 1731637200, 1731637500, 1731637800, 1731638100, 1731638400, 1731638700, + 1731639000, 1731639300, 1731639600, 1731639900, 1731640200, 1731640500, + 1731640800, 1731641100, 1731641400, 1731641700, 1731642000, 1731642300, + 1731642600, 1731642900, 1731643200, 1731643500, 1731643800, 1731644100, + 1731644400, 1731644700, 1731645000, 1731645300, 1731645600, 1731645900, + 1731646200, 1731646500, 1731646800, 1731647100, 1731647400, 1731647700, + 1731648000, 1731648300, 1731648600, 1731648900, 1731649200, 1731649500, + 1731649800, 1731650100, 1731650400, 1731650700, 1731651000, 1731651300, + 1731651600, 1731651900, 1731652200, 1731652500, 1731652800, 1731653100, + 1731653400, 1731653700, 1731654000, 1731654300, 1731654600, 1731654900, + 1731655200, 1731655500, 1731655800, 1731656100, 1731656400, 1731656700, + 1731657000, 1731657300, 1731657600, 1731657900, 1731658200, 1731658500, + 1731658800, 1731659100, 1731659400, 1731659700, 1731660000, 1731660300, + 1731660600, 1731660900, 1731661200, 1731661500, 1731661800, 1731662100, + 1731662400, + ], + y: [ + 58.941782641384606, 61.4012143492051, 64.873267278089, 65.00210737484994, + 65.45264151171712, 65.95495003021648, 64.50182501073763, 63.882343294117646, + 63.35379262947401, 61.10174886256031, 62.33368565110488, 62.81942437278245, + 60.51315838911392, 61.86667579723, 59.47005002246009, 62.40167144230211, + 61.03067032232143, 59.72082284134765, 60.2309294058039, 59.87017553797074, + 59.962049886015855, 59.263034078942695, 56.581702482648616, + 56.99978450816994, 57.52460710676874, 56.0642122839526, 57.04255095182851, + 58.38604873537193, 59.3028743077342, 59.81398787643947, 58.955899503812645, + 58.90034904870837, 58.57096632241609, 57.08670075531496, 57.45938183800187, + 57.85651183838962, 57.52529584010272, 57.06728987192655, 54.85784424552341, + 52.1290941896981, 50.38587553446936, 49.13251369794585, 49.52425281769374, + 49.844140817436326, 50.478618557889824, 51.04947698232064, + 51.846377864845934, 52.31363111041083, 53.7106364490877, 54.06179975630252, + 55.04609467950514, 55.635898895035794, 56.62295803773732, 57.55407281318084, + 58.11654846864302, 58.46487092766949, 60.751287518207285, 63.78229713702147, + 63.23825402445537, 62.88819820684719, 61.59939389430316, 60.92628317631497, + 60.34115069089664, 60.05453519946765, 62.127677625583566, 62.4654545235761, + 62.319671088624354, 61.15315320687896, 58.96870392561468, 56.7969475576564, + 56.6496331817616, 57.428756181267325, 57.902740807967625, 58.92673030718954, + 61.533561579118064, 61.75793354754124, 59.44487224533147, + 59.783141046374105, 60.4136151669779, 61.61639820618841, 61.39149354691877, + 62.343261569148126, 62.01404486502297, 61.04555340925346, 59.96724454357298, + 60.16648421708683, 57.400585066837856, 56.48477477661064, 56.71954919553378, + 56.1365464631964, 55.5970516966231, 54.40000096153194, 53.5464077107065, + 52.291696279956426, 51.70017640296517, 52.1621735177975, 53.117925032679736, + 51.304607045440406, 55.20102524369749, 57.18021346802056, 56.34889145222533, + 55.67545528018986, 55.10494177673255, 54.60595656956116, 57.78139942654839, + 61.15953102567694, 60.83242289775911, 60.24887366627763, 59.26642137215998, + 59.22428027349828, 56.81394618518518, 55.1748913610333, 54.72275758264168, + 56.31140458047778, 56.11255035406293, 55.07212611912543, 52.17565964588909, + 49.7171657796452, 49.03744240087146, 48.10591636756925, 47.93863257002802, + 46.12724882640834, 44.63836630182073, 44.26280591845627, 46.2228575765724, + 44.469537465997504, 44.33645224867725, 44.33251566853408, 42.20986595510427, + 41.92028944817928, 41.71831199665422, 41.7245861916349, 41.68877414799253, + 41.92460673319327, 42.24897181266907, 42.57344658146592, 41.28835529310613, + 41.582987494553386, 42.25618099891067, 43.86711691254279, 44.13454203369126, + 44.00098323288204, 43.96459825412388, 44.55543687648202, 46.22909288422037, + 46.06792572673515, 45.6231615762722, 45.39435046061961, 46.75218159687208, + 46.09182814145658, 44.46027019662309, 44.734803646358536, 44.23228959134766, + 43.85736023762839, 43.43984543399991, 41.95431058467813, 39.82435362413179, + 40.09908481170246, 39.2734482587146, 38.24451729925303, 35.27130575124494, + 34.573867623404915, 33.311464150171176, 32.1726791004273, 31.7337923600996, + 31.91568549080753, 31.84123112122627, 31.293490678710874, 33.07102675225646, + 31.685143460335787, 31.42055436048864, 32.74303876353876, 32.77405659975101, + 32.656750203843764, 32.37605881596642, 32.46261340452848, 32.11419520136425, + 31.970244375817, 33.00588622362279, 32.74630922318405, 30.316382420698464, + 30.349688515974837, 30.163864263460944, 28.420098673561185, + 28.082364815515096, 29.58655469801847, 29.366358731888685, + 30.238912492608154, 31.88830473716153, 30.31194028129799, + 30.132353911375667, 30.046600303882663, 34.19058097401184, + 37.28513394211018, 39.308624286803614, 43.04854361142235, 46.83960833048293, + 49.23149115336134, 53.09301431637098, 54.14730465266041, 53.69743973148149, + 57.48921678563647, 61.29143597032499, 62.86515233263305, 61.17298063545104, + 61.001700220651365, 61.74420187636166, 61.64219491153128, 61.8789153199502, + 62.726039725412384, 61.02416944965764, 61.08837585029568, 63.03740768930907, + 61.47598801587302, 61.43897610037348, 63.43473046421379, 64.92388822642391, + 65.08749472281941, 65.57815759640525, 63.01281398358232, 62.79659043596327, + 63.24136217421415, 62.551454640765385, 62.47728622257889, 63.04916960549331, + 67.49155650832556, 67.51796149470898, 69.68678351604163, 67.15411694624389, + 68.83769404162777, 69.52321213828473, 70.2898584441332, 70.36659194841269, + 70.34035553820416, 70.38473470424837, 70.4468026346094, 68.91012422563868, + 67.15092879785247, 66.95857087269621, 65.0285352491441, 65.43687355967879, + 63.6378514475568, 63.46421211311405, 63.31453394475568, 61.700878574618734, + 61.67495609103641, 61.87275967413632, 61.90503801385, 61.66065225894802, + 61.34794371405228, 62.1125241739807, 62.930295262662106, 62.84202956621537, + 63.17740966791162, 63.40084145230316, 63.06957849836602, 62.98815693362901, + 63.265295348316094, 63.275573142779336, 63.29825752287517, + 62.58717837270399, 61.92108601859632, 61.42413990234983, 61.04363783972015, + 61.20577782438531, 63.048192007936514, 63.10653011111111, 63.51685925420168, + 63.73387133068718, 63.579571219651285, 63.43564065624028, 63.24858606590414, + 63.15467904411764, 65.5451224572051, 65.45765017740429, 65.3193098596736, + 65.02181468152038, 66.19215736562403, 65.98091553882664, 66.67564758411142, + 66.6261610280112, 67.01699049081856, 67.77609020004668, 68.34553946916239, + 67.17997545111267, 72.45056753867102, 72.67931500766029, 74.28928530541552, + 74.47013189130097, 72.51628476291629, 72.81711342724091, 70.70095021458788, + 67.25578770580454, 64.550383674681, 62.099298550381256, 57.82816177170868, + 52.06853534126984, 48.28216973731715, 43.4808154248178, 38.60710436647992, + 35.478523425807914, 31.221674822362274, 27.37024860714285, + 28.108737625001947, 28.15131223107413, 27.21785993043884, 27.54928801727357, + 27.639918421335206, 27.727377474658294, 26.571519298552754, + 26.87344268261749, 26.890840829365075, 27.526952129551823, + 27.643341046885052, 26.96369181781889, 27.24477171615313, + 27.217402740070938, 26.79509592259453, 26.69168979752633, 29.87445278050109, + 29.768193690775757, 31.061691631963896, 31.24848130991285, + 31.56483308504513, 32.914695821817624, 33.06320423957361, 35.06238596560004, + 34.788468908263305, 35.25857857692058, 36.04501005845135, 36.40289348727679, + 33.66671082985513, 34.012964513406914, 32.615855917274914, + 32.745286923460895, 33.041953259526835, 31.89669102291933, + 32.32069525926445, 30.64644831143196, 30.30902072544256, 29.74721316666667, + 28.933836104173157, 28.573007201680674, 28.37276618063988, + 31.330456589327216, 31.66487717351385, 31.11896007541056, 31.16670996490819, + 30.81271378423592, 30.35539786423397, 30.22235192117961, 30.49643936172256, + 30.42073140701837, 30.56692719747445, 30.498835840490457, 30.13394829139434, + 25.871422598117025, 25.90165456404451, 25.91566239855665, 25.56779571449192, + 25.683696867335826, 25.59668704604733, 25.83967787177093, 25.62249248327109, + 25.753680543183943, 25.603078182928733, 25.518090556722697, + 25.482917173568968, 25.80812322626829, 26.046633642001247, + 26.14773526065982, 25.953896126828518, 25.46639586834734, + 25.562229350038265, 25.219301350529104, 25.92858950954456, + 26.121874461251167, 26.58341310597573, 27.11876501812948, + 27.430628458216617, 27.39240479240585, 27.54977591153128, 27.85640113569873, + 28.222402416163856, 28.969297804866976, 28.986252159897298, + 28.84136411204482, 28.128688149859947, 27.59490699745889, 26.96680459936197, + 28.090740671879864, 27.73263125138177, 27.324517317217165, + 27.365420190087143, 26.80050885301899, 26.283981945338603, + 25.432035400404608, 25.142107771188225, 25.480606893580777, + 26.394661709305947, 26.69638206940554, 26.99278514018636, + 25.751659767507004, 25.823896095721167, 25.98248146654217, + 25.38329604474012, 25.484708286181142, 25.713321698490503, + 26.083896173280426, 27.89615609723649, 27.813041698334885, + 26.948890917444757, 26.855702646943413, 26.787259345411965, + 26.536811101774045, 28.59014737192655, 28.78242863997821, 32.55982410620915, + 33.52181993899783, 34.224967363289764, 34.85724112340492, 33.5429106919818, + 33.54010462994086, 34.417329553373015, 34.82579095774977, 34.89051613058165, + 34.735184703587635, 33.79302936391223, 33.61412690460629, + 30.469615774647146, 29.41954305943368, 28.47523403516962, + 28.034691821106247, 28.096342958605668, 28.096548434173677, + 27.02558324115961, 26.545660061780268, 26.478144335366093, + 25.491050910986612, 26.58176742896047, 26.434493132741984, + 25.96409675088837, 25.990739329909744, 26.30730127233116, + 25.765286494678563, 25.276043285091816, 25.080518100918148, + 25.44396353051731, 25.654559058391044, 25.55643483378273, 25.26157594800874, + 24.67854260451305, 24.871254083800185, 25.38868303754735, 25.44963918069108, + 25.370991600150568, 25.79778496739807, 25.610606928026765, + 25.222127567693743, 24.96679018502892, 25.01590537208216, + 24.969871468291583, 24.484130486461247, 24.099513990411356, + 23.950029901055405, 24.814266879772937, 24.44624820122942, + 24.30254866643454, 23.840878894855532, 23.966818009726115, 25.8136181853408, + 26.19399873763033, 27.87766064589169, 28.10267066522296, 28.28611419584633, + 28.518158680283225, 28.208373767305936, 27.066216697089946, + 27.188340318938685, 27.22513779450669, 29.32667485389175, 29.23906664954871, + 27.523340993832434, 27.446801943123745, 26.068879401960785, + 26.189269175975856, 26.28474070996553, 26.3169867106287, 26.40077252264239, + 26.584643179582947, 26.63628580544014, 26.71617864690321, 24.6257514038282, + 24.805840258092125, 24.837229134765018, 24.67836042930876, + 24.31674294607843, 24.075902948801744, 24.418895667833805, + 24.59512529302832, 24.42147927787656, 24.504897010037347, + 24.655155270061083, 25.99206281535948, 26.54313218198335, + 26.353730218565204, 26.43389848054778, 26.48195167203548, + 27.819831842359168, 27.746073584171725, 27.127150239722745, + 28.371557758558986, 28.5651643524523, 35.64853879326175, 35.359286039524335, + 33.72550182896956, 33.141992913943355, 33.300564859521884, + 33.28472432955601, 33.34242750051486, 31.752449816370987, 31.82015593804856, + 31.910781530656703, 30.282363692851003, 30.163639932935325, + 24.66858756053532, 24.843062490433404, 24.93753184053066, 25.69361826929661, + 25.59489462885154, 25.517461993056205, 25.69866719148771, + 25.587189380940064, 25.535254479380644, 25.54687680625584, + 25.63473862916019, 27.002334803324384, 26.74647285978836, + 27.138632092903837, 27.80075896724245, 27.880479243213127, + 29.67188730827887, 31.29827850134616, 30.959448352217557, + 31.365305126283847, 31.283064286570184, 31.282307984827263, + 31.139530158263305, 28.694760504435106, 29.78311285776533, + 29.54640398879552, 29.49088577482104, 31.06879184430439, 29.64389716588858, + 28.205278112122627, 28.850369743619677, 28.694526801665116, + 29.00195253734827, 29.36584153057889, 29.7022303793184, 29.900588909686167, + 32.75584869786804, 33.044837205096485, 32.56056845642701, + 30.446684071106347, 31.516420630252103, 31.75506227038593, + 31.236530449502023, 31.083985961015145, 30.9813856171024, 30.72017601929661, + 30.592821195580484, 30.614213678260192, 32.17687531408093, + 32.24136498058863, 34.15946756216932, 33.92335319328185, 33.95195382920946, + 33.74520058263305, 33.77473164822596, 34.97284503874883, 36.5087513015095, + 36.55936346890194, 36.752788040917125, 36.61503265406602, + 167.97568359555754, 371.0068673414255, 369.7306167499494, + 368.75140300951546, 368.6183893338992, 368.9123254821818, 368.9947586052755, + 368.70504684671647, 368.94933989737007, 368.9703622191852, 368.887628218643, + 368.887360381108, 196.52521276316676, 28.93426535558668, 28.81139691849908, + 29.703833988207958, 29.64537687423567, 29.070201984901843, + 29.12411096025652, 28.87276699976657, 27.298809912075946, + 27.345683642770258, 27.435840973544977, 27.07700823918456, + 26.50357338671024, 26.271750729737267, 26.16740367110178, + 25.416600582295235, 25.47549882454093, 25.409440321291264, + 25.406752160130715, 25.17676685122938, 25.220370390211027, + 25.262359780257945, 25.087683763633425, 24.9263572447868, 24.82480837375016, + 24.671575401805168, 24.727373729400096, 25.159994431372542, + 25.12436251329689, 24.778072215011928, 24.753405420479304, + 25.13280539651416, 25.30410765283808, 25.29311151019296, 25.356244022564585, + 25.56376974320831, 28.47632658928313, 28.8919935427949, 30.699627437441645, + 30.394361725254186, 30.2806682872549, 30.326807255835664, + 30.576670391612204, 30.3988712237784, 30.182143482337377, + 30.153859754046067, 30.24181509342324, 30.184643256597337, + 27.635013786647995, 27.468744495331467, 25.709681902038596, + 26.098090057537743, 26.05084059190269, 26.265890401882974, + 26.173225952830947, 26.33285182617492, 26.396674022071156, + 26.39595943140243, 26.21256024828821, 26.02893681656617, 26.42799034484905, + 26.633905344382203, 26.868695515717395, 26.740567479916955, + 27.138289368036105, 27.1556690996732, 27.243268240974167, + 27.507997676937443, 27.94917445634921, 28.43161846559685, 29.03478375832556, + 30.1154276437902, 31.454790713663243, 31.23585759819484, 31.105841986616877, + 31.259715965764084, 31.00187127577765, 30.984767894646748, + 31.59195324004046, 31.4748730497977, 31.497402663149717, 31.484175445689388, + 31.79037021971229, 30.314308131574847, 30.427513049253037, + 30.81913788293781, 31.17379631403673, 31.46375984965181, 32.21376881108913, + 32.690425853018986, 32.57557332064725, 32.63087862916278, 32.68514822478992, + 32.61578767312481, 34.056495578197946, 33.879748598661685, + 33.51848457648615, 33.47539377373172, 33.42298264565827, 33.40316006932773, + 32.70932013608777, 32.38632018806411, 32.268620090024896, + 32.262813763735224, 31.819996736903292, 31.584889548996912, + 29.421305180276097, 28.746681103641453, 28.64263852723312, + 28.357950381263617, 28.01927860885465, 27.303457547230007, + 27.29029619981326, 26.831261789682536, 27.75222993930906, 27.55956858667912, + 27.58546177698089, 27.36105321374105, 29.89353984163993, 29.90290177816682, + 29.57416321512477, 29.53462468962029, 29.605486192888268, 30.53702460006225, + 30.15039301237161, 30.10056392545908, 28.676396878695925, 28.60265225357921, + 28.36623315336267, 27.394695204444183, 27.508514238741707, + 27.49194504606549, 28.722227190631813, 28.807437802365392, + 28.837752904450667, 27.919386835200747, 28.31346485675381, + 28.339559991830065, 28.91414176758481, 30.718182950746964, 30.96288670277, + 31.39987927349829, 31.041675205960164, 30.861627597805786, + 30.842963165576705, 30.733896699502026, 30.880657490351695, + 31.278509913943356, 31.094989897292248, 30.73628421442966, + 30.945704128229067, 28.84843930049797, 28.74032308364457, + 26.827305060379704, 26.530809777814117, 25.96745433769848, + 26.70902694436664, 26.595332123327108, 27.19955648451603, 27.40241477665997, + 27.243182092813708, 28.80407916728914, 28.09172298124805, + 28.850278599641435, 29.45933590834112, 29.60213473786181, 29.69968093294235, + 29.763285440525475, 30.40091395136944, 30.46298858053222, + 29.656473900560226, 35.7123254387644, 39.41904684959539, 38.91112194358855, + 37.780734158330745, 36.60510631671014, 36.55645897774666, + 36.477248157018366, 36.40950530431061, 37.792433290449615, + 34.87130448093682, 34.53407791923436, 33.26566389972364, 27.17912069421101, + 23.291100150093367, 25.235788378462495, 26.844747855023865, + 26.66167162146554, 26.45897317056555, 26.36598999073556, 26.45640035262994, + 26.011657498988484, 27.54453843464053, 27.63932139851774, 27.90914813689311, + 28.655600268129472, 28.862732023253187, 26.99278530890134, + 25.623890753267972, 25.52224758520075, 25.62527082492997, 25.76278495841828, + 25.743342223622783, 25.73690716806723, 32.13709991989379, + 32.090933199813264, 33.56757172953626, 34.71236485523204, 34.81032715507314, + 35.1649374381622, 35.181312239028955, 35.17573788741574, 35.12961727889304, + 35.036676448412706, 35.02687943230625, 33.55015249439776, 27.25423674791732, + 27.311532173124807, 25.67164091469422, 24.742856865157176, + 24.620622900560225, 26.21423230078587, 26.24000731753813, + 26.437973901571738, 26.675366786849004, 26.92306304754124, + 27.01919970860566, 27.297687830932283, 28.63369135955493, + 29.355476949521474, 30.140518654139434, 30.243248319950208, + 30.534434136771843, 29.116119235449737, 29.62016206185808, + 29.81691216269841, 30.10360221817616, 30.361658778039093, + 30.784104211328977, 30.975762430205418, 36.77112135836836, + 37.172732087768445, 38.76485314612513, 41.311528521864304, + 42.42473405852592, 44.65787876688453, 44.87982789028945, 45.50969743674137, + 46.51529072331154, 49.09481759765018, 50.87345243637617, 50.04842169826681, + 48.79592027552132, 48.78814322391311, 47.373435681449735, + 45.639956220757504, 46.902850085434174, 46.67259827661065, + 47.84420538600996, 48.42607746840959, 48.61189698368089, 47.92942267545908, + 47.93824611854965, 49.286505282757545, 56.10636960971055, 58.40124851726775, + 63.50846260087667, 64.60198887430036, 68.84760323552754, 70.70140847338936, + 71.28034889192344, 72.52377323923838, 75.0899715707283, 76.92661562822909, + 78.0363755140056, 77.91390364184562, 74.1105224606287, 73.93911394257702, + 71.87279778369125, 71.59699245541549, 70.46469318502956, 69.94974169469346, + 71.77123990343915, 72.92394358730158, 72.02950223350452, 70.81346959150326, + 70.51726972139444, 69.93821540662931, 69.7244313582322, 69.1584404818634, + 70.60772882850918, 68.25284785939931, 67.85498596699865, 67.10423107679738, + 65.09833801890757, 64.49970013289955, 64.47577398070341, 64.31248988436366, + 64.70736840444549, 62.21282998786181, 62.59501112558356, 64.77233134889512, + 62.43943597938064, 61.80706415834112, 62.94140341876752, 63.84176193360178, + 63.527693292639285, 64.43611785768752, 63.60927580757858, 63.55337024704326, + 62.770209502567695, 62.63836668160598, 62.10324386150017, 60.74766335580783, + 61.40302063414255, 61.70102791861189, 61.15667755736981, 60.55677202987862, + 60.95071886562402, 60.79940258624015, 62.55398988001867, 62.64043487885154, + 62.513895134142544, 62.94156452334268, 64.20246616160908, 63.73434094779023, + 63.5041789186897, 63.68215981823842, 63.081352581842005, 62.21168594771242, + 61.91578327777778, 62.22479744942162, 60.76577123848428, 60.189609401255325, + 60.442192638792925, 59.15886466192032, 58.1713403916122, 57.67674780368814, + 57.30455199144103, 57.66981233551198, 58.03333615958606, 58.66582123373794, + 58.70814725871459, 58.95698943938687, 59.25381329349518, 60.992397859866166, + 60.34303437223779, 59.00214022661065, 58.97391081676004, 59.282932891300966, + 59.30779942794897, 58.20297464036725, 57.185346162309365, 61.16065467779333, + 59.0160093881108, 59.1997780250266, 58.67915318664132, 57.54848831146905, + 58.521388471677575, 60.47850626023451, 62.78413240740742, 62.18300929053845, + 62.330743322477055, 63.13634000526278, 63.34266642717086, + 57.460404865157166, 58.15287767637204, 60.18254189962652, 59.67558345011283, + 58.851053555399936, 57.75813170569044, 55.74531827217553, 53.59450696584189, + 53.05560967608154, 52.03829812776222, 50.47595399958957, 49.88282322058824, + 50.31065788562091, 48.92396737005913, 46.03938439822596, 45.52425748926237, + 44.656687294506696, 43.77058376299409, 42.95362337387177, 42.38142063313103, + 43.11967918744164, 42.5542412219888, 42.71610327303079, 42.35654511411459, + 45.29705173389356, 45.19644239647992, 45.0319983889883, 44.8439058278089, + 44.78376576081544, 44.457033635465294, 45.130506187752886, 44.783461494709, + 43.52356669094304, 43.45794568783069, 43.32931773560536, 43.21553838593216, + 41.47638313702148, 41.5162273219084, 41.57160974338625, 41.66498943004979, + 41.42564631784936, 42.44019368228228, 40.828677462962965, 39.91583180088702, + 41.17843555897915, 40.855561723242175, 40.76047030812325, 38.93587633652349, + 37.7464689335924, 37.28775453004928, 37.04429753258897, 36.85626763390912, + 35.8706244274244, 37.11990762581699, 37.1863524798475, 37.638247766106446, + 36.25430491985684, 36.637866438608775, 36.35067290320573, 36.28472742047673, + 36.276860259741085, 36.489197031451006, 36.48600939698101, + 36.54901096187364, 35.638294388851946, 35.734743032368506, + 35.40631950081144, 35.94980904692275, 35.46680773502609, 35.510734755368816, + 35.95400621093993, 36.02994218028322, 35.5734647858699, 35.22393296634472, + 35.225793847105514, 35.22902017810458, 36.43711631777155, + 36.265380652661065, 38.02749138636274, 37.62971323295337, 37.42714121776961, + 36.95039002240896, 36.31661667506678, 36.0037728418145, 37.40167867849362, + 37.02681000169368, 36.31722928446611, 35.26668413694367, 33.25957250778089, + 32.782263221397315, 30.39656745066916, 30.02428459228201, + 29.808934232251165, 29.567904900871465, 29.517057490118276, + 29.230555831974872, 27.45702673941799, 29.05700840811612, + 29.236244849408656, 29.20064219179894, 29.138752161064428, + 30.55835784529452, 30.565500675039317, 33.54320870417056, 33.51730989534703, + 33.635564918067224, 33.004995154450675, 34.915940982337375, + 34.8645192404295, 34.962203594104686, 34.69690704855276, 34.74498398177004, + 34.892509737550576, 33.568477973070344, 31.96602754477452, + 30.38308253337743, 30.25826683945106, 31.729319230443384, 32.42589775023671, + 30.713313286570187, 31.00019012240058, 29.35558868495176, + 29.330642955493307, 29.366665381535302, 29.27969271257392, + 30.64566654684096, 30.65363044592281, 39.37223321623095, 39.28191009414877, + 38.753450656215634, 39.75796137597261, 39.79561021078431, + 39.678051907563024, 39.577788802754434, 39.58092119654594, 39.4433955567227, + 39.436668274743234, 38.81424196817616, 39.86047494429992, + 31.426467238717716, 34.84665992717088, 33.525482491129786, + 32.92565040461926, 34.15261885869904, 34.488853953859326, 34.53786150140056, + 34.362719461251174, 34.41639849393091, 34.43380485776533, + 34.623252674369745, 33.655528133262656, 36.13845576322751, + 33.802046939153435, 34.89278748630045, 35.413480934951764, + 34.954698636009965, 35.625287723467174, 36.51973239729225, + 37.450948705401885, 38.15702267880097, 38.81035162729536, 37.81278832454093, + 38.92543132937419, 37.371204515795206, 37.57897065985545, 37.5870592175336, + 37.909553840578106, 38.13556618074749, 38.30226780475931, 38.52199178742609, + 38.90891580446623, 42.505845184796144, 42.78081238779957, 43.12959857388215, + 44.12439770197246, 47.65035948605859, 49.19885042156863, 50.38835815336135, + 50.44726838511912, 51.9128476215375, 53.77740473965141, 57.88696059803921, + 58.28408677824463, 56.1891823251634, 58.838405519792005, 60.59668358099908, + 59.749744590570856, 67.96977563499844, 68.4754641506964, 72.7640670121382, + 73.84499798910674, 77.94533183673296, 79.95454370261439, 80.2316089782135, + 81.43727749883288, 84.3028777342048, 83.64266997378787, 84.22314380166446, + 83.60827409671646, 77.94086393572985, 77.80224571778712, 77.51650341492895, + 76.08414368464052, 73.88129486301938, 70.6678930357921, 70.66055579944887, + 70.70454495596016, 73.05540970032096, 73.10487307589875, 73.38420832965149, + 74.77042171646437, 84.89224811056647, 84.41051367320262, 82.90167784049174, + 84.00019356092437, 83.80854574719886, 85.27219799299719, 83.38851990071583, + 83.86115079077187, 80.41423783208838, 80.70107812542602, 80.10656297681884, + 75.80064022704637, 67.24896396349013, 66.77399559897293, 66.97918531131342, + 65.4202743683493, 66.70486418922995, 67.21564541121748, 69.06087762978525, + 68.09926675521321, 69.12133685941293, 70.44380782819795, 72.39286813881108, + 73.71551038725491, 78.3382525890912, 80.52514818043885, 80.5624145053688, + 81.96690939464675, 82.28206573225054, 83.05897434466924, 91.95171362200436, + 95.1384200506536, 93.80487738390912, 92.0733422263461, 90.26234991919613, + 89.49557513475723, 88.74779996055089, 85.54380739160443, 85.22927167662621, + 84.46578751268284, 83.64410646506381, 82.41546343734049, 71.95527575706764, + 69.84468479388423, 70.19614451929661, 70.47914236150017, 70.07942907290695, + 68.09042342408121, 65.67059008169934, 66.48682310414917, 66.28897753485839, + 65.93564506348238, 65.54596158761284, 65.37046544677871, 65.41060497743543, + 65.36542293487396, 65.2823720484555, 66.71116757057268, 66.95735758224401, + 67.35772266573296, 66.74329906945937, 65.79714311266729, 65.89994935294118, + 65.63666966985684, 67.67334157049487, 67.836301411637, 67.20812611865858, + 67.46182863554311, 67.55566999175227, 65.60759811266729, 65.14141364130096, + 65.42029407376285, 65.92727871747589, 65.76574962114846, 65.75693996264978, + 65.89704954933086, 63.01588652155635, 63.2164553084345, 62.25522925507515, + 61.36306977116403, 61.112000663709935, 60.03933099937753, + 59.525393220070825, 58.47132296226268, 60.8824291346094, 60.69227316721133, + 59.97555997361363, 59.60740559718331, 59.14059838148992, 60.51111946840959, + 63.26800193798631, 62.444801999766575, 60.98960054256148, 60.89585142873807, + 61.13580467359166, 60.32196394117646, 57.94389530523912, 57.498850768351545, + 56.65123618892263, 57.466516641067535, 57.59612670972482, 53.52083653913788, + 49.92162164791472, 50.59517709866169, 51.45122667094134, 52.44057019024277, + 52.02298722743543, 51.49452014096055, 50.16482355880475, 50.27219635729848, + 52.23875164321771, 52.72057024929972, 52.186335688337095, 53.85078983255525, + 57.95230559679428, 56.58441200932478, 55.543840993597, 54.604034451136016, + 55.26226071663199, 55.88339294615624, 59.51149885294117, 59.445994397992536, + 57.54360589891069, 55.4084502980859, 54.20425149361967, 55.44909533442266, + 52.63800145992841, 53.14527025249119, 52.82843435916589, 51.903411534547146, + 53.329149975648455, 53.14904358970199, 50.2158097787893, 49.91541920732499, + 49.76502442966076, 49.25195724429856, 49.20558479217242, 47.09368758605664, + 50.2836940274024, 51.38318088857766, 51.852124594460015, 51.29033809579726, + 50.29197352521009, 49.35292301368399, 50.58611101037884, 50.78043721186394, + 50.2892250182113, 50.18209551271658, 49.77714393846742, 50.06783223615001, + 45.475963166062655, 43.501753086991016, 42.32951829435108, + 41.12116830399937, 41.952854809860106, 41.37924966728914, 41.11679179715219, + 40.221658253267975, 40.033264176121634, 39.29786039534703, + 39.150173641366464, 37.880376916822286, 38.10787700248988, + 38.069986997055686, 38.03616762608673, 37.74939185898628, 35.67170326518265, + 35.67166010776533, 34.215697417600374, 33.863293564425774, 33.8710783300913, + 34.47444615164955, 34.19627132889823, 31.93123144154736, 31.51503614433551, + 31.430533554407884, 31.52292545677716, 31.72270481314452, 31.68434308986997, + 30.643492731451012, 31.422503403904717, 31.54364519537815, + 32.97945351626206, 32.09106557850918, 32.51509766192032, 32.78662126691695, + 34.88690979820846, 34.89524456022409, 34.86384637119126, 34.83103647307812, + 36.60204773008092, 35.78238173154956, 35.58713857275132, 35.89494914184563, + 34.22695137968738, 34.817709462029256, 34.22913031528562, 34.08001404147215, + 31.81090739130423, 33.28998705687831, 33.56757137892935, 34.43609170232276, + 32.650412622648965, 33.50914697481477, 40.68146275925927, 40.23946413235294, + 40.189848912392456, 43.018025688898256, 44.83088308955805, + 45.39123737807347, 45.65184970269219, 44.202353398615, 42.95948439712345, + 42.77080997134234, 42.81834528797335, 42.53432603804856, 37.14875908839091, + 37.07144507796452, 38.66145624876745, 36.6166178488173, 35.05683016728914, + 35.17504472983071, 35.5577409020386, 35.65395198693111, 35.728732114067846, + 35.64664281437368, 35.18249199486461, 32.553500385299955, + 33.791290649626525, 36.37205868464053, 35.59034294732337, + 35.375952764705886, 36.359304614997605, 36.408508261360105, + 36.56257547936833, 36.79242104387385, 37.07023584889511, 37.477788241508456, + 37.64635425645814, 37.37077195652468, 37.08751032741986, 40.48640016657202, + 40.45368728586213, 40.684695831621546, 41.95768085239652, 42.44710521560846, + 42.54586578594903, 44.05936949943703, 44.77768222300031, 51.61930856318084, + 52.30349483971367, 54.2194923752974, 59.30951685185187, 56.8852512412854, + 56.91785076307896, 56.32245909188836, 56.389188469654535, 57.29546919930157, + 57.924161637632274, 60.02964748057662, 61.37193277288966, 57.69562169273265, + 60.53251689301276, 59.464692957019146, 63.12458329388423, 63.36229811267508, + 66.16742958169937, 67.0129253036433, 68.01126403485839, 69.81377594063183, + 71.92926783545363, 72.86965780539994, 75.709011511399, 74.35899236951447, + 73.64436570217654, 72.72050026416122, 70.29158438328665, 70.30066427998675, + 70.26333816230937, 70.64851840999111, 72.07432751216943, 73.94300101813403, + 75.24438390587086, 80.94983536313156, 79.47396430112045, 81.40107309133876, + 84.60480214683133, 85.92885203042329, 87.75917896615312, 88.7043711887644, + 90.92541296595212, 94.21867188109438, 94.89253788019197, 98.03532039114532, + 97.20335816931218, 90.57957583761348, 89.63833870852784, 89.42519494042257, + 87.9220975834316, 88.04421799304582, 87.9305035979614, 88.96270391059758, + 87.42257991024711, 85.81284543020541, 82.2672105540377, 76.52946124995267, + 77.37542551517275, 76.52923633566371, 75.96934396536261, 76.41080541011063, + 74.48588791651105, 72.98796894940152, 68.94490498861315, 64.57534028727046, + 62.83434032089363, 62.49756141962341, 65.24541220345884, 65.84552778709215, + 63.37053850096537, 62.914075454782655, 61.8861722303708, 60.27545054209461, + 59.94496026633987, 60.10339412955183, 65.8332240710123, 66.12245925389045, + 66.4947896573296, 65.57055588527207, 63.05949800280112, 60.72874770113601, + 63.38846142970097, 65.33207502938039, 66.35951396280734, 67.33058442110178, + 68.25886793207285, 67.39284609824416, 63.97401929243114, 65.1474684362185, + 66.39107808544975, 68.16461503183403, 68.24979246276774, 71.47740031765295, + 69.72238956907563, 68.77372398911847, 67.95070637567402, 67.56619200057578, + 68.28761648981127, 69.31030824000933, 69.34294309391537, 68.76732993416395, + 66.9572571888422, 66.03408723004138, 65.41371861904761, 63.59659814371304, + 62.3381917567655, 63.21724207948439, 62.87676603131008, 62.69375574836601, + 61.02520361476227, 62.13759892971002, 61.818684573918446, 63.05171037301587, + 63.92025435511982, 63.52840257485216, 64.26932764752569, 63.54378167958294, + 63.62177406987239, 62.1276899545596, 61.53537786358868, 60.105693186507935, + 58.85247740021469, 54.59344062620604, 51.81005909991644, 49.46050815140186, + 48.09565175824774, 46.58321739845938, 45.557014720354815, 44.15489430228759, + 43.44893412603356, 42.153459738951135, 41.20027848373794, 40.383662881108, + 39.80972071125117, 40.44132491051976, 40.94475606620112, 40.92368033893557, + 40.19507129396202, 41.00824337141989, 41.95370813725491, 41.7258462981514, + 41.22401867794896, 41.600697784391535, 41.87053676766262, + 42.308606485371925, 42.86273525560224, 42.62560773588676, 42.04721893211991, + 41.99055057461874, 42.70473409259259, 41.82934616073894, 39.86715138173047, + 40.01469590740806, 39.933404875194526, 41.73471642516664, 42.15094059159212, + 41.74715187488329, 42.48585353112357, 41.11295175267923, 41.41937420323816, + 41.586291549330845, 40.82558263320884, 41.15513645759482, 41.38137685740742, + 41.44751150879241, 41.182540448490506, 38.98132392094615, 38.55056628765952, + 38.1563098304544, 40.466936740740735, 42.12426137208217, 41.800500895500704, + 41.628062295555175, 41.83972824144102, 41.024184906184566, + 40.56802455174292, 39.97173523051796, 39.825902613601, 39.638428010280506, + 39.25890658423916, 37.49532800809212, 35.40822237905515, 33.77938201027077, + 34.07153581224712, 32.98805669319691, 32.33313402497666, 33.90932074431995, + 33.461484364845944, 33.14846937176444, 32.57558046926549, + 32.033502467086834, 31.585608652738877, 31.379728202370572, + 30.595623699857068, 29.583789674525367, 29.141038856297428, + 28.906070043572985, 29.33166817412011, 28.65713721204692, 28.83918572938064, + 31.542676217320263, 35.6824375070028, 35.63835173902894, 35.55564637924837, + 35.18754695339247, 35.099817366701686, 36.47387542669748, 39.34646677850335, + 39.2476882630719, 42.251757193161545, 44.77343211698505, 47.75746887153751, + 47.30174245860567, 46.64911654061625, 50.42361017561471, 53.750401697012144, + 57.26681321607533, 61.11423897743541, 62.23654784764239, 63.17392446498599, + 67.02292871973235, 67.31418536509692, 66.45253171164022, 67.07112974976658, + 67.08110396394012, 68.63709511531279, 68.73164804325138, 70.4117538225957, + 70.77863080182073, 71.68205008815748, 71.93089939853719, 71.56719910792096, + 71.42924412324932, 71.53372387542795, 72.04722060045128, 72.12096745908482, + 71.84575986122329, 71.00621946234048, 69.3275538058668, 69.36908263826643, + 69.33878674284158, 67.78862996364964, 69.6290785883131, 74.74669202555697, + 78.4419233594726, 78.1319776974855, 78.12244398731715, 79.12803252894491, + 79.71831571493043, 79.88780449875506, 79.90000948731716, 83.07104673454262, + 85.55520300038906, 88.51229336749145, 88.03467910963273, 86.72255432659861, + 83.4889352221444, 83.46879530184343, 84.11216387480547, 82.55285606084657, + 82.78167455385609, 83.65337458815749, 86.17937478854653, 85.77316770214753, + 82.75080186083127, 80.75408159867662, 77.28260874009996, 76.778130477202, + 78.7020968504513, 80.74978418751945, 81.30041404232803, 82.28961432346134, + 82.16950690141611, 80.86113363130123, 78.94828889230729, 75.57485663166305, + 76.1405767454884, 75.77443419786803, 75.93137310257504, 75.16312302556737, + 72.05518293378462, 71.79132955274342, 71.65290237324282, 72.0775570790532, + 71.79884099789916, 74.27480590017117, 75.82510005539996, 77.48215899198568, + 79.9555778191721, 80.88613351558317, 81.63009184490937, 88.39443389355742, + 89.85239164013385, 90.2449214545596, 89.75592318338066, 92.07241951704016, + 92.42585906733972, 89.84932014814814, 91.59030327372912, 92.24589612721758, + 92.26519351805167, 94.69319383869632, 93.45785409396656, 94.34298702863369, + 95.00588737820247, 99.09234054917523, 102.1099292877373, 101.29584735628696, + 101.4650841003735, 98.9565703846872, 97.84666118785924, 100.03411527303145, + 99.71810167429194, 98.58181522490922, 97.26160856551508, 94.58582210281732, + 95.96039505016016, 95.67660684014, 93.08480004628268, 94.0523651154684, + 94.94608922642392, 98.77257121620828, 100.14045546142172, 98.18673863390912, + 97.83362865974166, 98.24863557446312, 99.24458833108864, 99.76630156778648, + 103.36313139386868, 102.76135364189946, 104.78213266160908, + 105.6462991265069, 108.40881220331464, 109.5156007946623, 110.0605955017118, + 110.8951857722378, 111.54045595274148, 112.2054114720666, + 112.07847618594514, 111.384385265873, 108.00586338764396, + 106.13334230166512, 104.63891643923124, 104.12346435060692, + 102.6052051004902, 102.36271676758416, 98.42468922061308, 94.07094486819172, + 89.91012335636476, 85.3427096014628, 80.49777434586056, 76.31430633986928, + 72.96930617451758, 68.99549531154683, 65.25759172634609, 62.015357591425456, + 57.74361547976968, 54.28972953501401, 57.463993460452976, 57.66665648777104, + 59.36208722782447, 59.820028324229696, 60.04673916736696, 61.61811523592308, + 65.27785400451292, 71.28195219016494, 71.73486542397228, 71.45578071209398, + 71.54414195105821, 70.80141558652349, 71.78331107796451, 74.0996245096483, + 73.42858544032057, 74.53617187013694, 73.89247280213196, 72.69917398576096, + 71.47718137047023, 70.76499726034858, 70.90185466993464, 69.75498708060678, + 68.85446331621537, 68.56731058302209, 67.6082359671627, 66.09136096910986, + 64.95564390157175, 64.11129178623106, 64.40140520809993, 64.57831236686896, + 63.67520080283224, 60.40030193474104, 61.81779499073945, 62.78418401844071, + 63.09509561212264, 64.1338688784625, 62.95450522728434, 65.13940054338369, + 67.7046758005758, 68.11130878205728, 67.80915445681605, 68.41966301259531, + 69.00077427801122, 68.53229764505677, 67.3744322489885, 66.63894223016786, + 66.31748833761282, 66.84987036770869, 68.22550531808278, 67.90387261057293, + 67.10079870090257, 65.72669948160208, 64.87088270276811, 62.90964166111501, + 62.66474011780269, 64.28728267112584, 62.53005224385311, 61.81442400820431, + 60.8892435515108, 58.26320971366324, 56.66705199112978, 56.44600652046374, + 54.01330040234982, 52.77628593098351, 52.09951400303456, 50.906674452614375, + 50.74788118502956, 49.3047146678338, 49.28551040943045, 49.03071368098351, + 50.14675467429195, 52.12894355197634, 49.9237270995552, 46.21712937916018, + 45.48083349290063, 45.14146651136011, 44.76715720074697, 44.09508905096482, + 41.30538147564582, 40.391059152661065, 39.33920542071274, 37.54287406862745, + 36.54360948731715, 34.4834902867258, 33.953342767896046, 35.493810059134766, + 35.67961765841892, 37.10730947891378, 37.047075980547774, 36.87042633846872, + 37.95535782436651, 38.3372187425382, 39.33187104177041, 38.87567552233115, + 39.89612223342671, 39.25738163235294, 39.81165674664451, 38.20584080625584, + 36.82361148979277, 37.75863226361656, 37.63058887729537, 39.28845601719577, + 39.41264287752879, 39.49306161147033, 39.22030942538126, 39.4232572653215, + 38.13154584530488, 38.30870127115559, 38.26777612317149, 38.197741048630576, + 37.42221340916825, 37.08795553112356, 37.11733502069716, 35.58944113071895, + 33.21115506198158, 32.71018058537794, 32.71126606981339, 32.27677209194291, + 31.37684332547463, 30.47793979162776, 30.231008690631807, + 31.519063041975965, 31.08995375516133, 30.688337014039327, + 30.19535742281357, 29.748684731346412, 33.49681074489181, 33.11470567842132, + 32.360823065904135, 32.3717101887644, 32.376120132703086, + 32.067723218176155, 32.64748978711485, 30.848150442032374, + 30.895090073451605, 30.67191927147526, 30.28397113095238, 29.62509886203574, + 27.04580800194523, 28.573882694211022, 28.75442877380952, 28.53420904614068, + 28.581396868269533, 28.60005727567693, 28.98785046847184, + 28.972493470821664, 28.793840506069092, 28.71008912090725, + 29.469697687518806, 29.533434946908397, 30.132508398070343, + 28.811620310535325, 30.041922412464984, 29.913341684018057, + 33.077050821468774, 32.650952968720816, 32.12160525416278, + 32.243195058198175, 33.85710746774101, 33.85154251655141, 34.41782409136447, + 35.547615383521375, 34.89337270062882, 34.49490404522942, 33.21781021631557, + 33.29528707889823, 29.959086236461253, 29.471326982415185, + 29.50602077067121, 29.661144270481905, 29.722472580205423, + 29.814704644646746, 28.24768315499533, 32.18652016713352, 31.90653717065762, + 36.76875862511672, 37.97012723171491, 37.96046090821558, 38.02652311336757, + 39.60658159648303, 39.92862221367111, 41.33936914359571, 39.61579750824775, + 39.70889278657019, 41.23625718164446, 36.022337141300966, 37.42948003408031, + 33.099742921879866, 31.872254375116714, 31.78061327537933, + 31.88511384362709, 30.193049749455337, 30.48629381849518, + 28.956020887254905, 29.23615399921219, 29.104818136579198, + 27.475442283989857, 29.829900534562974, 29.99795566920277, + 30.779723704407147, 31.925564469977093, 32.872247076059395, + 33.32356896851442, 32.93503223401768, 33.22877910152219, 33.20909647437265, + 33.13862035434174, 33.13556479618023, 32.579469712807345, + 30.317214934860218, 29.70873584796141, 28.958531960002983, + 28.73607674159664, 28.854713778555865, 29.590038155384374, + 30.964432111500155, 32.35751750621953, 32.962270371381884, + 33.67005804614068, 34.2775095392131, 36.551716396514166, 44.0275391004902, + 45.54029454022721, 46.29541601330533, 46.10413422191099, 47.22068951649549, + 48.65907166160909, 47.27789647407264, 47.77737888655463, 48.6661289221911, + 49.09561334352631, 50.93133009230407, 48.32997531207233, 48.545629514044506, + 51.37972874606872, 58.06008107415189, 59.07194619950202, + ], +}; + +const worker = new Worker("./changepoint.worker.js", { + type: "module", +}); + +function highlightChangepointsPlugin(ds, cps) { + return { + hooks: { + drawClear: [ + (u) => { + const { ctx } = u; + const { height, top } = u.bbox; + u.ctx.save(); + let color = "white"; + u.ctx.fillStyle = color; + + function highlightAt(from, to) { + u.ctx.fillRect(from, top, to - from, height); + } + + let left = u.valToPos(ds[0], "x", true); + for (const cp of cps.indices.slice(1)) { + const right = ds[cp]; + const rightPos = u.valToPos(right, "x", true); + highlightAt(left, rightPos); + left = rightPos; + color = color === "lightgrey" ? "white" : "lightgrey"; + u.ctx.fillStyle = color; + } + u.ctx.restore(); + }, + ], + }, + }; +} + +function run() { + let start; + + worker.onmessage = (e) => { + if (e.data === "ready") { + start = performance.now(); + worker.postMessage(df); + } else { + const changepoints = e.data; + const elapsed = (performance.now() - start).toFixed(0); + const uPlotOpts = { + series: [ + {}, + { + label: "y", + stroke: "red", + width: 1, + }, + ], + plugins: [ + highlightChangepointsPlugin(df.ds, changepoints), + legendAsTooltipPlugin(), + ], + ...getSize(), + }; + + const data = [df.ds, df.y]; + const u = new uPlot( + uPlotOpts, + data, + document.getElementById("changepoint-plot"), + ); + window.addEventListener("resize", () => { + u.setSize(getSize()); + }); + document.getElementById("changepoint-title").innerText = + `Changepoint detection with a Bayesian Normal Gamma - done in ${elapsed}ms`; + } + }; +} + +export default run; diff --git a/demo/changepoint.worker.js b/demo/changepoint.worker.js new file mode 100644 index 0000000..6b38ceb --- /dev/null +++ b/demo/changepoint.worker.js @@ -0,0 +1,13 @@ +import initChangepoint, { + ChangepointDetector, +} from "./dist/@bsull/augurs/changepoint.js"; + +await initChangepoint(); + +self.onmessage = (e) => { + const { y } = e.data; + const cpd = new ChangepointDetector("normal-gamma"); + const cps = cpd.detectChangepoints(y); + self.postMessage(cps); +}; +self.postMessage("ready"); diff --git a/demo/clustering.js b/demo/clustering.js new file mode 100644 index 0000000..4f3e060 --- /dev/null +++ b/demo/clustering.js @@ -0,0 +1,102 @@ +import uPlot from "./dist/uPlot/uPlot.esm.js"; + +import { getSize } from "./helpers.js"; +import { legendAsTooltipPlugin } from "./plugins.js"; + +function setUpPlot(data) { + const opts = { + ...getSize(), + series: [ + {}, + ...data.slice(1).map((_, i) => { + return { + label: `${i + 1}`, + stroke: "black", + width: 1, + }; + }), + ], + plugins: [legendAsTooltipPlugin()], + }; + const u = uPlot(opts, data, document.getElementById("clustering-plot")); + window.addEventListener("resize", () => { + u.setSize(getSize()); + }); + return u; +} + +class ClusteringWorker { + constructor() { + this.worker = new Worker("./clustering.worker.js", { type: "module" }); + this.dataPromise = fetch("./outlier.data.json").then((res) => res.json()); + this.dataPromise.then((data) => { + this.data = data.data; + }); + } + + static create = () => { + return new Promise((resolve, reject) => { + const worker = new ClusteringWorker(); + worker.worker.onmessage = (e) => { + if (e.data === "ready") { + worker.dataPromise.then(() => resolve(worker)); + } else { + reject(); + } + } + }) + } + + cluster = async (dtwOpts, dbscanOpts) => { + return new Promise((resolve, reject) => { + const start = performance.now(); + this.worker.postMessage({ + dtwOpts, + dbscanOpts, + data: this.data.slice(1).map(arr => new Float64Array(arr)), + }); + this.worker.onmessage = (e) => { + const elapsed = (performance.now() - start).toFixed(0); + resolve({ clusterLabels: e.data, elapsed }); + }; + }); + } +} + +async function main() { + const worker = await ClusteringWorker.create(); + + const u = setUpPlot(worker.data); + async function runClustering(dtwOpts, dbscanOpts) { + const { clusterLabels, elapsed } = await worker.cluster(dtwOpts, dbscanOpts); + clusterLabels.forEach((cluster, i) => { + const seriesIdx = i + 1; + u.delSeries(seriesIdx); + u.addSeries({ + label: `${i} (cluster ${cluster})`, + stroke: cluster === -1 ? "black" : cluster === 0 ? "blue" : cluster === 1 ? "red" : "yellow", + width: 1, + }, seriesIdx); + }); + u.redraw() + document.getElementById("clustering-title").innerText = `Clustering with DBSCAN - done in ${elapsed}ms`; + } + const dtwOpts = { window: 2 }; + const dbscanOpts = { epsilon: 5000, minClusterSize: 2 }; + runClustering(dtwOpts, dbscanOpts); + + document.getElementById("clustering-dtw-window").addEventListener("change", function() { + dtwOpts.window = parseFloat(this.value); + runClustering(dtwOpts, dbscanOpts); + }); + document.getElementById("clustering-dbscan-epsilon").addEventListener("change", function() { + dbscanOpts.epsilon = parseFloat(this.value); + runClustering(dtwOpts, dbscanOpts); + }); + document.getElementById("clustering-dbscan-min-cluster-size").addEventListener("change", function() { + dbscanOpts.minClusterSize = parseInt(this.value); + runClustering(dtwOpts, dbscanOpts); + }); +} + +export default main; diff --git a/demo/clustering.worker.js b/demo/clustering.worker.js new file mode 100644 index 0000000..c85c0bb --- /dev/null +++ b/demo/clustering.worker.js @@ -0,0 +1,16 @@ +import initDtw, { Dtw } from "./dist/@bsull/augurs/dtw.js"; +import initClustering, { + DbscanClusterer, +} from "./dist/@bsull/augurs/clustering.js"; + +await Promise.all([initDtw(), initClustering()]); + +self.onmessage = (e) => { + const { dtwOpts, dbscanOpts, data } = e.data; + const dtw = Dtw.euclidean(dtwOpts); + const distanceMatrix = dtw.distanceMatrix(data); + const clusterer = new DbscanClusterer(dbscanOpts); + const labels = clusterer.fit(distanceMatrix); + self.postMessage(labels); +}; +self.postMessage("ready"); diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/README.md b/demo/dist/@bsull/augurs-prophet-wasmstan/README.md new file mode 100644 index 0000000..8418145 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/README.md @@ -0,0 +1,49 @@ +# Prophet Stan model, compiled to WASM + +This is a WASM-compiled version of the [Prophet](https://facebook.github.io/prophet/) Stan model, for use with the [@bsull/augurs](https://github.com/grafana/augurs) library. + +## Usage + +```js +import { Prophet } from '@bsull/augurs'; +import { optimizer } from '@bsull/augurs-prophet-wasmstan'; + +// Create some fake data. +// `ds` must be timestamps since the epoch, in seconds. +const ds = [1704067200, 1704871384, 1705675569, 1706479753, 1707283938, 1708088123, + 1708892307, 1709696492, 1710500676, 1711304861, 1712109046, 1712913230, +]; +const y = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0]; +const trainingData = { ds, y }; + +// Create a Prophet model and fit it to the training data. +const prophet = new Prophet(); +prophet.fit(trainingdata); +// Predict for the training set. +prophet.predict(); +// Predict for a new time point. +prophet.predict({ ds: [ 1713717414 ]}) +``` + +See the documentation for `@bsull/augurs` for more details. + +## Troubleshooting + +### Webpack + +The generated Javascript bindings in this package may require some additional Webpack configuration to work. +Adding this to your `webpack.config.js` should be enough: + +```javascript +{ + experiments: { + // Required to load WASM modules. + asyncWebAssembly: true, + }, + resolve: { + fallback: { + fs: false, + }, + }, +} +``` diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-optimizer.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-optimizer.d.ts new file mode 100644 index 0000000..491988d --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-optimizer.d.ts @@ -0,0 +1,15 @@ +export namespace AugursProphetWasmstanOptimizer { + /** + * Optimize the initial parameters given the data, returning the + * optimal values under maximum likelihood estimation. + */ + export function optimize(init: Inits, data: DataJson, opts: OptimizeOpts): OptimizeOutput; +} +import type { Inits } from './augurs-prophet-wasmstan-types.js'; +export { Inits }; +import type { DataJson } from './augurs-prophet-wasmstan-types.js'; +export { DataJson }; +import type { OptimizeOpts } from './augurs-prophet-wasmstan-types.js'; +export { OptimizeOpts }; +import type { OptimizeOutput } from './augurs-prophet-wasmstan-types.js'; +export { OptimizeOutput }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-types.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-types.d.ts new file mode 100644 index 0000000..dad006d --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/augurs-prophet-wasmstan-types.d.ts @@ -0,0 +1,268 @@ +export namespace AugursProphetWasmstanTypes { +} +/** + * The initial parameters for the optimization. + */ +export interface Inits { + /** + * Base trend growth rate. + */ + k: number, + /** + * Trend offset. + */ + m: number, + /** + * Trend rate adjustments, length s in data. + */ + delta: Float64Array, + /** + * Regressor coefficients, length k in data. + */ + beta: Float64Array, + /** + * Observation noise. + */ + sigmaObs: number, +} +/** + * The type of trend to use. + * # Variants + * + * ## `"linear"` + * + * Linear trend (default). + * ## `"logistic"` + * + * 0 + * Logistic trend. + * ## `"flat"` + * + * 1 + * Flat trend. + */ +export type TrendIndicator = 'linear' | 'logistic' | 'flat'; +/** + * Data for the Prophet model. + */ +export interface Data { + /** + * Number of time periods. + * This is `T` in the Prophet STAN model definition, + * but WIT identifiers must be lower kebab-case. + */ + n: number, + /** + * Time series, length n. + */ + y: Float64Array, + /** + * Time, length n. + */ + t: Float64Array, + /** + * Capacities for logistic trend, length n. + */ + cap: Float64Array, + /** + * Number of changepoints. + * This is 'S' in the Prophet STAN model definition, + * but WIT identifiers must be lower kebab-case. + */ + s: number, + /** + * Times of trend changepoints, length s. + */ + tChange: Float64Array, + /** + * The type of trend to use. + */ + trendIndicator: TrendIndicator, + /** + * Number of regressors. + * Must be greater than or equal to 1. + * This is `K` in the Prophet STAN model definition, + * but WIT identifiers must be lower kebab-case. + */ + k: number, + /** + * Indicator of additive features, length k. + * This is `s_a` in the Prophet STAN model definition, + * but WIT identifiers must be lower kebab-case. + */ + sA: Int32Array, + /** + * Indicator of multiplicative features, length k. + * This is `s_m` in the Prophet STAN model definition, + * but WIT identifiers must be lower kebab-case. + */ + sM: Int32Array, + /** + * Regressors. + * This is `X` in the Prophet STAN model definition, + * but WIT identifiers must be lower kebab-case. + * This is passed as a flat array but should be treated as + * a matrix with shape (n, k) (i.e. strides of length n). + */ + x: Float64Array, + /** + * Scale on seasonality prior. + */ + sigmas: Float64Array, + /** + * Scale on changepoints prior. + * Must be greater than 0. + */ + tau: number, +} +/** + * JSON representation of the Prophet data to pass to Stan. + * + * This should be a string containing a JSONified `Data`. + */ +export type DataJson = string; +/** + * The algorithm to use for optimization. One of: 'BFGS', 'LBFGS', 'Newton'. + * # Variants + * + * ## `"newton"` + * + * Use the Newton algorithm. + * ## `"bfgs"` + * + * Use the Broyden-Fletcher-Goldfarb-Shanno (BFGS) algorithm. + * ## `"lbfgs"` + * + * Use the Limited-memory BFGS (L-BFGS) algorithm. + */ +export type Algorithm = 'newton' | 'bfgs' | 'lbfgs'; +/** + * Arguments for optimization. + */ +export interface OptimizeOpts { + /** + * Algorithm to use. + */ + algorithm?: Algorithm, + /** + * The random seed to use for the optimization. + */ + seed?: number, + /** + * The chain id to advance the PRNG. + */ + chain?: number, + /** + * Line search step size for first iteration. + */ + initAlpha?: number, + /** + * Convergence tolerance on changes in objective function value. + */ + tolObj?: number, + /** + * Convergence tolerance on relative changes in objective function value. + */ + tolRelObj?: number, + /** + * Convergence tolerance on the norm of the gradient. + */ + tolGrad?: number, + /** + * Convergence tolerance on the relative norm of the gradient. + */ + tolRelGrad?: number, + /** + * Convergence tolerance on changes in parameter value. + */ + tolParam?: number, + /** + * Size of the history for LBFGS Hessian approximation. The value should + * be less than the dimensionality of the parameter space. 5-10 usually + * sufficient. + */ + historySize?: number, + /** + * Total number of iterations. + */ + iter?: number, + /** + * When `true`, use the Jacobian matrix to approximate the Hessian. + * Default is `false`. + */ + jacobian?: boolean, + /** + * How frequently to update the log message, in number of iterations. + */ + refresh?: number, +} +/** + * Log lines produced during optimization. + */ +export interface Logs { + /** + * Debug log lines. + */ + debug: string, + /** + * Info log lines. + */ + info: string, + /** + * Warning log lines. + */ + warn: string, + /** + * Error log lines. + */ + error: string, + /** + * Fatal log lines. + */ + fatal: string, +} +/** + * The optimal parameter values found by optimization. + */ +export interface OptimizedParams { + /** + * Base trend growth rate. + */ + k: number, + /** + * Trend offset. + */ + m: number, + /** + * Trend rate adjustments, length s in data. + */ + delta: Float64Array, + /** + * Regressor coefficients, length k in data. + */ + beta: Float64Array, + /** + * Observation noise. + */ + sigmaObs: number, + /** + * Transformed trend. + */ + trend: Float64Array, +} +/** + * The result of optimization. + * + * This includes both the parameters and any logs produced by the + * process. + */ +export interface OptimizeOutput { + /** + * Logs produced by the optimization process. + */ + logs: Logs, + /** + * The optimized parameters. + */ + params: OptimizedParams, +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-environment.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-environment.d.ts new file mode 100644 index 0000000..d2798ab --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-environment.d.ts @@ -0,0 +1,3 @@ +export namespace WasiCliEnvironment { + export function getEnvironment(): Array<[string, string]>; +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-exit.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-exit.d.ts new file mode 100644 index 0000000..9833aa4 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-exit.d.ts @@ -0,0 +1,4 @@ +export namespace WasiCliExit { + export function exit(status: Result): void; +} +export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stderr.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stderr.d.ts new file mode 100644 index 0000000..8b2c03a --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stderr.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliStderr { + export function getStderr(): OutputStream; +} +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdin.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdin.d.ts new file mode 100644 index 0000000..4da24cd --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdin.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliStdin { + export function getStdin(): InputStream; +} +import type { InputStream } from './wasi-io-streams.js'; +export { InputStream }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdout.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdout.d.ts new file mode 100644 index 0000000..17aa5a7 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-stdout.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliStdout { + export function getStdout(): OutputStream; +} +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-input.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-input.d.ts new file mode 100644 index 0000000..3944c2e --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-input.d.ts @@ -0,0 +1,6 @@ +export namespace WasiCliTerminalInput { + export { TerminalInput }; +} + +export class TerminalInput { +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-output.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-output.d.ts new file mode 100644 index 0000000..cb1055f --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-output.d.ts @@ -0,0 +1,6 @@ +export namespace WasiCliTerminalOutput { + export { TerminalOutput }; +} + +export class TerminalOutput { +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stderr.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stderr.d.ts new file mode 100644 index 0000000..df6c1e2 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stderr.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliTerminalStderr { + export function getTerminalStderr(): TerminalOutput | undefined; +} +import type { TerminalOutput } from './wasi-cli-terminal-output.js'; +export { TerminalOutput }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdin.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdin.d.ts new file mode 100644 index 0000000..0dcbbe9 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdin.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliTerminalStdin { + export function getTerminalStdin(): TerminalInput | undefined; +} +import type { TerminalInput } from './wasi-cli-terminal-input.js'; +export { TerminalInput }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdout.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdout.d.ts new file mode 100644 index 0000000..c0d6058 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-cli-terminal-stdout.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliTerminalStdout { + export function getTerminalStdout(): TerminalOutput | undefined; +} +import type { TerminalOutput } from './wasi-cli-terminal-output.js'; +export { TerminalOutput }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-monotonic-clock.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-monotonic-clock.d.ts new file mode 100644 index 0000000..3b148d0 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-monotonic-clock.d.ts @@ -0,0 +1,4 @@ +export namespace WasiClocksMonotonicClock { + export function now(): Instant; +} +export type Instant = bigint; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-wall-clock.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-wall-clock.d.ts new file mode 100644 index 0000000..37a41e4 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-clocks-wall-clock.d.ts @@ -0,0 +1,7 @@ +export namespace WasiClocksWallClock { + export function now(): Datetime; +} +export interface Datetime { + seconds: bigint, + nanoseconds: number, +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-preopens.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-preopens.d.ts new file mode 100644 index 0000000..b225c10 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-preopens.d.ts @@ -0,0 +1,5 @@ +export namespace WasiFilesystemPreopens { + export function getDirectories(): Array<[Descriptor, string]>; +} +import type { Descriptor } from './wasi-filesystem-types.js'; +export { Descriptor }; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-types.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-types.d.ts new file mode 100644 index 0000000..1022851 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-filesystem-types.d.ts @@ -0,0 +1,141 @@ +export namespace WasiFilesystemTypes { + export { Descriptor }; + export function filesystemErrorCode(err: Error): ErrorCode | undefined; + export { DirectoryEntryStream }; +} +export type Filesize = bigint; +import type { InputStream } from './wasi-io-streams.js'; +export { InputStream }; +/** + * # Variants + * + * ## `"access"` + * + * ## `"would-block"` + * + * ## `"already"` + * + * ## `"bad-descriptor"` + * + * ## `"busy"` + * + * ## `"deadlock"` + * + * ## `"quota"` + * + * ## `"exist"` + * + * ## `"file-too-large"` + * + * ## `"illegal-byte-sequence"` + * + * ## `"in-progress"` + * + * ## `"interrupted"` + * + * ## `"invalid"` + * + * ## `"io"` + * + * ## `"is-directory"` + * + * ## `"loop"` + * + * ## `"too-many-links"` + * + * ## `"message-size"` + * + * ## `"name-too-long"` + * + * ## `"no-device"` + * + * ## `"no-entry"` + * + * ## `"no-lock"` + * + * ## `"insufficient-memory"` + * + * ## `"insufficient-space"` + * + * ## `"not-directory"` + * + * ## `"not-empty"` + * + * ## `"not-recoverable"` + * + * ## `"unsupported"` + * + * ## `"no-tty"` + * + * ## `"no-such-device"` + * + * ## `"overflow"` + * + * ## `"not-permitted"` + * + * ## `"pipe"` + * + * ## `"read-only"` + * + * ## `"invalid-seek"` + * + * ## `"text-file-busy"` + * + * ## `"cross-device"` + */ +export type ErrorCode = 'access' | 'would-block' | 'already' | 'bad-descriptor' | 'busy' | 'deadlock' | 'quota' | 'exist' | 'file-too-large' | 'illegal-byte-sequence' | 'in-progress' | 'interrupted' | 'invalid' | 'io' | 'is-directory' | 'loop' | 'too-many-links' | 'message-size' | 'name-too-long' | 'no-device' | 'no-entry' | 'no-lock' | 'insufficient-memory' | 'insufficient-space' | 'not-directory' | 'not-empty' | 'not-recoverable' | 'unsupported' | 'no-tty' | 'no-such-device' | 'overflow' | 'not-permitted' | 'pipe' | 'read-only' | 'invalid-seek' | 'text-file-busy' | 'cross-device'; +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; +export interface DescriptorFlags { + read?: boolean, + write?: boolean, + fileIntegritySync?: boolean, + dataIntegritySync?: boolean, + requestedWriteSync?: boolean, + mutateDirectory?: boolean, +} +/** + * # Variants + * + * ## `"unknown"` + * + * ## `"block-device"` + * + * ## `"character-device"` + * + * ## `"directory"` + * + * ## `"fifo"` + * + * ## `"symbolic-link"` + * + * ## `"regular-file"` + * + * ## `"socket"` + */ +export type DescriptorType = 'unknown' | 'block-device' | 'character-device' | 'directory' | 'fifo' | 'symbolic-link' | 'regular-file' | 'socket'; +export type LinkCount = bigint; +import type { Datetime } from './wasi-clocks-wall-clock.js'; +export { Datetime }; +export interface DescriptorStat { + type: DescriptorType, + linkCount: LinkCount, + size: Filesize, + dataAccessTimestamp?: Datetime, + dataModificationTimestamp?: Datetime, + statusChangeTimestamp?: Datetime, +} +import type { Error } from './wasi-io-streams.js'; +export { Error }; + +export class Descriptor { + readViaStream(offset: Filesize): InputStream; + writeViaStream(offset: Filesize): OutputStream; + appendViaStream(): OutputStream; + getFlags(): DescriptorFlags; + getType(): DescriptorType; + stat(): DescriptorStat; +} + +export class DirectoryEntryStream { +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-error.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-error.d.ts new file mode 100644 index 0000000..9989ca4 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-error.d.ts @@ -0,0 +1,6 @@ +export namespace WasiIoError { + export { Error }; +} + +export class Error { +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-streams.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-streams.d.ts new file mode 100644 index 0000000..77f27e9 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-io-streams.d.ts @@ -0,0 +1,26 @@ +export namespace WasiIoStreams { + export { InputStream }; + export { OutputStream }; +} +import type { Error } from './wasi-io-error.js'; +export { Error }; +export type StreamError = StreamErrorLastOperationFailed | StreamErrorClosed; +export interface StreamErrorLastOperationFailed { + tag: 'last-operation-failed', + val: Error, +} +export interface StreamErrorClosed { + tag: 'closed', +} + +export class InputStream { + read(len: bigint): Uint8Array; + blockingRead(len: bigint): Uint8Array; +} + +export class OutputStream { + checkWrite(): bigint; + write(contents: Uint8Array): void; + blockingWriteAndFlush(contents: Uint8Array): void; + blockingFlush(): void; +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-random-random.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-random-random.d.ts new file mode 100644 index 0000000..bf7c09a --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/interfaces/wasi-random-random.d.ts @@ -0,0 +1,3 @@ +export namespace WasiRandomRandom { + export function getRandomBytes(len: bigint): Uint8Array; +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/package.json b/demo/dist/@bsull/augurs-prophet-wasmstan/package.json new file mode 100644 index 0000000..826d7fd --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/package.json @@ -0,0 +1,40 @@ +{ + "name": "@bsull/augurs-prophet-wasmstan", + "type": "module", + "collaborators": [ + "Ben Sully " + ], + "description": "Prophet's Stan model, compiled to WASM, for use with the @bsull/augurs library.", + "version": "0.2.0", + "license": "(MIT OR Apache-2.0)", + "repository": { + "type": "git", + "url": "git+https://github.com/grafana/augurs.git" + }, + "readme": "README.md", + "files": [ + "interfaces/*", + "prophet-wasmstan.core*.wasm", + "prophet-wasmstan.d.ts", + "prophet-wasmstan.js", + "README.md" + ], + "main": "prophet-wasmstan.js", + "types": "prophet-wasmstan.d.ts", + "keywords": [ + "augurs", + "forecasting", + "prophet", + "stan" + ], + "dependencies": { + "@bytecodealliance/preview2-shim": "^0.17.0" + }, + "devDependencies": { + "vitest": "^2.1.3" + }, + "scripts": { + "test": "vitest", + "test:ci": "vitest run" + } +} diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.core.wasm b/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.core.wasm new file mode 100644 index 0000000000000000000000000000000000000000..977ba73cd5e123dd91b021f1c68f7981511e24dd GIT binary patch literal 2310175 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≷xEj9nmqVi;b2XU3x_ING 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 z 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≥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

fV~h<_+YM;4PDC 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 z%0A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%0AXGS6OIHg7%+_e+-!jN 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⪻o-m)=NTF0i84a%So-w_ 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ɚ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

R)x)UW5Wh9MbfL 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 literal 0 HcmV?d00001 diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.core2.wasm b/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.core2.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2ec1e3e138b84ede0996fd736c49d6bb436d8552 GIT binary patch literal 19152 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 literal 0 HcmV?d00001 diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.d.ts b/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.d.ts new file mode 100644 index 0000000..7e77229 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.d.ts @@ -0,0 +1,3 @@ +declare const AugursProphetWasmstanTypes: {}; +import { AugursProphetWasmstanOptimizer } from './interfaces/augurs-prophet-wasmstan-optimizer.js'; +export const optimizer: typeof AugursProphetWasmstanOptimizer; diff --git a/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.js b/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.js new file mode 100644 index 0000000..8d0f1c1 --- /dev/null +++ b/demo/dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.js @@ -0,0 +1,2760 @@ +import { environment, exit as exit$1, stderr, stdin, stdout, terminalInput, terminalOutput, terminalStderr, terminalStdin, terminalStdout } from '@bytecodealliance/preview2-shim/cli'; +import { monotonicClock, wallClock } from '@bytecodealliance/preview2-shim/clocks'; +import { preopens, types } from '@bytecodealliance/preview2-shim/filesystem'; +import { error, streams } from '@bytecodealliance/preview2-shim/io'; +import { random } from '@bytecodealliance/preview2-shim/random'; +const { getEnvironment } = environment; +const { exit } = exit$1; +const { getStderr } = stderr; +const { getStdin } = stdin; +const { getStdout } = stdout; +const { TerminalInput } = terminalInput; +const { TerminalOutput } = terminalOutput; +const { getTerminalStderr } = terminalStderr; +const { getTerminalStdin } = terminalStdin; +const { getTerminalStdout } = terminalStdout; +const { now } = monotonicClock; +const { now: now$1 } = wallClock; +const { getDirectories } = preopens; +const { Descriptor, + filesystemErrorCode } = types; +const { Error: Error$1 } = error; +const { InputStream, + OutputStream } = streams; +const { getRandomBytes } = random; + +const base64Compile = str => WebAssembly.compile(typeof Buffer !== 'undefined' ? Buffer.from(str, 'base64') : Uint8Array.from(atob(str), b => b.charCodeAt(0))); + +class ComponentError extends Error { + constructor (value) { + const enumerable = typeof value !== 'string'; + super(enumerable ? `${String(value)} (see error.payload)` : value); + Object.defineProperty(this, 'payload', { value, enumerable }); + } +} + +let curResourceBorrows = []; + +let dv = new DataView(new ArrayBuffer()); +const dataView = mem => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer); + +const isNode = typeof process !== 'undefined' && process.versions && process.versions.node; +let _fs; +async function fetchCompile (url) { + if (isNode) { + _fs = _fs || await import('fs/promises'); + return WebAssembly.compile(await _fs.readFile(url)); + } + return fetch(url).then(WebAssembly.compileStreaming); +} + +function getErrorPayload(e) { + if (e && hasOwnProperty.call(e, 'payload')) return e.payload; + if (e instanceof Error) throw e; + return e; +} + +const handleTables = []; + +const hasOwnProperty = Object.prototype.hasOwnProperty; + +const instantiateCore = WebAssembly.instantiate; + +const T_FLAG = 1 << 30; + +function rscTableCreateOwn (table, rep) { + const free = table[0] & ~T_FLAG; + if (free === 0) { + table.push(0); + table.push(rep | T_FLAG); + return (table.length >> 1) - 1; + } + table[0] = table[free << 1]; + table[free << 1] = 0; + table[(free << 1) + 1] = rep | T_FLAG; + return free; +} + +function rscTableRemove (table, handle) { + const scope = table[handle << 1]; + const val = table[(handle << 1) + 1]; + const own = (val & T_FLAG) !== 0; + const rep = val & ~T_FLAG; + if (val === 0 || (scope & T_FLAG) !== 0) throw new TypeError('Invalid handle'); + table[handle << 1] = table[0] | T_FLAG; + table[0] = handle | T_FLAG; + return { rep, scope, own }; +} + +const symbolCabiDispose = Symbol.for('cabiDispose'); + +const symbolRscHandle = Symbol('handle'); + +const symbolRscRep = Symbol.for('cabiRep'); + +const symbolDispose = Symbol.dispose || Symbol.for('dispose'); + +const toUint64 = val => BigInt.asUintN(64, BigInt(val)); + +function toUint32(val) { + return val >>> 0; +} + +const utf8Decoder = new TextDecoder(); + +const utf8Encoder = new TextEncoder(); + +let utf8EncodedLen = 0; +function utf8Encode(s, realloc, memory) { + if (typeof s !== 'string') throw new TypeError('expected a string'); + if (s.length === 0) { + utf8EncodedLen = 0; + return 1; + } + let buf = utf8Encoder.encode(s); + let ptr = realloc(0, 0, 1, buf.length); + new Uint8Array(memory.buffer).set(buf, ptr); + utf8EncodedLen = buf.length; + return ptr; +} + + +let exports0; +let exports1; + +function trampoline0() { + const ret = now(); + return toUint64(ret); +} +const handleTable2 = [T_FLAG, 0]; +const captureTable2= new Map(); +let captureCnt2 = 0; +handleTables[2] = handleTable2; + +function trampoline8() { + const ret = getStderr(); + if (!(ret instanceof OutputStream)) { + throw new TypeError('Resource error: Not a valid "OutputStream" resource.'); + } + var handle0 = ret[symbolRscHandle]; + if (!handle0) { + const rep = ret[symbolRscRep] || ++captureCnt2; + captureTable2.set(rep, ret); + handle0 = rscTableCreateOwn(handleTable2, rep); + } + return handle0; +} + +function trampoline9(arg0) { + let variant0; + switch (arg0) { + case 0: { + variant0= { + tag: 'ok', + val: undefined + }; + break; + } + case 1: { + variant0= { + tag: 'err', + val: undefined + }; + break; + } + default: { + throw new TypeError('invalid variant discriminant for expected'); + } + } + exit(variant0); +} +const handleTable1 = [T_FLAG, 0]; +const captureTable1= new Map(); +let captureCnt1 = 0; +handleTables[1] = handleTable1; + +function trampoline10() { + const ret = getStdin(); + if (!(ret instanceof InputStream)) { + throw new TypeError('Resource error: Not a valid "InputStream" resource.'); + } + var handle0 = ret[symbolRscHandle]; + if (!handle0) { + const rep = ret[symbolRscRep] || ++captureCnt1; + captureTable1.set(rep, ret); + handle0 = rscTableCreateOwn(handleTable1, rep); + } + return handle0; +} + +function trampoline11() { + const ret = getStdout(); + if (!(ret instanceof OutputStream)) { + throw new TypeError('Resource error: Not a valid "OutputStream" resource.'); + } + var handle0 = ret[symbolRscHandle]; + if (!handle0) { + const rep = ret[symbolRscRep] || ++captureCnt2; + captureTable2.set(rep, ret); + handle0 = rscTableCreateOwn(handleTable2, rep); + } + return handle0; +} +let exports2; +let memory0; +let realloc0; +const handleTable5 = [T_FLAG, 0]; +const captureTable5= new Map(); +let captureCnt5 = 0; +handleTables[5] = handleTable5; + +function trampoline12(arg0) { + const ret = getDirectories(); + var vec3 = ret; + var len3 = vec3.length; + var result3 = realloc0(0, 0, 4, len3 * 12); + for (let i = 0; i < vec3.length; i++) { + const e = vec3[i]; + const base = result3 + i * 12;var [tuple0_0, tuple0_1] = e; + if (!(tuple0_0 instanceof Descriptor)) { + throw new TypeError('Resource error: Not a valid "Descriptor" resource.'); + } + var handle1 = tuple0_0[symbolRscHandle]; + if (!handle1) { + const rep = tuple0_0[symbolRscRep] || ++captureCnt5; + captureTable5.set(rep, tuple0_0); + handle1 = rscTableCreateOwn(handleTable5, rep); + } + dataView(memory0).setInt32(base + 0, handle1, true); + var ptr2 = utf8Encode(tuple0_1, realloc0, memory0); + var len2 = utf8EncodedLen; + dataView(memory0).setInt32(base + 8, len2, true); + dataView(memory0).setInt32(base + 4, ptr2, true); + } + dataView(memory0).setInt32(arg0 + 4, len3, true); + dataView(memory0).setInt32(arg0 + 0, result3, true); +} + +function trampoline13(arg0) { + const ret = now$1(); + var {seconds: v0_0, nanoseconds: v0_1 } = ret; + dataView(memory0).setBigInt64(arg0 + 0, toUint64(v0_0), true); + dataView(memory0).setInt32(arg0 + 8, toUint32(v0_1), true); +} + +function trampoline14(arg0, arg1) { + var handle1 = arg0; + var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable5.get(rep2); + if (!rsc0) { + rsc0 = Object.create(Descriptor.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.getType()}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant5 = ret; + switch (variant5.tag) { + case 'ok': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 0, true); + var val3 = e; + let enum3; + switch (val3) { + case 'unknown': { + enum3 = 0; + break; + } + case 'block-device': { + enum3 = 1; + break; + } + case 'character-device': { + enum3 = 2; + break; + } + case 'directory': { + enum3 = 3; + break; + } + case 'fifo': { + enum3 = 4; + break; + } + case 'symbolic-link': { + enum3 = 5; + break; + } + case 'regular-file': { + enum3 = 6; + break; + } + case 'socket': { + enum3 = 7; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val3}" is not one of the cases of descriptor-type`); + } + } + dataView(memory0).setInt8(arg1 + 1, enum3, true); + break; + } + case 'err': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 1, true); + var val4 = e; + let enum4; + switch (val4) { + case 'access': { + enum4 = 0; + break; + } + case 'would-block': { + enum4 = 1; + break; + } + case 'already': { + enum4 = 2; + break; + } + case 'bad-descriptor': { + enum4 = 3; + break; + } + case 'busy': { + enum4 = 4; + break; + } + case 'deadlock': { + enum4 = 5; + break; + } + case 'quota': { + enum4 = 6; + break; + } + case 'exist': { + enum4 = 7; + break; + } + case 'file-too-large': { + enum4 = 8; + break; + } + case 'illegal-byte-sequence': { + enum4 = 9; + break; + } + case 'in-progress': { + enum4 = 10; + break; + } + case 'interrupted': { + enum4 = 11; + break; + } + case 'invalid': { + enum4 = 12; + break; + } + case 'io': { + enum4 = 13; + break; + } + case 'is-directory': { + enum4 = 14; + break; + } + case 'loop': { + enum4 = 15; + break; + } + case 'too-many-links': { + enum4 = 16; + break; + } + case 'message-size': { + enum4 = 17; + break; + } + case 'name-too-long': { + enum4 = 18; + break; + } + case 'no-device': { + enum4 = 19; + break; + } + case 'no-entry': { + enum4 = 20; + break; + } + case 'no-lock': { + enum4 = 21; + break; + } + case 'insufficient-memory': { + enum4 = 22; + break; + } + case 'insufficient-space': { + enum4 = 23; + break; + } + case 'not-directory': { + enum4 = 24; + break; + } + case 'not-empty': { + enum4 = 25; + break; + } + case 'not-recoverable': { + enum4 = 26; + break; + } + case 'unsupported': { + enum4 = 27; + break; + } + case 'no-tty': { + enum4 = 28; + break; + } + case 'no-such-device': { + enum4 = 29; + break; + } + case 'overflow': { + enum4 = 30; + break; + } + case 'not-permitted': { + enum4 = 31; + break; + } + case 'pipe': { + enum4 = 32; + break; + } + case 'read-only': { + enum4 = 33; + break; + } + case 'invalid-seek': { + enum4 = 34; + break; + } + case 'text-file-busy': { + enum4 = 35; + break; + } + case 'cross-device': { + enum4 = 36; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val4}" is not one of the cases of error-code`); + } + } + dataView(memory0).setInt8(arg1 + 1, enum4, true); + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} +const handleTable0 = [T_FLAG, 0]; +const captureTable0= new Map(); +let captureCnt0 = 0; +handleTables[0] = handleTable0; + +function trampoline15(arg0, arg1) { + var handle1 = arg0; + var rep2 = handleTable0[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable0.get(rep2); + if (!rsc0) { + rsc0 = Object.create(Error$1.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + const ret = filesystemErrorCode(rsc0); + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant4 = ret; + if (variant4 === null || variant4=== undefined) { + dataView(memory0).setInt8(arg1 + 0, 0, true); + } else { + const e = variant4; + dataView(memory0).setInt8(arg1 + 0, 1, true); + var val3 = e; + let enum3; + switch (val3) { + case 'access': { + enum3 = 0; + break; + } + case 'would-block': { + enum3 = 1; + break; + } + case 'already': { + enum3 = 2; + break; + } + case 'bad-descriptor': { + enum3 = 3; + break; + } + case 'busy': { + enum3 = 4; + break; + } + case 'deadlock': { + enum3 = 5; + break; + } + case 'quota': { + enum3 = 6; + break; + } + case 'exist': { + enum3 = 7; + break; + } + case 'file-too-large': { + enum3 = 8; + break; + } + case 'illegal-byte-sequence': { + enum3 = 9; + break; + } + case 'in-progress': { + enum3 = 10; + break; + } + case 'interrupted': { + enum3 = 11; + break; + } + case 'invalid': { + enum3 = 12; + break; + } + case 'io': { + enum3 = 13; + break; + } + case 'is-directory': { + enum3 = 14; + break; + } + case 'loop': { + enum3 = 15; + break; + } + case 'too-many-links': { + enum3 = 16; + break; + } + case 'message-size': { + enum3 = 17; + break; + } + case 'name-too-long': { + enum3 = 18; + break; + } + case 'no-device': { + enum3 = 19; + break; + } + case 'no-entry': { + enum3 = 20; + break; + } + case 'no-lock': { + enum3 = 21; + break; + } + case 'insufficient-memory': { + enum3 = 22; + break; + } + case 'insufficient-space': { + enum3 = 23; + break; + } + case 'not-directory': { + enum3 = 24; + break; + } + case 'not-empty': { + enum3 = 25; + break; + } + case 'not-recoverable': { + enum3 = 26; + break; + } + case 'unsupported': { + enum3 = 27; + break; + } + case 'no-tty': { + enum3 = 28; + break; + } + case 'no-such-device': { + enum3 = 29; + break; + } + case 'overflow': { + enum3 = 30; + break; + } + case 'not-permitted': { + enum3 = 31; + break; + } + case 'pipe': { + enum3 = 32; + break; + } + case 'read-only': { + enum3 = 33; + break; + } + case 'invalid-seek': { + enum3 = 34; + break; + } + case 'text-file-busy': { + enum3 = 35; + break; + } + case 'cross-device': { + enum3 = 36; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val3}" is not one of the cases of error-code`); + } + } + dataView(memory0).setInt8(arg1 + 1, enum3, true); + } +} + +function trampoline16(arg0, arg1, arg2) { + var handle1 = arg0; + var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable5.get(rep2); + if (!rsc0) { + rsc0 = Object.create(Descriptor.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.readViaStream(BigInt.asUintN(64, arg1))}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant5 = ret; + switch (variant5.tag) { + case 'ok': { + const e = variant5.val; + dataView(memory0).setInt8(arg2 + 0, 0, true); + if (!(e instanceof InputStream)) { + throw new TypeError('Resource error: Not a valid "InputStream" resource.'); + } + var handle3 = e[symbolRscHandle]; + if (!handle3) { + const rep = e[symbolRscRep] || ++captureCnt1; + captureTable1.set(rep, e); + handle3 = rscTableCreateOwn(handleTable1, rep); + } + dataView(memory0).setInt32(arg2 + 4, handle3, true); + break; + } + case 'err': { + const e = variant5.val; + dataView(memory0).setInt8(arg2 + 0, 1, true); + var val4 = e; + let enum4; + switch (val4) { + case 'access': { + enum4 = 0; + break; + } + case 'would-block': { + enum4 = 1; + break; + } + case 'already': { + enum4 = 2; + break; + } + case 'bad-descriptor': { + enum4 = 3; + break; + } + case 'busy': { + enum4 = 4; + break; + } + case 'deadlock': { + enum4 = 5; + break; + } + case 'quota': { + enum4 = 6; + break; + } + case 'exist': { + enum4 = 7; + break; + } + case 'file-too-large': { + enum4 = 8; + break; + } + case 'illegal-byte-sequence': { + enum4 = 9; + break; + } + case 'in-progress': { + enum4 = 10; + break; + } + case 'interrupted': { + enum4 = 11; + break; + } + case 'invalid': { + enum4 = 12; + break; + } + case 'io': { + enum4 = 13; + break; + } + case 'is-directory': { + enum4 = 14; + break; + } + case 'loop': { + enum4 = 15; + break; + } + case 'too-many-links': { + enum4 = 16; + break; + } + case 'message-size': { + enum4 = 17; + break; + } + case 'name-too-long': { + enum4 = 18; + break; + } + case 'no-device': { + enum4 = 19; + break; + } + case 'no-entry': { + enum4 = 20; + break; + } + case 'no-lock': { + enum4 = 21; + break; + } + case 'insufficient-memory': { + enum4 = 22; + break; + } + case 'insufficient-space': { + enum4 = 23; + break; + } + case 'not-directory': { + enum4 = 24; + break; + } + case 'not-empty': { + enum4 = 25; + break; + } + case 'not-recoverable': { + enum4 = 26; + break; + } + case 'unsupported': { + enum4 = 27; + break; + } + case 'no-tty': { + enum4 = 28; + break; + } + case 'no-such-device': { + enum4 = 29; + break; + } + case 'overflow': { + enum4 = 30; + break; + } + case 'not-permitted': { + enum4 = 31; + break; + } + case 'pipe': { + enum4 = 32; + break; + } + case 'read-only': { + enum4 = 33; + break; + } + case 'invalid-seek': { + enum4 = 34; + break; + } + case 'text-file-busy': { + enum4 = 35; + break; + } + case 'cross-device': { + enum4 = 36; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val4}" is not one of the cases of error-code`); + } + } + dataView(memory0).setInt8(arg2 + 4, enum4, true); + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline17(arg0, arg1, arg2) { + var handle1 = arg0; + var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable5.get(rep2); + if (!rsc0) { + rsc0 = Object.create(Descriptor.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.writeViaStream(BigInt.asUintN(64, arg1))}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant5 = ret; + switch (variant5.tag) { + case 'ok': { + const e = variant5.val; + dataView(memory0).setInt8(arg2 + 0, 0, true); + if (!(e instanceof OutputStream)) { + throw new TypeError('Resource error: Not a valid "OutputStream" resource.'); + } + var handle3 = e[symbolRscHandle]; + if (!handle3) { + const rep = e[symbolRscRep] || ++captureCnt2; + captureTable2.set(rep, e); + handle3 = rscTableCreateOwn(handleTable2, rep); + } + dataView(memory0).setInt32(arg2 + 4, handle3, true); + break; + } + case 'err': { + const e = variant5.val; + dataView(memory0).setInt8(arg2 + 0, 1, true); + var val4 = e; + let enum4; + switch (val4) { + case 'access': { + enum4 = 0; + break; + } + case 'would-block': { + enum4 = 1; + break; + } + case 'already': { + enum4 = 2; + break; + } + case 'bad-descriptor': { + enum4 = 3; + break; + } + case 'busy': { + enum4 = 4; + break; + } + case 'deadlock': { + enum4 = 5; + break; + } + case 'quota': { + enum4 = 6; + break; + } + case 'exist': { + enum4 = 7; + break; + } + case 'file-too-large': { + enum4 = 8; + break; + } + case 'illegal-byte-sequence': { + enum4 = 9; + break; + } + case 'in-progress': { + enum4 = 10; + break; + } + case 'interrupted': { + enum4 = 11; + break; + } + case 'invalid': { + enum4 = 12; + break; + } + case 'io': { + enum4 = 13; + break; + } + case 'is-directory': { + enum4 = 14; + break; + } + case 'loop': { + enum4 = 15; + break; + } + case 'too-many-links': { + enum4 = 16; + break; + } + case 'message-size': { + enum4 = 17; + break; + } + case 'name-too-long': { + enum4 = 18; + break; + } + case 'no-device': { + enum4 = 19; + break; + } + case 'no-entry': { + enum4 = 20; + break; + } + case 'no-lock': { + enum4 = 21; + break; + } + case 'insufficient-memory': { + enum4 = 22; + break; + } + case 'insufficient-space': { + enum4 = 23; + break; + } + case 'not-directory': { + enum4 = 24; + break; + } + case 'not-empty': { + enum4 = 25; + break; + } + case 'not-recoverable': { + enum4 = 26; + break; + } + case 'unsupported': { + enum4 = 27; + break; + } + case 'no-tty': { + enum4 = 28; + break; + } + case 'no-such-device': { + enum4 = 29; + break; + } + case 'overflow': { + enum4 = 30; + break; + } + case 'not-permitted': { + enum4 = 31; + break; + } + case 'pipe': { + enum4 = 32; + break; + } + case 'read-only': { + enum4 = 33; + break; + } + case 'invalid-seek': { + enum4 = 34; + break; + } + case 'text-file-busy': { + enum4 = 35; + break; + } + case 'cross-device': { + enum4 = 36; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val4}" is not one of the cases of error-code`); + } + } + dataView(memory0).setInt8(arg2 + 4, enum4, true); + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline18(arg0, arg1) { + var handle1 = arg0; + var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable5.get(rep2); + if (!rsc0) { + rsc0 = Object.create(Descriptor.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.appendViaStream()}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant5 = ret; + switch (variant5.tag) { + case 'ok': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 0, true); + if (!(e instanceof OutputStream)) { + throw new TypeError('Resource error: Not a valid "OutputStream" resource.'); + } + var handle3 = e[symbolRscHandle]; + if (!handle3) { + const rep = e[symbolRscRep] || ++captureCnt2; + captureTable2.set(rep, e); + handle3 = rscTableCreateOwn(handleTable2, rep); + } + dataView(memory0).setInt32(arg1 + 4, handle3, true); + break; + } + case 'err': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 1, true); + var val4 = e; + let enum4; + switch (val4) { + case 'access': { + enum4 = 0; + break; + } + case 'would-block': { + enum4 = 1; + break; + } + case 'already': { + enum4 = 2; + break; + } + case 'bad-descriptor': { + enum4 = 3; + break; + } + case 'busy': { + enum4 = 4; + break; + } + case 'deadlock': { + enum4 = 5; + break; + } + case 'quota': { + enum4 = 6; + break; + } + case 'exist': { + enum4 = 7; + break; + } + case 'file-too-large': { + enum4 = 8; + break; + } + case 'illegal-byte-sequence': { + enum4 = 9; + break; + } + case 'in-progress': { + enum4 = 10; + break; + } + case 'interrupted': { + enum4 = 11; + break; + } + case 'invalid': { + enum4 = 12; + break; + } + case 'io': { + enum4 = 13; + break; + } + case 'is-directory': { + enum4 = 14; + break; + } + case 'loop': { + enum4 = 15; + break; + } + case 'too-many-links': { + enum4 = 16; + break; + } + case 'message-size': { + enum4 = 17; + break; + } + case 'name-too-long': { + enum4 = 18; + break; + } + case 'no-device': { + enum4 = 19; + break; + } + case 'no-entry': { + enum4 = 20; + break; + } + case 'no-lock': { + enum4 = 21; + break; + } + case 'insufficient-memory': { + enum4 = 22; + break; + } + case 'insufficient-space': { + enum4 = 23; + break; + } + case 'not-directory': { + enum4 = 24; + break; + } + case 'not-empty': { + enum4 = 25; + break; + } + case 'not-recoverable': { + enum4 = 26; + break; + } + case 'unsupported': { + enum4 = 27; + break; + } + case 'no-tty': { + enum4 = 28; + break; + } + case 'no-such-device': { + enum4 = 29; + break; + } + case 'overflow': { + enum4 = 30; + break; + } + case 'not-permitted': { + enum4 = 31; + break; + } + case 'pipe': { + enum4 = 32; + break; + } + case 'read-only': { + enum4 = 33; + break; + } + case 'invalid-seek': { + enum4 = 34; + break; + } + case 'text-file-busy': { + enum4 = 35; + break; + } + case 'cross-device': { + enum4 = 36; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val4}" is not one of the cases of error-code`); + } + } + dataView(memory0).setInt8(arg1 + 4, enum4, true); + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline19(arg0, arg1) { + var handle1 = arg0; + var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable5.get(rep2); + if (!rsc0) { + rsc0 = Object.create(Descriptor.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.getFlags()}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant5 = ret; + switch (variant5.tag) { + case 'ok': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 0, true); + let flags3 = 0; + if (typeof e === 'object' && e !== null) { + flags3 = Boolean(e.read) << 0 | Boolean(e.write) << 1 | Boolean(e.fileIntegritySync) << 2 | Boolean(e.dataIntegritySync) << 3 | Boolean(e.requestedWriteSync) << 4 | Boolean(e.mutateDirectory) << 5; + } else if (e !== null && e!== undefined) { + throw new TypeError('only an object, undefined or null can be converted to flags'); + } + dataView(memory0).setInt8(arg1 + 1, flags3, true); + break; + } + case 'err': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 1, true); + var val4 = e; + let enum4; + switch (val4) { + case 'access': { + enum4 = 0; + break; + } + case 'would-block': { + enum4 = 1; + break; + } + case 'already': { + enum4 = 2; + break; + } + case 'bad-descriptor': { + enum4 = 3; + break; + } + case 'busy': { + enum4 = 4; + break; + } + case 'deadlock': { + enum4 = 5; + break; + } + case 'quota': { + enum4 = 6; + break; + } + case 'exist': { + enum4 = 7; + break; + } + case 'file-too-large': { + enum4 = 8; + break; + } + case 'illegal-byte-sequence': { + enum4 = 9; + break; + } + case 'in-progress': { + enum4 = 10; + break; + } + case 'interrupted': { + enum4 = 11; + break; + } + case 'invalid': { + enum4 = 12; + break; + } + case 'io': { + enum4 = 13; + break; + } + case 'is-directory': { + enum4 = 14; + break; + } + case 'loop': { + enum4 = 15; + break; + } + case 'too-many-links': { + enum4 = 16; + break; + } + case 'message-size': { + enum4 = 17; + break; + } + case 'name-too-long': { + enum4 = 18; + break; + } + case 'no-device': { + enum4 = 19; + break; + } + case 'no-entry': { + enum4 = 20; + break; + } + case 'no-lock': { + enum4 = 21; + break; + } + case 'insufficient-memory': { + enum4 = 22; + break; + } + case 'insufficient-space': { + enum4 = 23; + break; + } + case 'not-directory': { + enum4 = 24; + break; + } + case 'not-empty': { + enum4 = 25; + break; + } + case 'not-recoverable': { + enum4 = 26; + break; + } + case 'unsupported': { + enum4 = 27; + break; + } + case 'no-tty': { + enum4 = 28; + break; + } + case 'no-such-device': { + enum4 = 29; + break; + } + case 'overflow': { + enum4 = 30; + break; + } + case 'not-permitted': { + enum4 = 31; + break; + } + case 'pipe': { + enum4 = 32; + break; + } + case 'read-only': { + enum4 = 33; + break; + } + case 'invalid-seek': { + enum4 = 34; + break; + } + case 'text-file-busy': { + enum4 = 35; + break; + } + case 'cross-device': { + enum4 = 36; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val4}" is not one of the cases of error-code`); + } + } + dataView(memory0).setInt8(arg1 + 1, enum4, true); + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline20(arg0, arg1) { + var handle1 = arg0; + var rep2 = handleTable5[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable5.get(rep2); + if (!rsc0) { + rsc0 = Object.create(Descriptor.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.stat()}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant12 = ret; + switch (variant12.tag) { + case 'ok': { + const e = variant12.val; + dataView(memory0).setInt8(arg1 + 0, 0, true); + var {type: v3_0, linkCount: v3_1, size: v3_2, dataAccessTimestamp: v3_3, dataModificationTimestamp: v3_4, statusChangeTimestamp: v3_5 } = e; + var val4 = v3_0; + let enum4; + switch (val4) { + case 'unknown': { + enum4 = 0; + break; + } + case 'block-device': { + enum4 = 1; + break; + } + case 'character-device': { + enum4 = 2; + break; + } + case 'directory': { + enum4 = 3; + break; + } + case 'fifo': { + enum4 = 4; + break; + } + case 'symbolic-link': { + enum4 = 5; + break; + } + case 'regular-file': { + enum4 = 6; + break; + } + case 'socket': { + enum4 = 7; + break; + } + default: { + if ((v3_0) instanceof Error) { + console.error(v3_0); + } + + throw new TypeError(`"${val4}" is not one of the cases of descriptor-type`); + } + } + dataView(memory0).setInt8(arg1 + 8, enum4, true); + dataView(memory0).setBigInt64(arg1 + 16, toUint64(v3_1), true); + dataView(memory0).setBigInt64(arg1 + 24, toUint64(v3_2), true); + var variant6 = v3_3; + if (variant6 === null || variant6=== undefined) { + dataView(memory0).setInt8(arg1 + 32, 0, true); + } else { + const e = variant6; + dataView(memory0).setInt8(arg1 + 32, 1, true); + var {seconds: v5_0, nanoseconds: v5_1 } = e; + dataView(memory0).setBigInt64(arg1 + 40, toUint64(v5_0), true); + dataView(memory0).setInt32(arg1 + 48, toUint32(v5_1), true); + } + var variant8 = v3_4; + if (variant8 === null || variant8=== undefined) { + dataView(memory0).setInt8(arg1 + 56, 0, true); + } else { + const e = variant8; + dataView(memory0).setInt8(arg1 + 56, 1, true); + var {seconds: v7_0, nanoseconds: v7_1 } = e; + dataView(memory0).setBigInt64(arg1 + 64, toUint64(v7_0), true); + dataView(memory0).setInt32(arg1 + 72, toUint32(v7_1), true); + } + var variant10 = v3_5; + if (variant10 === null || variant10=== undefined) { + dataView(memory0).setInt8(arg1 + 80, 0, true); + } else { + const e = variant10; + dataView(memory0).setInt8(arg1 + 80, 1, true); + var {seconds: v9_0, nanoseconds: v9_1 } = e; + dataView(memory0).setBigInt64(arg1 + 88, toUint64(v9_0), true); + dataView(memory0).setInt32(arg1 + 96, toUint32(v9_1), true); + } + break; + } + case 'err': { + const e = variant12.val; + dataView(memory0).setInt8(arg1 + 0, 1, true); + var val11 = e; + let enum11; + switch (val11) { + case 'access': { + enum11 = 0; + break; + } + case 'would-block': { + enum11 = 1; + break; + } + case 'already': { + enum11 = 2; + break; + } + case 'bad-descriptor': { + enum11 = 3; + break; + } + case 'busy': { + enum11 = 4; + break; + } + case 'deadlock': { + enum11 = 5; + break; + } + case 'quota': { + enum11 = 6; + break; + } + case 'exist': { + enum11 = 7; + break; + } + case 'file-too-large': { + enum11 = 8; + break; + } + case 'illegal-byte-sequence': { + enum11 = 9; + break; + } + case 'in-progress': { + enum11 = 10; + break; + } + case 'interrupted': { + enum11 = 11; + break; + } + case 'invalid': { + enum11 = 12; + break; + } + case 'io': { + enum11 = 13; + break; + } + case 'is-directory': { + enum11 = 14; + break; + } + case 'loop': { + enum11 = 15; + break; + } + case 'too-many-links': { + enum11 = 16; + break; + } + case 'message-size': { + enum11 = 17; + break; + } + case 'name-too-long': { + enum11 = 18; + break; + } + case 'no-device': { + enum11 = 19; + break; + } + case 'no-entry': { + enum11 = 20; + break; + } + case 'no-lock': { + enum11 = 21; + break; + } + case 'insufficient-memory': { + enum11 = 22; + break; + } + case 'insufficient-space': { + enum11 = 23; + break; + } + case 'not-directory': { + enum11 = 24; + break; + } + case 'not-empty': { + enum11 = 25; + break; + } + case 'not-recoverable': { + enum11 = 26; + break; + } + case 'unsupported': { + enum11 = 27; + break; + } + case 'no-tty': { + enum11 = 28; + break; + } + case 'no-such-device': { + enum11 = 29; + break; + } + case 'overflow': { + enum11 = 30; + break; + } + case 'not-permitted': { + enum11 = 31; + break; + } + case 'pipe': { + enum11 = 32; + break; + } + case 'read-only': { + enum11 = 33; + break; + } + case 'invalid-seek': { + enum11 = 34; + break; + } + case 'text-file-busy': { + enum11 = 35; + break; + } + case 'cross-device': { + enum11 = 36; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val11}" is not one of the cases of error-code`); + } + } + dataView(memory0).setInt8(arg1 + 8, enum11, true); + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline21(arg0, arg1, arg2) { + var handle1 = arg0; + var rep2 = handleTable1[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable1.get(rep2); + if (!rsc0) { + rsc0 = Object.create(InputStream.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.read(BigInt.asUintN(64, arg1))}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant6 = ret; + switch (variant6.tag) { + case 'ok': { + const e = variant6.val; + dataView(memory0).setInt8(arg2 + 0, 0, true); + var val3 = e; + var len3 = val3.byteLength; + var ptr3 = realloc0(0, 0, 1, len3 * 1); + var src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1); + (new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3); + dataView(memory0).setInt32(arg2 + 8, len3, true); + dataView(memory0).setInt32(arg2 + 4, ptr3, true); + break; + } + case 'err': { + const e = variant6.val; + dataView(memory0).setInt8(arg2 + 0, 1, true); + var variant5 = e; + switch (variant5.tag) { + case 'last-operation-failed': { + const e = variant5.val; + dataView(memory0).setInt8(arg2 + 4, 0, true); + if (!(e instanceof Error$1)) { + throw new TypeError('Resource error: Not a valid "Error" resource.'); + } + var handle4 = e[symbolRscHandle]; + if (!handle4) { + const rep = e[symbolRscRep] || ++captureCnt0; + captureTable0.set(rep, e); + handle4 = rscTableCreateOwn(handleTable0, rep); + } + dataView(memory0).setInt32(arg2 + 8, handle4, true); + break; + } + case 'closed': { + dataView(memory0).setInt8(arg2 + 4, 1, true); + break; + } + default: { + throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``); + } + } + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline22(arg0, arg1, arg2) { + var handle1 = arg0; + var rep2 = handleTable1[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable1.get(rep2); + if (!rsc0) { + rsc0 = Object.create(InputStream.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.blockingRead(BigInt.asUintN(64, arg1))}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant6 = ret; + switch (variant6.tag) { + case 'ok': { + const e = variant6.val; + dataView(memory0).setInt8(arg2 + 0, 0, true); + var val3 = e; + var len3 = val3.byteLength; + var ptr3 = realloc0(0, 0, 1, len3 * 1); + var src3 = new Uint8Array(val3.buffer || val3, val3.byteOffset, len3 * 1); + (new Uint8Array(memory0.buffer, ptr3, len3 * 1)).set(src3); + dataView(memory0).setInt32(arg2 + 8, len3, true); + dataView(memory0).setInt32(arg2 + 4, ptr3, true); + break; + } + case 'err': { + const e = variant6.val; + dataView(memory0).setInt8(arg2 + 0, 1, true); + var variant5 = e; + switch (variant5.tag) { + case 'last-operation-failed': { + const e = variant5.val; + dataView(memory0).setInt8(arg2 + 4, 0, true); + if (!(e instanceof Error$1)) { + throw new TypeError('Resource error: Not a valid "Error" resource.'); + } + var handle4 = e[symbolRscHandle]; + if (!handle4) { + const rep = e[symbolRscRep] || ++captureCnt0; + captureTable0.set(rep, e); + handle4 = rscTableCreateOwn(handleTable0, rep); + } + dataView(memory0).setInt32(arg2 + 8, handle4, true); + break; + } + case 'closed': { + dataView(memory0).setInt8(arg2 + 4, 1, true); + break; + } + default: { + throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``); + } + } + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline23(arg0, arg1) { + var handle1 = arg0; + var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable2.get(rep2); + if (!rsc0) { + rsc0 = Object.create(OutputStream.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.checkWrite()}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant5 = ret; + switch (variant5.tag) { + case 'ok': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 0, true); + dataView(memory0).setBigInt64(arg1 + 8, toUint64(e), true); + break; + } + case 'err': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 1, true); + var variant4 = e; + switch (variant4.tag) { + case 'last-operation-failed': { + const e = variant4.val; + dataView(memory0).setInt8(arg1 + 8, 0, true); + if (!(e instanceof Error$1)) { + throw new TypeError('Resource error: Not a valid "Error" resource.'); + } + var handle3 = e[symbolRscHandle]; + if (!handle3) { + const rep = e[symbolRscRep] || ++captureCnt0; + captureTable0.set(rep, e); + handle3 = rscTableCreateOwn(handleTable0, rep); + } + dataView(memory0).setInt32(arg1 + 12, handle3, true); + break; + } + case 'closed': { + dataView(memory0).setInt8(arg1 + 8, 1, true); + break; + } + default: { + throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``); + } + } + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline24(arg0, arg1, arg2, arg3) { + var handle1 = arg0; + var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable2.get(rep2); + if (!rsc0) { + rsc0 = Object.create(OutputStream.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + var ptr3 = arg1; + var len3 = arg2; + var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1)); + let ret; + try { + ret = { tag: 'ok', val: rsc0.write(result3)}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant6 = ret; + switch (variant6.tag) { + case 'ok': { + const e = variant6.val; + dataView(memory0).setInt8(arg3 + 0, 0, true); + break; + } + case 'err': { + const e = variant6.val; + dataView(memory0).setInt8(arg3 + 0, 1, true); + var variant5 = e; + switch (variant5.tag) { + case 'last-operation-failed': { + const e = variant5.val; + dataView(memory0).setInt8(arg3 + 4, 0, true); + if (!(e instanceof Error$1)) { + throw new TypeError('Resource error: Not a valid "Error" resource.'); + } + var handle4 = e[symbolRscHandle]; + if (!handle4) { + const rep = e[symbolRscRep] || ++captureCnt0; + captureTable0.set(rep, e); + handle4 = rscTableCreateOwn(handleTable0, rep); + } + dataView(memory0).setInt32(arg3 + 8, handle4, true); + break; + } + case 'closed': { + dataView(memory0).setInt8(arg3 + 4, 1, true); + break; + } + default: { + throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``); + } + } + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline25(arg0, arg1, arg2, arg3) { + var handle1 = arg0; + var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable2.get(rep2); + if (!rsc0) { + rsc0 = Object.create(OutputStream.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + var ptr3 = arg1; + var len3 = arg2; + var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1)); + let ret; + try { + ret = { tag: 'ok', val: rsc0.blockingWriteAndFlush(result3)}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant6 = ret; + switch (variant6.tag) { + case 'ok': { + const e = variant6.val; + dataView(memory0).setInt8(arg3 + 0, 0, true); + break; + } + case 'err': { + const e = variant6.val; + dataView(memory0).setInt8(arg3 + 0, 1, true); + var variant5 = e; + switch (variant5.tag) { + case 'last-operation-failed': { + const e = variant5.val; + dataView(memory0).setInt8(arg3 + 4, 0, true); + if (!(e instanceof Error$1)) { + throw new TypeError('Resource error: Not a valid "Error" resource.'); + } + var handle4 = e[symbolRscHandle]; + if (!handle4) { + const rep = e[symbolRscRep] || ++captureCnt0; + captureTable0.set(rep, e); + handle4 = rscTableCreateOwn(handleTable0, rep); + } + dataView(memory0).setInt32(arg3 + 8, handle4, true); + break; + } + case 'closed': { + dataView(memory0).setInt8(arg3 + 4, 1, true); + break; + } + default: { + throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant5.tag)}\` (received \`${variant5}\`) specified for \`StreamError\``); + } + } + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline26(arg0, arg1) { + var handle1 = arg0; + var rep2 = handleTable2[(handle1 << 1) + 1] & ~T_FLAG; + var rsc0 = captureTable2.get(rep2); + if (!rsc0) { + rsc0 = Object.create(OutputStream.prototype); + Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1}); + Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2}); + } + curResourceBorrows.push(rsc0); + let ret; + try { + ret = { tag: 'ok', val: rsc0.blockingFlush()}; + } catch (e) { + ret = { tag: 'err', val: getErrorPayload(e) }; + } + for (const rsc of curResourceBorrows) { + rsc[symbolRscHandle] = null; + } + curResourceBorrows = []; + var variant5 = ret; + switch (variant5.tag) { + case 'ok': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 0, true); + break; + } + case 'err': { + const e = variant5.val; + dataView(memory0).setInt8(arg1 + 0, 1, true); + var variant4 = e; + switch (variant4.tag) { + case 'last-operation-failed': { + const e = variant4.val; + dataView(memory0).setInt8(arg1 + 4, 0, true); + if (!(e instanceof Error$1)) { + throw new TypeError('Resource error: Not a valid "Error" resource.'); + } + var handle3 = e[symbolRscHandle]; + if (!handle3) { + const rep = e[symbolRscRep] || ++captureCnt0; + captureTable0.set(rep, e); + handle3 = rscTableCreateOwn(handleTable0, rep); + } + dataView(memory0).setInt32(arg1 + 8, handle3, true); + break; + } + case 'closed': { + dataView(memory0).setInt8(arg1 + 4, 1, true); + break; + } + default: { + throw new TypeError(`invalid variant tag value \`${JSON.stringify(variant4.tag)}\` (received \`${variant4}\`) specified for \`StreamError\``); + } + } + break; + } + default: { + throw new TypeError('invalid variant specified for result'); + } + } +} + +function trampoline27(arg0, arg1) { + const ret = getRandomBytes(BigInt.asUintN(64, arg0)); + var val0 = ret; + var len0 = val0.byteLength; + var ptr0 = realloc0(0, 0, 1, len0 * 1); + var src0 = new Uint8Array(val0.buffer || val0, val0.byteOffset, len0 * 1); + (new Uint8Array(memory0.buffer, ptr0, len0 * 1)).set(src0); + dataView(memory0).setInt32(arg1 + 4, len0, true); + dataView(memory0).setInt32(arg1 + 0, ptr0, true); +} + +function trampoline28(arg0) { + const ret = getEnvironment(); + var vec3 = ret; + var len3 = vec3.length; + var result3 = realloc0(0, 0, 4, len3 * 16); + for (let i = 0; i < vec3.length; i++) { + const e = vec3[i]; + const base = result3 + i * 16;var [tuple0_0, tuple0_1] = e; + var ptr1 = utf8Encode(tuple0_0, realloc0, memory0); + var len1 = utf8EncodedLen; + dataView(memory0).setInt32(base + 4, len1, true); + dataView(memory0).setInt32(base + 0, ptr1, true); + var ptr2 = utf8Encode(tuple0_1, realloc0, memory0); + var len2 = utf8EncodedLen; + dataView(memory0).setInt32(base + 12, len2, true); + dataView(memory0).setInt32(base + 8, ptr2, true); + } + dataView(memory0).setInt32(arg0 + 4, len3, true); + dataView(memory0).setInt32(arg0 + 0, result3, true); +} +const handleTable3 = [T_FLAG, 0]; +const captureTable3= new Map(); +let captureCnt3 = 0; +handleTables[3] = handleTable3; + +function trampoline29(arg0) { + const ret = getTerminalStdin(); + var variant1 = ret; + if (variant1 === null || variant1=== undefined) { + dataView(memory0).setInt8(arg0 + 0, 0, true); + } else { + const e = variant1; + dataView(memory0).setInt8(arg0 + 0, 1, true); + if (!(e instanceof TerminalInput)) { + throw new TypeError('Resource error: Not a valid "TerminalInput" resource.'); + } + var handle0 = e[symbolRscHandle]; + if (!handle0) { + const rep = e[symbolRscRep] || ++captureCnt3; + captureTable3.set(rep, e); + handle0 = rscTableCreateOwn(handleTable3, rep); + } + dataView(memory0).setInt32(arg0 + 4, handle0, true); + } +} +const handleTable4 = [T_FLAG, 0]; +const captureTable4= new Map(); +let captureCnt4 = 0; +handleTables[4] = handleTable4; + +function trampoline30(arg0) { + const ret = getTerminalStdout(); + var variant1 = ret; + if (variant1 === null || variant1=== undefined) { + dataView(memory0).setInt8(arg0 + 0, 0, true); + } else { + const e = variant1; + dataView(memory0).setInt8(arg0 + 0, 1, true); + if (!(e instanceof TerminalOutput)) { + throw new TypeError('Resource error: Not a valid "TerminalOutput" resource.'); + } + var handle0 = e[symbolRscHandle]; + if (!handle0) { + const rep = e[symbolRscRep] || ++captureCnt4; + captureTable4.set(rep, e); + handle0 = rscTableCreateOwn(handleTable4, rep); + } + dataView(memory0).setInt32(arg0 + 4, handle0, true); + } +} + +function trampoline31(arg0) { + const ret = getTerminalStderr(); + var variant1 = ret; + if (variant1 === null || variant1=== undefined) { + dataView(memory0).setInt8(arg0 + 0, 0, true); + } else { + const e = variant1; + dataView(memory0).setInt8(arg0 + 0, 1, true); + if (!(e instanceof TerminalOutput)) { + throw new TypeError('Resource error: Not a valid "TerminalOutput" resource.'); + } + var handle0 = e[symbolRscHandle]; + if (!handle0) { + const rep = e[symbolRscRep] || ++captureCnt4; + captureTable4.set(rep, e); + handle0 = rscTableCreateOwn(handleTable4, rep); + } + dataView(memory0).setInt32(arg0 + 4, handle0, true); + } +} +let exports3; +let exports4; +let realloc1; +let postReturn0; +const handleTable6 = [T_FLAG, 0]; +const captureTable6= new Map(); +let captureCnt6 = 0; +handleTables[6] = handleTable6; +function trampoline1(handle) { + const handleEntry = rscTableRemove(handleTable6, handle); + if (handleEntry.own) { + throw new TypeError('unreachable resource trampoline') + } +} +function trampoline2(handle) { + const handleEntry = rscTableRemove(handleTable0, handle); + if (handleEntry.own) { + + const rsc = captureTable0.get(handleEntry.rep); + if (rsc) { + if (rsc[symbolDispose]) rsc[symbolDispose](); + captureTable0.delete(handleEntry.rep); + } else if (Error$1[symbolCabiDispose]) { + Error$1[symbolCabiDispose](handleEntry.rep); + } + } +} +function trampoline3(handle) { + const handleEntry = rscTableRemove(handleTable1, handle); + if (handleEntry.own) { + + const rsc = captureTable1.get(handleEntry.rep); + if (rsc) { + if (rsc[symbolDispose]) rsc[symbolDispose](); + captureTable1.delete(handleEntry.rep); + } else if (InputStream[symbolCabiDispose]) { + InputStream[symbolCabiDispose](handleEntry.rep); + } + } +} +function trampoline4(handle) { + const handleEntry = rscTableRemove(handleTable2, handle); + if (handleEntry.own) { + + const rsc = captureTable2.get(handleEntry.rep); + if (rsc) { + if (rsc[symbolDispose]) rsc[symbolDispose](); + captureTable2.delete(handleEntry.rep); + } else if (OutputStream[symbolCabiDispose]) { + OutputStream[symbolCabiDispose](handleEntry.rep); + } + } +} +function trampoline5(handle) { + const handleEntry = rscTableRemove(handleTable5, handle); + if (handleEntry.own) { + + const rsc = captureTable5.get(handleEntry.rep); + if (rsc) { + if (rsc[symbolDispose]) rsc[symbolDispose](); + captureTable5.delete(handleEntry.rep); + } else if (Descriptor[symbolCabiDispose]) { + Descriptor[symbolCabiDispose](handleEntry.rep); + } + } +} +function trampoline6(handle) { + const handleEntry = rscTableRemove(handleTable4, handle); + if (handleEntry.own) { + + const rsc = captureTable4.get(handleEntry.rep); + if (rsc) { + if (rsc[symbolDispose]) rsc[symbolDispose](); + captureTable4.delete(handleEntry.rep); + } else if (TerminalOutput[symbolCabiDispose]) { + TerminalOutput[symbolCabiDispose](handleEntry.rep); + } + } +} +function trampoline7(handle) { + const handleEntry = rscTableRemove(handleTable3, handle); + if (handleEntry.own) { + + const rsc = captureTable3.get(handleEntry.rep); + if (rsc) { + if (rsc[symbolDispose]) rsc[symbolDispose](); + captureTable3.delete(handleEntry.rep); + } else if (TerminalInput[symbolCabiDispose]) { + TerminalInput[symbolCabiDispose](handleEntry.rep); + } + } +} + +function optimize(arg0, arg1, arg2) { + var ptr0 = realloc1(0, 0, 8, 200); + var {k: v1_0, m: v1_1, delta: v1_2, beta: v1_3, sigmaObs: v1_4 } = arg0; + dataView(memory0).setFloat64(ptr0 + 0, +v1_0, true); + dataView(memory0).setFloat64(ptr0 + 8, +v1_1, true); + var val2 = v1_2; + var len2 = val2.length; + var ptr2 = realloc1(0, 0, 8, len2 * 8); + var src2 = new Uint8Array(val2.buffer, val2.byteOffset, len2 * 8); + (new Uint8Array(memory0.buffer, ptr2, len2 * 8)).set(src2); + dataView(memory0).setInt32(ptr0 + 20, len2, true); + dataView(memory0).setInt32(ptr0 + 16, ptr2, true); + var val3 = v1_3; + var len3 = val3.length; + var ptr3 = realloc1(0, 0, 8, len3 * 8); + var src3 = new Uint8Array(val3.buffer, val3.byteOffset, len3 * 8); + (new Uint8Array(memory0.buffer, ptr3, len3 * 8)).set(src3); + dataView(memory0).setInt32(ptr0 + 28, len3, true); + dataView(memory0).setInt32(ptr0 + 24, ptr3, true); + dataView(memory0).setFloat64(ptr0 + 32, +v1_4, true); + var ptr4 = utf8Encode(arg1, realloc1, memory0); + var len4 = utf8EncodedLen; + dataView(memory0).setInt32(ptr0 + 44, len4, true); + dataView(memory0).setInt32(ptr0 + 40, ptr4, true); + var {algorithm: v5_0, seed: v5_1, chain: v5_2, initAlpha: v5_3, tolObj: v5_4, tolRelObj: v5_5, tolGrad: v5_6, tolRelGrad: v5_7, tolParam: v5_8, historySize: v5_9, iter: v5_10, jacobian: v5_11, refresh: v5_12 } = arg2; + var variant7 = v5_0; + if (variant7 === null || variant7=== undefined) { + dataView(memory0).setInt8(ptr0 + 48, 0, true); + } else { + const e = variant7; + dataView(memory0).setInt8(ptr0 + 48, 1, true); + var val6 = e; + let enum6; + switch (val6) { + case 'newton': { + enum6 = 0; + break; + } + case 'bfgs': { + enum6 = 1; + break; + } + case 'lbfgs': { + enum6 = 2; + break; + } + default: { + if ((e) instanceof Error) { + console.error(e); + } + + throw new TypeError(`"${val6}" is not one of the cases of algorithm`); + } + } + dataView(memory0).setInt8(ptr0 + 49, enum6, true); + } + var variant8 = v5_1; + if (variant8 === null || variant8=== undefined) { + dataView(memory0).setInt8(ptr0 + 52, 0, true); + } else { + const e = variant8; + dataView(memory0).setInt8(ptr0 + 52, 1, true); + dataView(memory0).setInt32(ptr0 + 56, toUint32(e), true); + } + var variant9 = v5_2; + if (variant9 === null || variant9=== undefined) { + dataView(memory0).setInt8(ptr0 + 60, 0, true); + } else { + const e = variant9; + dataView(memory0).setInt8(ptr0 + 60, 1, true); + dataView(memory0).setInt32(ptr0 + 64, toUint32(e), true); + } + var variant10 = v5_3; + if (variant10 === null || variant10=== undefined) { + dataView(memory0).setInt8(ptr0 + 72, 0, true); + } else { + const e = variant10; + dataView(memory0).setInt8(ptr0 + 72, 1, true); + dataView(memory0).setFloat64(ptr0 + 80, +e, true); + } + var variant11 = v5_4; + if (variant11 === null || variant11=== undefined) { + dataView(memory0).setInt8(ptr0 + 88, 0, true); + } else { + const e = variant11; + dataView(memory0).setInt8(ptr0 + 88, 1, true); + dataView(memory0).setFloat64(ptr0 + 96, +e, true); + } + var variant12 = v5_5; + if (variant12 === null || variant12=== undefined) { + dataView(memory0).setInt8(ptr0 + 104, 0, true); + } else { + const e = variant12; + dataView(memory0).setInt8(ptr0 + 104, 1, true); + dataView(memory0).setFloat64(ptr0 + 112, +e, true); + } + var variant13 = v5_6; + if (variant13 === null || variant13=== undefined) { + dataView(memory0).setInt8(ptr0 + 120, 0, true); + } else { + const e = variant13; + dataView(memory0).setInt8(ptr0 + 120, 1, true); + dataView(memory0).setFloat64(ptr0 + 128, +e, true); + } + var variant14 = v5_7; + if (variant14 === null || variant14=== undefined) { + dataView(memory0).setInt8(ptr0 + 136, 0, true); + } else { + const e = variant14; + dataView(memory0).setInt8(ptr0 + 136, 1, true); + dataView(memory0).setFloat64(ptr0 + 144, +e, true); + } + var variant15 = v5_8; + if (variant15 === null || variant15=== undefined) { + dataView(memory0).setInt8(ptr0 + 152, 0, true); + } else { + const e = variant15; + dataView(memory0).setInt8(ptr0 + 152, 1, true); + dataView(memory0).setFloat64(ptr0 + 160, +e, true); + } + var variant16 = v5_9; + if (variant16 === null || variant16=== undefined) { + dataView(memory0).setInt8(ptr0 + 168, 0, true); + } else { + const e = variant16; + dataView(memory0).setInt8(ptr0 + 168, 1, true); + dataView(memory0).setInt32(ptr0 + 172, toUint32(e), true); + } + var variant17 = v5_10; + if (variant17 === null || variant17=== undefined) { + dataView(memory0).setInt8(ptr0 + 176, 0, true); + } else { + const e = variant17; + dataView(memory0).setInt8(ptr0 + 176, 1, true); + dataView(memory0).setInt32(ptr0 + 180, toUint32(e), true); + } + var variant18 = v5_11; + if (variant18 === null || variant18=== undefined) { + dataView(memory0).setInt8(ptr0 + 184, 0, true); + } else { + const e = variant18; + dataView(memory0).setInt8(ptr0 + 184, 1, true); + dataView(memory0).setInt8(ptr0 + 185, e ? 1 : 0, true); + } + var variant19 = v5_12; + if (variant19 === null || variant19=== undefined) { + dataView(memory0).setInt8(ptr0 + 188, 0, true); + } else { + const e = variant19; + dataView(memory0).setInt8(ptr0 + 188, 1, true); + dataView(memory0).setInt32(ptr0 + 192, toUint32(e), true); + } + const ret = exports1['augurs:prophet-wasmstan/optimizer#optimize'](ptr0); + let variant29; + switch (dataView(memory0).getUint8(ret + 0, true)) { + case 0: { + var ptr20 = dataView(memory0).getInt32(ret + 8, true); + var len20 = dataView(memory0).getInt32(ret + 12, true); + var result20 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr20, len20)); + var ptr21 = dataView(memory0).getInt32(ret + 16, true); + var len21 = dataView(memory0).getInt32(ret + 20, true); + var result21 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr21, len21)); + var ptr22 = dataView(memory0).getInt32(ret + 24, true); + var len22 = dataView(memory0).getInt32(ret + 28, true); + var result22 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr22, len22)); + var ptr23 = dataView(memory0).getInt32(ret + 32, true); + var len23 = dataView(memory0).getInt32(ret + 36, true); + var result23 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr23, len23)); + var ptr24 = dataView(memory0).getInt32(ret + 40, true); + var len24 = dataView(memory0).getInt32(ret + 44, true); + var result24 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr24, len24)); + var ptr25 = dataView(memory0).getInt32(ret + 64, true); + var len25 = dataView(memory0).getInt32(ret + 68, true); + var result25 = new Float64Array(memory0.buffer.slice(ptr25, ptr25 + len25 * 8)); + var ptr26 = dataView(memory0).getInt32(ret + 72, true); + var len26 = dataView(memory0).getInt32(ret + 76, true); + var result26 = new Float64Array(memory0.buffer.slice(ptr26, ptr26 + len26 * 8)); + var ptr27 = dataView(memory0).getInt32(ret + 88, true); + var len27 = dataView(memory0).getInt32(ret + 92, true); + var result27 = new Float64Array(memory0.buffer.slice(ptr27, ptr27 + len27 * 8)); + variant29= { + tag: 'ok', + val: { + logs: { + debug: result20, + info: result21, + warn: result22, + error: result23, + fatal: result24, + }, + params: { + k: dataView(memory0).getFloat64(ret + 48, true), + m: dataView(memory0).getFloat64(ret + 56, true), + delta: result25, + beta: result26, + sigmaObs: dataView(memory0).getFloat64(ret + 80, true), + trend: result27, + }, + } + }; + break; + } + case 1: { + var ptr28 = dataView(memory0).getInt32(ret + 8, true); + var len28 = dataView(memory0).getInt32(ret + 12, true); + var result28 = utf8Decoder.decode(new Uint8Array(memory0.buffer, ptr28, len28)); + variant29= { + tag: 'err', + val: result28 + }; + break; + } + default: { + throw new TypeError('invalid variant discriminant for expected'); + } + } + const retVal = variant29; + postReturn0(ret); + if (typeof retVal === 'object' && retVal.tag === 'err') { + throw new ComponentError(retVal.val); + } + return retVal.val; +} + +const $init = (() => { + let gen = (function* init () { + const module0 = fetchCompile(new URL('./prophet-wasmstan.core.wasm', import.meta.url)); + const module1 = fetchCompile(new URL('./prophet-wasmstan.core2.wasm', import.meta.url)); + const module2 = base64Compile('AGFzbQEAAAABSQxgAX8AYAJ/fwBgAn9/AX9gA39+fwBgBH9/f38Bf2AEf39/fwBgA39+fwF/YAF/AX9gA39/fwF/YAR/fn9/AX9gAAF/YAJ+fwADIiECAgYHAgIIBAkEAAoCAAABAQMDAQEBAwMBBQUBCwAAAAAEBQFwASEhB6cBIgEwAAABMQABATIAAgEzAAMBNAAEATUABQE2AAYBNwAHATgACAE5AAkCMTAACgIxMQALAjEyAAwCMTMADQIxNAAOAjE1AA8CMTYAEAIxNwARAjE4ABICMTkAEwIyMAAUAjIxABUCMjIAFgIyMwAXAjI0ABgCMjUAGQIyNgAaAjI3ABsCMjgAHAIyOQAdAjMwAB4CMzEAHwIzMgAgCCRpbXBvcnRzAQAKmQMhCwAgACABQQARAgALCwAgACABQQERAgALDQAgACABIAJBAhEGAAsJACAAQQMRBwALCwAgACABQQQRAgALCwAgACABQQURAgALDQAgACABIAJBBhEIAAsPACAAIAEgAiADQQcRBAALDwAgACABIAIgA0EIEQkACw8AIAAgASACIANBCREEAAsJACAAQQoRAAALBwBBCxEKAAsLACAAIAFBDBECAAsJACAAQQ0RAAALCQAgAEEOEQAACwsAIAAgAUEPEQEACwsAIAAgAUEQEQEACw0AIAAgASACQRERAwALDQAgACABIAJBEhEDAAsLACAAIAFBExEBAAsLACAAIAFBFBEBAAsLACAAIAFBFREBAAsNACAAIAEgAkEWEQMACw0AIAAgASACQRcRAwALCwAgACABQRgRAQALDwAgACABIAIgA0EZEQUACw8AIAAgASACIANBGhEFAAsLACAAIAFBGxEBAAsLACAAIAFBHBELAAsJACAAQR0RAAALCQAgAEEeEQAACwkAIABBHxEAAAsJACAAQSARAAALAC8JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQHMC4yMTkuMQ'); + const module3 = base64Compile('AGFzbQEAAAABSQxgAX8AYAJ/fwBgAn9/AX9gA39+fwBgBH9/f38Bf2AEf39/fwBgA39+fwF/YAF/AX9gA39/fwF/YAR/fn9/AX9gAAF/YAJ+fwACzAEiAAEwAAIAATEAAgABMgAGAAEzAAcAATQAAgABNQACAAE2AAgAATcABAABOAAJAAE5AAQAAjEwAAAAAjExAAoAAjEyAAIAAjEzAAAAAjE0AAAAAjE1AAEAAjE2AAEAAjE3AAMAAjE4AAMAAjE5AAEAAjIwAAEAAjIxAAEAAjIyAAMAAjIzAAMAAjI0AAEAAjI1AAUAAjI2AAUAAjI3AAEAAjI4AAsAAjI5AAAAAjMwAAAAAjMxAAAAAjMyAAAACCRpbXBvcnRzAXABISEJJwEAQQALIQABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fIAAvCXByb2R1Y2VycwEMcHJvY2Vzc2VkLWJ5AQ13aXQtY29tcG9uZW50BzAuMjE5LjE'); + const module4 = base64Compile('AGFzbQEAAAABBAFgAAACBQEAAAAACAEA'); + ({ exports: exports0 } = yield instantiateCore(yield module2)); + ({ exports: exports1 } = yield instantiateCore(yield module0, { + wasi_snapshot_preview1: { + clock_time_get: exports0['2'], + environ_get: exports0['0'], + environ_sizes_get: exports0['1'], + fd_close: exports0['3'], + fd_fdstat_get: exports0['4'], + fd_prestat_dir_name: exports0['6'], + fd_prestat_get: exports0['5'], + fd_read: exports0['7'], + fd_seek: exports0['8'], + fd_write: exports0['9'], + proc_exit: exports0['10'], + random_get: exports0['12'], + sched_yield: exports0['11'], + }, + })); + ({ exports: exports2 } = yield instantiateCore(yield module1, { + __main_module__: { + cabi_realloc: exports1.cabi_realloc, + }, + env: { + memory: exports1.memory, + }, + 'wasi:cli/environment@0.2.0': { + 'get-environment': exports0['29'], + }, + 'wasi:cli/exit@0.2.0': { + exit: trampoline9, + }, + 'wasi:cli/stderr@0.2.0': { + 'get-stderr': trampoline8, + }, + 'wasi:cli/stdin@0.2.0': { + 'get-stdin': trampoline10, + }, + 'wasi:cli/stdout@0.2.0': { + 'get-stdout': trampoline11, + }, + 'wasi:cli/terminal-input@0.2.0': { + '[resource-drop]terminal-input': trampoline7, + }, + 'wasi:cli/terminal-output@0.2.0': { + '[resource-drop]terminal-output': trampoline6, + }, + 'wasi:cli/terminal-stderr@0.2.0': { + 'get-terminal-stderr': exports0['32'], + }, + 'wasi:cli/terminal-stdin@0.2.0': { + 'get-terminal-stdin': exports0['30'], + }, + 'wasi:cli/terminal-stdout@0.2.0': { + 'get-terminal-stdout': exports0['31'], + }, + 'wasi:clocks/monotonic-clock@0.2.0': { + now: trampoline0, + }, + 'wasi:clocks/wall-clock@0.2.0': { + now: exports0['14'], + }, + 'wasi:filesystem/preopens@0.2.0': { + 'get-directories': exports0['13'], + }, + 'wasi:filesystem/types@0.2.0': { + '[method]descriptor.append-via-stream': exports0['19'], + '[method]descriptor.get-flags': exports0['20'], + '[method]descriptor.get-type': exports0['15'], + '[method]descriptor.read-via-stream': exports0['17'], + '[method]descriptor.stat': exports0['21'], + '[method]descriptor.write-via-stream': exports0['18'], + '[resource-drop]descriptor': trampoline5, + '[resource-drop]directory-entry-stream': trampoline1, + 'filesystem-error-code': exports0['16'], + }, + 'wasi:io/error@0.2.0': { + '[resource-drop]error': trampoline2, + }, + 'wasi:io/streams@0.2.0': { + '[method]input-stream.blocking-read': exports0['23'], + '[method]input-stream.read': exports0['22'], + '[method]output-stream.blocking-flush': exports0['27'], + '[method]output-stream.blocking-write-and-flush': exports0['26'], + '[method]output-stream.check-write': exports0['24'], + '[method]output-stream.write': exports0['25'], + '[resource-drop]input-stream': trampoline3, + '[resource-drop]output-stream': trampoline4, + }, + 'wasi:random/random@0.2.0': { + 'get-random-bytes': exports0['28'], + }, + })); + memory0 = exports1.memory; + realloc0 = exports2.cabi_import_realloc; + ({ exports: exports3 } = yield instantiateCore(yield module3, { + '': { + $imports: exports0.$imports, + '0': exports2.environ_get, + '1': exports2.environ_sizes_get, + '10': exports2.proc_exit, + '11': exports2.sched_yield, + '12': exports2.random_get, + '13': trampoline12, + '14': trampoline13, + '15': trampoline14, + '16': trampoline15, + '17': trampoline16, + '18': trampoline17, + '19': trampoline18, + '2': exports2.clock_time_get, + '20': trampoline19, + '21': trampoline20, + '22': trampoline21, + '23': trampoline22, + '24': trampoline23, + '25': trampoline24, + '26': trampoline25, + '27': trampoline26, + '28': trampoline27, + '29': trampoline28, + '3': exports2.fd_close, + '30': trampoline29, + '31': trampoline30, + '32': trampoline31, + '4': exports2.fd_fdstat_get, + '5': exports2.fd_prestat_get, + '6': exports2.fd_prestat_dir_name, + '7': exports2.fd_read, + '8': exports2.fd_seek, + '9': exports2.fd_write, + }, + })); + ({ exports: exports4 } = yield instantiateCore(yield module4, { + '': { + '': exports1._initialize, + }, + })); + realloc1 = exports1.cabi_realloc; + postReturn0 = exports1['cabi_post_augurs:prophet-wasmstan/optimizer#optimize']; + })(); + function run(g) { + return Promise.resolve(function step(v) { + const res = g.next(v); + if (res.done) return res.value; + return res.value.then(step); + }()); + } + return run(gen); +})(); + +await $init; +const optimizer = { + optimize: optimize, + +}; + +export { optimizer, optimizer as 'augurs:prophet-wasmstan/optimizer', } diff --git a/demo/dist/@bsull/augurs/changepoint.d.ts b/demo/dist/@bsull/augurs/changepoint.d.ts new file mode 100644 index 0000000..22f5b5f --- /dev/null +++ b/demo/dist/@bsull/augurs/changepoint.d.ts @@ -0,0 +1,271 @@ +/* tslint:disable */ +/* eslint-disable */ +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config?: LogConfig): void; +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init(): void; +/** + * The type of changepoint detector to use. + */ +export type ChangepointDetectorType = "normal-gamma" | "default-argpcp"; + +/** + * Parameters for the Normal Gamma prior. + * Options for the ETS MSTL model. + */ +export interface NormalGammaParameters { + /** + * The prior mean. + * + * Defaults to 0.0. + */ + mu?: number; + /** + * The relative precision of μ versus data. + * + * Defaults to 1.0. + */ + rho?: number; + /** + * The mean of rho (the precision) is v/s. + * + * Defaults to 1.0. + */ + s?: number; + /** + * The degrees of freedom of precision of rho. + * + * Defaults to 1.0. + */ + v?: number; +} + +/** + * Options for the Normal Gamma changepoint detector. + */ +export interface NormalGammaDetectorOptions { + /** + * The hazard lambda. + * + * `1/hazard` is the probability of the next step being a changepoint. + * Therefore, the larger the value, the lower the prior probability + * is for the any point to be a change-point. + * Mean run-length is lambda - 1. + * + * Defaults to 250.0. + */ + hazardLambda?: number; + /** + * The prior for the Normal distribution. + */ + prior?: NormalGammaParameters; +} + +/** + * Options for the default Autoregressive Gaussian Process detector. + */ +export interface DefaultArgpcpDetectorOptions { + /** + * The value of the constant kernel. + */ + constantValue?: number; + /** + * The length scale of the RBF kernel. + */ + lengthScale?: number; + /** + * The noise level of the white kernel. + */ + noiseLevel?: number; + /** + * The maximum autoregressive lag. + */ + maxLag?: number; + /** + * Scale Gamma distribution alpha parameter. + */ + alpha0?: number; + /** + * Scale Gamma distribution beta parameter. + */ + beta0?: number; + logisticHazardH?: number; + logisticHazardA?: number; + logisticHazardB?: number; +} + +/** + * Changepoints detected in a time series. + */ +export interface Changepoints { + /** + * The indices of the most likely changepoints. + */ + indices: number[]; +} + +/** + * The maximum log level to emit. + * + * The default is `Level::Info`. + */ +export type Level = "trace" | "debug" | "info" | "warn" | "error"; + +/** + * The target for augurs log events. + */ +export type LogTarget = "console" | "performance"; + +/** + * Log configuration. + */ +export interface LogConfig { + /** + * The maximum log level to emit. + * + * Defaults to `INFO`. + */ + maxLevel?: Level; + /** + * The target for augurs log events. + * + * Defaults to logging to the browser console. + */ + target?: LogTarget; + /** + * Whether to emit coloured logs. + * + * Defaults to `true`. + */ + color?: boolean; + /** + * Whether to show detailed fields such as augurs\' file names and line numbers + * in the logs. + * + * Probably not wise in production. + * + * Defaults to `false`. + */ + showDetailedFields?: boolean; +} + +/** + * Forecast intervals. + */ +export interface ForecastIntervals { + /** + * The confidence level for the intervals. + */ + level: number; + /** + * The lower prediction intervals. + */ + lower: number[]; + /** + * The upper prediction intervals. + */ + upper: number[]; +} + +/** + * A forecast containing point forecasts and, optionally, prediction intervals. + */ +export interface Forecast { + /** + * The point forecasts. + */ + point: number[]; + /** + * The forecast intervals, if requested and supported + * by the trend model. + */ + intervals: ForecastIntervals | undefined; +} + +/** +* A changepoint detector. +*/ +export class ChangepointDetector { + free(): void; +/** +* @param {ChangepointDetectorType} detectorType +*/ + constructor(detectorType: ChangepointDetectorType); +/** +* Create a new Bayesian Online changepoint detector with a Normal Gamma prior. +* @param {NormalGammaDetectorOptions | undefined} [opts] +* @returns {ChangepointDetector} +*/ + static normalGamma(opts?: NormalGammaDetectorOptions): ChangepointDetector; +/** +* Create a new Autoregressive Gaussian Process changepoint detector +* with the default kernel and parameters. +* @param {DefaultArgpcpDetectorOptions | undefined} [opts] +* @returns {ChangepointDetector} +*/ + static defaultArgpcp(opts?: DefaultArgpcpDetectorOptions): ChangepointDetector; +/** +* Detect changepoints in the given time series. +* @param {number[] | Float64Array} y +* @returns {Changepoints} +*/ + detectChangepoints(y: number[] | Float64Array): Changepoints; +} + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly __wbg_changepointdetector_free: (a: number, b: number) => void; + readonly changepointdetector_new: (a: number, b: number) => void; + readonly changepointdetector_normalGamma: (a: number, b: number) => void; + readonly changepointdetector_defaultArgpcp: (a: number, b: number) => void; + readonly changepointdetector_detectChangepoints: (a: number, b: number, c: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/changepoint.js b/demo/dist/@bsull/augurs/changepoint.js new file mode 100644 index 0000000..e84ed67 --- /dev/null +++ b/demo/dist/@bsull/augurs/changepoint.js @@ -0,0 +1,710 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function getObject(idx) { return heap[idx]; } + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +const ChangepointDetectorFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_changepointdetector_free(ptr >>> 0, 1)); +/** +* A changepoint detector. +*/ +export class ChangepointDetector { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(ChangepointDetector.prototype); + obj.__wbg_ptr = ptr; + ChangepointDetectorFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + ChangepointDetectorFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_changepointdetector_free(ptr, 0); + } + /** + * @param {ChangepointDetectorType} detectorType + */ + constructor(detectorType) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.changepointdetector_new(retptr, addHeapObject(detectorType)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + this.__wbg_ptr = r0 >>> 0; + ChangepointDetectorFinalization.register(this, this.__wbg_ptr, this); + return this; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Create a new Bayesian Online changepoint detector with a Normal Gamma prior. + * @param {NormalGammaDetectorOptions | undefined} [opts] + * @returns {ChangepointDetector} + */ + static normalGamma(opts) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.changepointdetector_normalGamma(retptr, isLikeNone(opts) ? 0 : addHeapObject(opts)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return ChangepointDetector.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Create a new Autoregressive Gaussian Process changepoint detector + * with the default kernel and parameters. + * @param {DefaultArgpcpDetectorOptions | undefined} [opts] + * @returns {ChangepointDetector} + */ + static defaultArgpcp(opts) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.changepointdetector_defaultArgpcp(retptr, isLikeNone(opts) ? 0 : addHeapObject(opts)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return ChangepointDetector.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Detect changepoints in the given time series. + * @param {number[] | Float64Array} y + * @returns {Changepoints} + */ + detectChangepoints(y) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.changepointdetector_detectChangepoints(retptr, this.__wbg_ptr, addHeapObject(y)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_is_bigint = function(arg0) { + const ret = typeof(getObject(arg0)) === 'bigint'; + return ret; + }; + imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { + const ret = BigInt.asUintN(64, arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) { + const ret = getObject(arg0) === getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { + getObject(arg0)[takeObject(arg1)] = takeObject(arg2); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_a220cf903aa02ca2 = function() { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_525245e2b9901204 = function() { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_673dda6c73d19609 = function(arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); + }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isSafeInteger_7f1ed56200d90674 = function(arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) { + const v = getObject(arg1); + const ret = typeof(v) === 'bigint' ? v : undefined; + getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('changepoint_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/changepoint_bg.wasm b/demo/dist/@bsull/augurs/changepoint_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..d8b272d67f61ee5b3b7532f56dfc1ab1db023e7d GIT binary patch literal 212237 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%0D!}PC9tNGj5^QThYM|KHJO)B*{-BQ2T=>D? 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†Xl5-OVw&)q=Q-JM!p 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 literal 0 HcmV?d00001 diff --git a/demo/dist/@bsull/augurs/changepoint_bg.wasm.d.ts b/demo/dist/@bsull/augurs/changepoint_bg.wasm.d.ts new file mode 100644 index 0000000..ce9ecc8 --- /dev/null +++ b/demo/dist/@bsull/augurs/changepoint_bg.wasm.d.ts @@ -0,0 +1,16 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function __wbg_changepointdetector_free(a: number, b: number): void; +export function changepointdetector_new(a: number, b: number): void; +export function changepointdetector_normalGamma(a: number, b: number): void; +export function changepointdetector_defaultArgpcp(a: number, b: number): void; +export function changepointdetector_detectChangepoints(a: number, b: number, c: number): void; +export function initLogging(a: number, b: number): void; +export function custom_init(): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export function __wbindgen_add_to_stack_pointer(a: number): number; +export function __wbindgen_free(a: number, b: number, c: number): void; +export function __wbindgen_exn_store(a: number): void; +export function __wbindgen_start(): void; diff --git a/demo/dist/@bsull/augurs/clustering.d.ts b/demo/dist/@bsull/augurs/clustering.d.ts new file mode 100644 index 0000000..3f5c3a2 --- /dev/null +++ b/demo/dist/@bsull/augurs/clustering.d.ts @@ -0,0 +1,177 @@ +/* tslint:disable */ +/* eslint-disable */ +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config?: LogConfig): void; +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init(): void; +/** + * Options for the dynamic time warping calculation. + */ +export interface DbscanOptions { + /** + * The maximum distance between two samples for one to be considered as in the + * neighborhood of the other. + */ + epsilon: number; + /** + * The number of samples in a neighborhood for a point to be considered as a core + * point. + */ + minClusterSize: number; +} + +/** + * The maximum log level to emit. + * + * The default is `Level::Info`. + */ +export type Level = "trace" | "debug" | "info" | "warn" | "error"; + +/** + * The target for augurs log events. + */ +export type LogTarget = "console" | "performance"; + +/** + * Log configuration. + */ +export interface LogConfig { + /** + * The maximum log level to emit. + * + * Defaults to `INFO`. + */ + maxLevel?: Level; + /** + * The target for augurs log events. + * + * Defaults to logging to the browser console. + */ + target?: LogTarget; + /** + * Whether to emit coloured logs. + * + * Defaults to `true`. + */ + color?: boolean; + /** + * Whether to show detailed fields such as augurs\' file names and line numbers + * in the logs. + * + * Probably not wise in production. + * + * Defaults to `false`. + */ + showDetailedFields?: boolean; +} + +/** + * Forecast intervals. + */ +export interface ForecastIntervals { + /** + * The confidence level for the intervals. + */ + level: number; + /** + * The lower prediction intervals. + */ + lower: number[]; + /** + * The upper prediction intervals. + */ + upper: number[]; +} + +/** + * A forecast containing point forecasts and, optionally, prediction intervals. + */ +export interface Forecast { + /** + * The point forecasts. + */ + point: number[]; + /** + * The forecast intervals, if requested and supported + * by the trend model. + */ + intervals: ForecastIntervals | undefined; +} + +/** +* A DBSCAN clustering algorithm. +*/ +export class DbscanClusterer { + free(): void; +/** +* Create a new DBSCAN instance. +* @param {DbscanOptions} opts +*/ + constructor(opts: DbscanOptions); +/** +* Fit the DBSCAN clustering algorithm to the given distance matrix. +* +* The distance matrix can be obtained using the `Dtw` class. +* +* The return value is an `Int32Array` of cluster IDs, with `-1` indicating noise. +* @param {number[][] | Float64Array[]} distanceMatrix +* @returns {Int32Array} +*/ + fit(distanceMatrix: number[][] | Float64Array[]): Int32Array; +} + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly __wbg_dbscanclusterer_free: (a: number, b: number) => void; + readonly dbscanclusterer_new: (a: number) => number; + readonly dbscanclusterer_fit: (a: number, b: number, c: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/clustering.js b/demo/dist/@bsull/augurs/clustering.js new file mode 100644 index 0000000..5f40d15 --- /dev/null +++ b/demo/dist/@bsull/augurs/clustering.js @@ -0,0 +1,655 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function getObject(idx) { return heap[idx]; } + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +let cachedInt32ArrayMemory0 = null; + +function getInt32ArrayMemory0() { + if (cachedInt32ArrayMemory0 === null || cachedInt32ArrayMemory0.byteLength === 0) { + cachedInt32ArrayMemory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32ArrayMemory0; +} + +function getArrayI32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getInt32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +const DbscanClustererFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_dbscanclusterer_free(ptr >>> 0, 1)); +/** +* A DBSCAN clustering algorithm. +*/ +export class DbscanClusterer { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + DbscanClustererFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_dbscanclusterer_free(ptr, 0); + } + /** + * Create a new DBSCAN instance. + * @param {DbscanOptions} opts + */ + constructor(opts) { + const ret = wasm.dbscanclusterer_new(addHeapObject(opts)); + this.__wbg_ptr = ret >>> 0; + DbscanClustererFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * Fit the DBSCAN clustering algorithm to the given distance matrix. + * + * The distance matrix can be obtained using the `Dtw` class. + * + * The return value is an `Int32Array` of cluster IDs, with `-1` indicating noise. + * @param {number[][] | Float64Array[]} distanceMatrix + * @returns {Int32Array} + */ + fit(distanceMatrix) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.dbscanclusterer_fit(retptr, this.__wbg_ptr, addHeapObject(distanceMatrix)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); + if (r3) { + throw takeObject(r2); + } + var v1 = getArrayI32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 4, 4); + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_is_bigint = function(arg0) { + const ret = typeof(getObject(arg0)) === 'bigint'; + return ret; + }; + imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { + const ret = BigInt.asUintN(64, arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) { + const ret = getObject(arg0) === getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isSafeInteger_7f1ed56200d90674 = function(arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) { + const v = getObject(arg1); + const ret = typeof(v) === 'bigint' ? v : undefined; + getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedInt32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('clustering_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/clustering_bg.wasm b/demo/dist/@bsull/augurs/clustering_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..05cbad703df9b60a93434ce18b69d95b749b228a GIT binary patch literal 142210 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

sonh@F!B`OiXay4d-ZcA>uwv zy0hQ-al){ElOK8>d}rEN?^8lNeS9}7AsUv9cbs}e56Dj@WBfBWucr#^HElj%LoxJD zOW8BjGVC7Et$SN|KS7ebj#{dANV}g8NT6nS%K!F)@_8A|P-ib#CG4$ZDug)Maip4q zw}lT`3wfhI*{MVgK*qJRX(c7-U0AT9^(Q!@q!9p!6$FkLY2^52K zCS!)4WVR-(`R4UWx8PKQSTj3^II;-;%T4}uur$m0q(rR9VZ(u({W_(zlEnzBya)$| zR^-3oNYWZf97%dPD1=H`_>1o@wv^UPJFXR{b=Lf8oow}< zcUmV;{13riNe*Nw256qw)s1iZH)d%S)0=2P5do3jh;g!`3{WG@#9jQ{HkPui^clQylf;-t;W zdW3@!u^66Dp--ZMoz=mPXVb2K4w$NV^>J?XvRK+Zd6qTMzPM{L?y)bcDv%>GEF9Jr z{J2NX5kMbz9YS!Cuu^NU{@e5QnC%4G=-rSVh)twZyDB=yk)Okf0%-WG9eD7^IJQ`D z?t#~6H69%6o{cMKz+t?l^?&P#iu`r^=rSlzu9T3ZCxh{or##!WRIY^G_X5{H>*bL!?3QsBykYSzOm zrb}H#$cVzub;?_}Sn)lZTnfCKgYJIw6|qqdNAV@hKXa_Wclj8(0xg}Z-#e5`7NkrA zQbwq7*GdONHSkKF&}a4pimE57{gD70N1WKSUzDM$mYi#*Eq65uQb ze8d(?v{_|<{SPP_d>NUC#|dWU3rqPE`tf6Wh3h#iu19$@JpR$+V_*Kv*$W)_JNuJg zJN>xR8NZx;cQzTYS;SU!Wl^zI`5s#{@6v)O%~mGQk|LXF02vIqsTAo0+Ws9)wT5L? zSz)+FfyJ$1JwL?fatKu;u1nq_kG(uyo}X zui;A;Rnq|RiT-BFTy|ptLdt5#tDu(UIzx$Of|~G_3I|ZA5Y_8r0clP9t0k-NPEiUZ z6K1KQCScQ8tPgWTJHT66Gsmr9{xq9jp+XXhc`k1f>!^=*H8k(q$^9ho;UCWKWrw01 zLL4*GZZdC>T4YEN55f;iByzAzrWM=dwdH|jFAfFk00cXo-3$f|To7lH%gZ1Upapz8 zfRNE%k%OdSAQ6YOVIfw>AeNh61q-m)CV7N8U|}YhrG`puqs>90>EVhT9Drvw9TX_I ziw9?piw~Cs17yq&WIO9rDm`AKPCHa$aIi7rcW9E!{i7ie<2AxW>)GIqz5TWU6jh_H zkGCWqVb&`$k2`E6_KQ zY&pR=1Ubf~IeX$n7pUbH5hQVfQXkU7d?|_w_C2IC2x_`l=Y3RuZ8vLXCo*bbQbwY{ z^YD?0glnlRNF*?r6dtt`CbXBmpmUIl(AUD5mdWj$1w*-L`f@3X`6p{wY@`Zk!7_{< z#Nj$u`10x0^Sq>j$kGy}&cM}Zc%pA%c=a>UcEeR*jp$?vXe}I0`2GSS%m*Qj<>W_M zz9%Lb4ZUTc9XN~Y_R_Oy_dC-B#1F)mnsUG{IjCOkS_7w-A)&?Cn-JS@&+4!vKf)c(;K-&ymMK+UdJ>LY_!3yo8rst z8haTa%!}L-Z9Am#O$V7{<`HrH#)5W*J1`UP-B%B+r^cO05wattzBcUKDt(u@C}Eu2S*Z5`t=V zNl-Nl@!>@UYYv(CebS8qt;f13=xH z#)*(K*oyOHMj;>K&C7tcEE?byn7AkIms7eg?ic*}&`q-;#BJXsT27O|$N`<1eM#Jp z8xT)>S&{&rP|F&%q+6`koufpvvY~_sQsTM*ayN4`K(4Mgx$U6!VD@ z*>p2YSr*PQU#6tX0Qog!ip_{d$#9o|T+4whwaO@&8&Ps?0VN~77XcYVuEf+iCD%oo zuS3aoZ3FcLXOs-VEz*LPq~v)(rg@qYanm{cT&2F`0>=7M7BB{Ao5}z*BLdJ^vxP7q z%^Ru)at=|}e%@i3G$~>Cl`-`b4?U=o5J}C4HhWDw+08pO6;V)+bCAS)fm#TlP!K zh48qu&BYP0fWp6rn8~CX#zJ=@P>%weYb_j)xFXt z3T~Sy9ud_Ai0GEqMxur$t*yJHwJn>6*0xOEa)^NKdY6avf=<02q^apTS$4(*y{5Vu zsDTv6-b;G3n;0{_hCtyTqSrKSt?(_B+J$NYq)f7~*Tpbs56q@0?aN4R(+3+m-l)$7 zp#!0Di_iU{zoBf_a1}|SFx_6w`W$wwoeM#7cB-I77`f*r3RN^Gqj<$D6;jYqytEui zswXzBV%Mn(WW& zM!JUcto3fL7aJB|j#5$r-0xQTUa}q1qvd{%{K9)5ubCYXx*n!;+B$?)-C$M>BSF-q@Q)6g1>;uWzT ziIJE{n+Y)?W;@i+B>iJj>U+s!r8XvVgqn!pzZutEg$+3}3Hj^{zj6P}blQ>~*^-DS zOAXMR8ek#LH`lffnI2n(g?ECrKP)P%mQyo$MK<0F)zyW?2tc(K$U+YBKfsm9m7p0k z)e#Lv2Ab&J#=yI@YWrAZD=U10%I!seP7jTE3N-?r|CEDOK*gVIkm&(^g60HA^83N- ziw=6O(SAKaN1*-VVauUF>fxO7IZSUWDsC=- zYL2vJfEuX@T-h2d#-n5-VZT_}^MTqVm_yZKn1FybPYPb83sI&FWI{65nIh^zNOp%tErNi0~>RUs+Q3Ve2xuc}qHK$Z;<$C{iIrPJ9|D z);b?Ut=O61@AHRJv~E<6*2RSf?qKYEqnLf0Lsc1kq28hnQF1|81)v1)xUMM@KI2pq^+)1{ zbOL8$0O}`Ii5BuiMXE%B;9PL89TN(24h1MJ=#|S_=1VRENuYrVEs7M6(aq$&Z1o4` zyvTI0CZuXqqKuyYFp#{rD8Y(RN5y=j#7z}#%&)>KCrnI%RXWZ9JXrg_uBB6(->5l4 z{I%Ln$W^si?6BSGw}@!;w@kE=%ff`f+F!AVHbC-he&?f*WCajU4;k49Z@#r)Bv%9@ zRedlLO-(RaTc8og7w0iaa6C~-L_pE-qNpT`OBX_r_XJAoQsGs4BW!WfnR*Y5G#yZp z)lUvzUSio$u~K&0hgS1DBA@&nW*h#HrR)B7!XJ_GOEoGMF?haq z)y6k=?(9;PFj^fepd$?wjs!0#=C_9nbGn|GuJNV&WjXOl+(pb5{O6^Ufr7phg+>^T z2BH~(`TPuJ81H5~iznH2=h=0*QakSriNw^_(P>5v_Pik?}1 zh}sXJ81q{KmGeVw$BigORplQysudMd(i@db(Lh#Hv3c>*CUpEQmy>6OMEMnPa7ND4`mvp=Z`K$kaf?;M^(Bpvq zLG|Sxdk8Sb_J9L=szFdt5Z5H1lZw98=lgHqpxnIb)R9RhN)532=^BTNyBWo%NsO*S zjnKf*ckllDpZ>jX_G?i?5?8Z}#EPHSsj^dKHf^+v&m2#c@y92B?)TQrKEirw_R?n+ zQxXJk3j(UajS-B!5X>SrUI@N-i2{5{EEprAVs@E)Os`;!Aduzq*-k(Q2qU5O7lIEi z?g2uR0#E~jU8eJOxQJRF9X zfXHf1#RE}Y70kHO9!>=Y$9MAP15WBX;^&3nFi}lQ46DLn_aX)I4#5KpU#8Dh#o-)Y zuD`Gw9rlpF6^ut-ufr13B8&V0C?~3biG#}_RMVoW!z}kLXi&pr*Fe}!BQz(QE|KK#bkL^zZ1u6k zWq(m+ZBHf)g|JaTrpKj#cC#%otpDf^-HP(^yq1yW86RIn z25668Hy1wj!)H&qW`DF4Vs&zH))SV6vb{L#ymbQ>a_p<}D#N0hf6L0CPg7>Lf~QnIOEFlCxvltG zcGw5H<%R-g_GafrU)lMuvF;PffZ^fCFLqx)#narMcTZ;DeS>Zv`?2O^cEoNk{tmZO zb~}5K+uu9n?`L}^vmZZd_ve0^`|t6|-#a>)J@)Ij+QY?@qj_0v0#i3$`aI(2s_dCB za5)!d4?W8DkD}HAiAKJ({uqyg**A3gtjk{dd9I&#tpiQzWk!a4JyvAMF?bZ8M~0VJ z(n2y^Z>bB(5MMK|FC@cDEp;Io>YUaR8FED3KROu>bjVO={FKPh+uE{+ppg8-0!t9f zQz8Ue+&Tlc`KhXHh=(d#@)LL`fZGja1opKd^j8I0*w=<6LR2DF%s`dWe5f2@0>c?^ zi#rgIZ9fFFpbsW#7GE6dl#D28#q&4eOFg$ga1-GJ;ko^R8|Ga-w?A+b@ogKP+aI`z zG~H{?Z`a4RR1WVep3S;byg(#|kG$%S<5HUe^${WI|B|An%xRk$qr*kl{^C&i^H6x~ zP^p2C|2z~chiHoVso9NVSYkN!yb(_P#k?;LdAkFL2DXHV*jhk7B_Uw+eq2+AtO0Zv zSt-7>*cO|J9?JkR6N(u{Cp1Pk$$k-L?3+Us3)KNdIUt}%$}?=6xug$sZws7XjZB)(I)CiPpP%`mIVk>9SPi?2F4*dG2+qY<;U$ zo`2mc(d~jO@ttTw&qsZFaTf=RO+c!T(Zta%+XE(e*um2a2hU13@WhC%o)7M5^54*qJ1F;@T04o?X7m`(L+8_T&m}+1J2x)@|7HRw27^ea`b#KR<_6 zYkTL9l!HbA#`AZypYY={fgw9NOz)QSeac~S z>Ey_jrguK2oOwNveyp4yRSsV*?Y!e1f&IGGq2a0K&j2psGoAj z!3DtzObvfr4V%*TF?4I2863XBiafu1wbdWtv6|0?!ko6_FuO?2T*k**ZTnZFwttng zUc9H(f@MX6w$?Do?q7YsGGQRB11VJw04y;aman@N^!j|?r_A`*^u9)I?<;(=y!X|X zgy@O-rb$lTSJRdKT)}2XJYVfDgB4abv{l!4`L!LetZVlG-bMleFiG07xSg1bHKT__ zJ}Ushhvucf1NRfSv50|S$8TK&B)*WI$J|%2{Wy@G=y|=zoTeFC2S`Qo1mlu2cwmww z-Ka1o^f?>~4!)xlZ<}US;tK7J~=EH?l z6p{Gf zNQVgMiv%Kc!HPh6E?&i^HcFr#C2$1Wws3nr_|#dLDG(;`9_a)j>w@294*&qM&zPAK zG}MqkRsiWot{LM|>tM6PS5};U(4;Eu9DShKsb~&M4mhZ}v zU(mK{+xVY1s+Sk`sQntCv%?y23a|NuYfsT=V-S;Wdtdhhx1@gnmLpk*fm zG@Iuut~NuYEu}a-1Ol=Xee`fmsVNaNXOXGxDZ7vEo2CnV4Bvr@(qN0WUZi@@jXV~t&a76{GPNiZSz(&ZjAMR{2rZ- zk2n~MKQ4s_)qku-85WjEv3l&i)hfsltAZ7GHawxC31qGTt@J_010i4>Z)>~uRJPFlKd>_gUh~dsnmGu|%Af0!XswjCmf>2*FzKZc4%ir`}$O)$yl5`ccbwBmBq5$Bj=PXh{bv|$5u z8|JV-+L&XWGp^g6=6Y*#+I0zYDt2-UVGF%3Hgjp*9xrGDy>QLD$;5po!<0 zzYCh;_r~4ry5G&YBT4s|8)NobpLFHBpsVX`;fQyeLWp)je}qfdNc2I_!yf4O^Tf%E zw{fYyHTdqrm|=#)4^^WlA&OFG^E3OuzB8@2H$T^H^D}ld11oKQh6u7^^K;}76wEaC zeT;nX^JWs*wH#Bq4x$2?>KyjI;vCy${l4d-tj`ChD#y=xxdXYbzyxh=ce^zQ$KJD| zPyFCnZw-m#`OX24osVBL(Ep#jw}H3hstSCo>YV#|?(MElZlFmwQs>x8N4h1>%OfH1 z!&?^;5(tx^;Gi=;VbmF4ck~HlBF_ow8`23a28?5br~#W0NS-FxYLvhPxRE9V2pXB7 zL8CShG(wP8!kG66X8!-RtIj$1_U)v@Q#aIk<4gg^`$g)Hi8rmmDAf*&5t0(jFAdoX;Sr6il91NL&*MZ7{U&cx?QyHRq0 z^;ko~XkpJM7YLOhdh}za@;>d3QbTr0vKfM5W?gcmQ)u0ibgUtyjo+RxhK8YJDFz}I zC`U!=$T)z{$sCQ}>0Ld3-c_z;yxL>NU=dq%5qrr5BWVi@1ut`Ey7w~#LSfF#1RZ5Z zs-TzQ35H^JbihFG6JQWc`L7e_J!Y!`!}?0dNY7RSCS>LS31EP!>kQM3J^IreJ~-V- zqpS|j9=r;PRO9*=yZNlj7eDdl0mFGislzX=G0m#3N3%^)77J3#Tm$@OK z5iEn*m_cxi~r3%=w&1lyH&s{rX@PcwM2vHU}fgL|J{c9)kuE=&M zLzdr`m7mH7`OXYEfev9d14T@ZzPVTgLyh6!hTbh8{^aguVGHG@_=-OJmG9}^HS4Gh}IC|%YTO5tMz|pG? zuEo(?-`@giHI5DewbV|`S{xPP$AY7`Fw23Xf7Dn^@sF6mVtPem)b!j=79FK&(LMP7 z+ZZDfQJwA_8d3<$&+{u?bU_=q(*$2eJ^UcE-l0#@(s|s+-d+6=746KRIdK>6oidTr zv#G??{L9Od?0RqN497^#Ps9)HW$0njkmcqX>`0+VGKAF+_S{u)m?UUYo@X(h@hMVN z^%0K4`x?GLa+CAIRP!*WD9Y%u4)F?d$UV#=go)r!FY>2_vs5bWf?tpy0Id`HiOX{+ zv8D^?>?YB_f)nvo=E$2E5;S~3>s!cw2OtwcgKEn!R=?__@lHhkakw#k|i$oG_!i%_xB_A@BILrQtA`0ZL%-#KvI)@CyjR zTots!%MNbTjP+sgt9n2hO%EH9ym=op5`V1H;(^2-${W#*X}Wb_h!l~j%v_QxP9*j8 z?kQD)3gK@);zG{Kc%cH&qf+vxQi`z8I7X$yHZbg~?hYr^RbhvPVN6Z9)d9ECKVCMU zhZ0XGpRkuXaD1?MQv1=|csE>f z*sWAnz<;x8YFA4r#-dI`t`8k-?2L60-aO^&8Lbj-2XEf+=s^cXF>A!2PT1bHt1AT# zyNZrtW4xu9;6aEXDI^bEY6FzfgVdL1z^*9Q;;@z&u=pDTwiCw+n`S~;U!BDiVdJvV zbQ$&2(1d3`3*w3A3wJugidLs^|0hr1E0z{alzh$^b*EZ`XqR%Pg7;k|PLv<#z)|5q7|tHB{iCzm+gZ1@svhqXPHyfNntr z;?5fD2folyfqT9AAPD@vZa&lOe4%{Bl@2La?}A5y<`u%;S|ccZJ9s9!GgTAPkLWyUYTYtRFKwZM+{XZfJ98lTSO=1<)i6wSfwocMy>}T*SGL zHH7!vT#**Yf|n6;AwKxu*qcrUcJn5 z3~t$ZOv4+ly5X+u)w?nLG{uePKmLSG3{G%(O>>bFoA+0dfQ!Z|JW+IOIkHD?8;{Nc|nlVbZ<3x3VM_7fj(fEV*4<`7WCIB9` zAU2+ILI8^aZr=l}E`@NM16s6$Ds?T~k_m4N8q6iHkztNuFs5o6;fc$9)3u1dAze{F zV|N3a3~-0F`3;WfsR}i0TZA%g?0vN}BqdXj64wFbvzs_q7SxV`v)=SrheU>IZt+}% zrf_4FE!LIucd_!PTwSxBSh}%%F{|=PvwW!=%J114w`J~+w5EP6+Sl}w4ml_4c&DDk3;g4RHf=opL8Kp$XF3&CJkJqF*+Uq^Rh6IrgxItjWQ zSTZ0lS}g(TBm%+}qLLgBJ7Z)-*Jck+WdjpQN#|!-!|YEDdiCu2yOV!1!-SORA4>`w zU*XwLH?GUW2kgh%82;hwJPaRhd$8WaiQTD_Kb5L<%;NbPcsNnOiqIf{G+>E}Wvn(6 zU}I5v^An11BP_T+jC2JEks*=<0XwN5R1TB#wNLwOM22i;*+c0I@bBT~ZX(L+1D{{P zMJ5|??oCDyVO+N~C4EfK_1=|e35)+ScU3>$swy4rHH2s&fnE+u1_~7 zR7`t9MOF1L?N>mLIiC`i(7Czu>*IH&owanrT?_yV@9t_M0-qAiC3Y;@fi55)^FTmHStg^Nag~A*`XhjM+Hmld^2kuLhSfvf-PrWe|HVyL4=* z4!p@f4Op9@v1eMb;m-ge-E;a6NZq8p+_Gh@sZ?lGRr)+e*{}NSGp(xI^r16SRJP%) zF%$wad^4*FlORk5|IdI?sFcSi0i~UP+TNqO*A72)2lh{iC8=nkVZyjPMB`{U87Bao?e%@N3;yGJ00M&L%sx8hVHsS|KS8{G(*i{zRd9hi-`7O$nVN}!8R za%JHypOM$gj`A^k#{NEm-!2EcLhgz*DtD>3XW27&PET2Hr*an&C=+xD{@zYOXn7ro zdvgkM()HLoV*VqMP{Ktc1)Ie?@Knb>(-RAJX=>kS4PQ#pBmeaEul?hf|LTK}WP2}i zvrZcNI6u+6>KGGQ$f5S1P$ zDCh!~3i?V_MaR!rKLb2}XO;HS@yD(x;an(m>N#16&|toYA7geAkqgdOfbv~3bIbJRBDl-@22QIr_A8RzKEv3A9m zVViOEZW)K1gX--#u}lF~dh1wj`iokMys zc6=`ROr60vyLt3w9MbDgq<ss*fpgzbg6aeT6gRWS4Ni6BnPVo^lF*p_UuHrL{~OakIO z8LNUo1DJ=a0^LT8UGD(zicAGSuG8`a1OeWglqA#Aqn=?KArO7m2YTPGYKz#AG(c+5 znKp_70If*jY<(yUtI5d*O=^00% zvM*Gz$jh5^w7b}fC3`t`H%OzH#tWP<(JhhtF}qMh=V_hI5YA2?VSQ+w^NnPW&?I8! z3I?gVh2YG8uTigZ>xPqRAP&&qd&73VbU4}5kCoR-VU{V9ixJoGvllHyoiXE?JLAJ)Y2;5Jhx)mgUU1T~&FFf1U z(njXWCbleSk5_067d~#bAw<&i@)fC4L?b%9BXxf}6q;Y#&>A-N`jEz(KGWpggRq`=7KqI!Z@wzRm zvff{I+S54mdU-Zn$?Ay<)0Vsd+@FUM%xZ^FGYXFX;J7>ZnM;3?h}!nIlI=-nheT%b zPMY%IF0tOR>FhLm(DVAsOqaR~Pko zW+U9G#_}97j?u6BS`&3Wc`Q-aFtg7stS=^motw}d1m}dKlHVmr!R?h0`MF!z0E%k* zg1&}4LwVHd>2@`7VYr}DDAdCl5MmEwL1vrc69o{fUwl(gcbX`fPO(1D6g{!q{hCa??fZ zOYmUvB3@AAPY)_hm+Iq-5Cea^nU(xQB6=jHVJ z_@N5Go&g^^@Sb0P&oy67qrgqHA_-Tw{yd}6zIp|-H(5Rx1P426 zEJjYt6*jg8)@y$YlDYesRZllD{x6Lvd!Mvtb#(WWykS(?K z4?lT{jdbh3X06#uySXV_;_k9XBig+G!r47+d~b@RuaqO+%~BV9w^ zS(wa5H>DQoc#)>ysR8k#UtjsyAAkJ%D?a@@4`%q-R#Eh&zx>6oy!p<1-*cZu`o{3h zb}vhxx$l?1@+S{``ql@0!r6ipef49Xxb#nN{PXvG#UdyhQv(#Wu=!`YJewk=k8>Go zr~V^Glv`#>8E6I$!w@~wpn(hgqH7?Aj9Kqp(|;vOl`ox!>oM|$&c!n#4yY4;xnO2B z1;T`LF2|oyjB_q;<#cZT=c<{@26=kC^hkc$MYP5WYQALgT?P{6y7~^NWI8HIb*D-& z&xTVl8wu^>@d|t#-!hlOuj!8sPhU3Rn<=V{zFHqH(JrJ-KZnEcAm-mL+QI17G~Hr^ z^gnfpSF4}9?6Thf-N8ssx0SeBhKT(#Iq^Z0+Y}{iNcj!}uMi}YS3Wc%OuWp;>R^aO z{$iq<&;uG621EEXS$ap&5b-X}K8{ETs>FoiW|C+2#SjwR9d>RQ31N$pbEZ5+LX5iO z$m27&A2^pMhOxc1XM z76ToSA4<=0NRobXyu5Te=+RX~2aj zBXolLZ}0t;uenE17s&-73jgsBKKd1M_W)lCVVw}FVKo@?5oN3&@en5lsMbXNKzjV{ z93c&9aw5q=)S$%3p>`aazN^0TY9!Q`@&?k&nvXP`hWL`Kj;l`AO&0w~d`BXMIB^%z zQ$C5FVFoN}N9HcdKM1LDPRRwj)XzuIDi*`+xuM%hz{(L87{}=u)L*}gT-P|=KmE;k z*<9y0dXc|rDo5PR+!6FQ<0I;W-^gkHW;B6RO3S^_1(FhT6+88@7x8Fe-}J-a;$hhL zgc3!lF<`Y;Z&y7k?uOfJ5-&f%w^|OB|j}S zNl;_+L9GdiBu+bzx?z7Nc3`sG3EGhQDP{nOF$J)ahK`Cgqb4`N^zv#4Z zxse(3QWT$=qaD^r*hFhR$8Zj7YK-OBmy?N+sh#)+4r`p&d_J8j3~|&xXg-g_8kN}; z2(7!XhpUTkJNh09tCFqK)tbW^;q%+q9M(wD$!ia5^lN1b$((#haY6CIl?;t(_tb%u zZz4}2DuAuAoz6iw+(j%>eb2jAqL2^gHcg^7H@oGdjdJxaAfHL#x4Dd+Sc5xB}~2KLUe!gSL{?5xWu6W$)5Ni^n*E zlo{#p2f#Kip#00`J28>y*wy4~%}1rAnP1K${&Mu6JLS_qfbvZYJLHW6uj33NOJ6&f zd~G%P1M?Bv?@8ET5^0C4ys_>Q^Xma5v+AO(Cou)dm&|%QS@QEu9_+}E9(k~NeK)UG zopa}>u$o0~Yrc&<*yNeSMt}mYBZX!R^!b!MvNlYpy7dqy#s^vEEI>h(ZO6u7>ocR3p)tL!ww6IVK$8{ z)c;&>a;IlpV$O8mCpsWZAR@r;ZiiW;!cRN+0tA#ifBLy$H#CMZ)g z1g?$!9u8=2WBuf&anz1>j{=dZA?UY4)4_aF2_3fCzfv9RX=nYKMqq;{tn0t`y{@MqVn3{LdI!= z{7f2fcb&I_WI8vzcWWol6(kTvp@*YM0NC~qEXLipAfTA(6(?9Cr180?#*R{V>S9CC5uPd@hR-72lAHc$0xtQp~ zs5HHSl(i|#`ocbh!3s_W)mo?@_%c$4^ZU6X&E8?QS*D;~SiuD-Y)TYD9F=om0u$I% zLvK(5Kn(&^Zx=_V>b-Bj4S;X1i752v<-?z#<5az``8m~tEr1u&7cJy076YcH>Xmrm zWtgOhz4$TO(>*GY^eayUY-dGLJ6}<>DEXOU83IbSbM%E4Pdg2sh7C9U#!?+mDqd$e zw)fz$J%VD^Y45xv+p`PJ?#ThWv`FjJ)XwgH%T9};)0nuI^T>eb$q?l}SwN>)r!%gO zFaHz%Kx71yv;o&R)B!P9;fr|y!`SCWtmO`Qzv{US&Exp4lGDx=xdW~ju3-4#n@z@@usd$(z$f|vxU_|u9B!SZxkRO1#V|>0* z-)-A^Rx`j9Fk&hiWX)G=WyQHXv^jpiviC;?f>@+)uhIq~wnvTjlZ3{17nd-fzP6U! z{gm|{A6=R>J+4Brkt#W^tyQO<-v#@H=df#u(|zR69ZY#iDP<#fs>x%4+!489cL%9F zT8>qq!o~>wSbF5PKYjWSR2+8|y`Q?CAx|xRE>moW79fm7KlB_V-&nM@PBL0qD$WGw z9`Vtdjs>8Z=25M!e=(L1b0eJFg^t$p*$rkCNf`=aG609 zAJOXt1skN*K@rD`kwS!;;i;^CilLN=jDTv8k<_IHAni)!WcDtg*S#IY)-{`#k!<eG3)J_mBc2FerM& zPda+VLHM12AVc-Vc6jU0kZ31a!R$S+Ss#~RF7g=7tY%(m)3WfLmfQFa?EwC+s7_Vo zAm`HDWI{gh*mlf?I2RhHnO?FRfs=pMoPhVEu`Jyf`aj>%ES(QHD>WX_-zIphaVm042nG-Z? zg0`$G>Zm(TkM7Z7P*ci8@nVWx`Qe^Dtc#8jcvbIzo2;PZjyCKR)z~RM*0Z^MWiR3#vinaDx*)*M29qdMOgAYApW z+|^I1?`;e2Dw4GtsS(?mdlujUT*RZF894bYr5mrN*?QKc0NNVNAVM(WhHhY{L_F1Y z&0NL{$Clw4s7Pt1Sm@`c`GRX$r=+>Xhg0i=|0Hi~?a&i}9 znWP%hff#XQ9&10&66pXRMjvHsnikN7q@%4BbTrX3)ObibV%+s??B+>2!i)KfYvgd= zUk)30*JVqR0SnRzDHvoTXRPkf2>LJ&HG$(UtPkfjMO+uZCNHds^Ix`LnA^84n6JaP zKR%Bv&3-`A)kEukP9C(t9vdTOFf~T?EAe(+^c2jgpsk%{8Q9<-h}iBII_a+B@{&Bt z0^tz2v>w_Ao}6)FdIhdObnakbMh$LCAR5D=8qpYtk#r5omKy@>H0-jof`n3eu$lSJ zrco6^@3YX7=o=K7ziFvZqtaNN^B6%&Jsbg<)i1r=RlbvM((5La3PQwil~p;17*0-( zt4kY^FO|~6STS6vUz!_SfS)=BxMXdQRUXE5l?tbtmcRTz{A7#l<)z>96MoM-zBv>A zKf&tW`z=4&`)>K>O!nuCVk+4;6VZ~oBH|Z|wQ<7=Oes}`q~|J18l9_%0ORx{*hqOU zTqpfg9D$Uyy9dcXJBUz9RAlTd)K0q#l#lG;k4)(%6}A!xQ9L1m+yw)~9?3Ea&1A8t z2#F;_x}>o)ybVd%NI({16dV(}$wOQ;2cExE{;&;Zs7yAa7KBVh3sjGErrgok*UH8X zUE0c7i;&kZi*;G?DmeMvC;tb7k617Y&| z@U@6sz|9Ww3IdhhKS{oLT%X8y_<%^M+lyjih?o;_q6M)M=aWXK%fhu1tS~%Ut7hnQ zS$bi4Fx~2Ok9Pb9IQkgE8CyCURI^5>n;r^h(4l!R>Km-Ks}xXyiSRJ06xX;UtbzDU0r;2zp-QCd)kI?O|4-wq(MZ1_ z9ROCV>>O2AbNfqKjZyISNLKULDp}0}WU*G7YGk$e99b=WK9beeeBQ`v@iwwrdV7tm z)}?{A_M^*cSH-HC9+%aub$wZFT4yI#)u1~rt1&@)bSPn|)wjMLP2ySz1yY-{5F5lt zk=oXN;t~iM4#_Rde8(umsbwp?`KKK9Aj$yEP;{f(#}?g^l#b~3KLIEIr6cG5TTD*B z@^`;EocxcAVNQ-5!*0TH*#{_@m=w6R8DuK_wHZ8>7HHzShq)FG&6Vua zUdlnn+i}_*Z^~Ka;2POoNrV>a9Un<7!UGU4C-~SJ0Uu+lDZSjPL(bXzSIo#8AOL?mQhl@>924!Nik4z+{08ag zSQQ(hipQj(V_(e27pv%KUd18_oS0^ZFlo84jqzyNjOr= zjnv|5xsOFJ#hP!7Lh9)vaTI}vT5h+#8$GJn3U1Jutv&gAb?3Iq>N@$@Galg*^IOn z5j;p5n2Plg4azyR=L6Bli`SF)mvN8B1ogiTSDDpnmLzz+0+QxY>?{^^Av#fh2D1)8kh*a-!y*p|zzI;$ulf`_`Yg*% zV_$~LDd1p=267-q?hyFMZDGZU`cLwco=BrXzs?0gG4&bjXPgfYVV#Q&3O?RGh)*d^ zbT!osx)Jch<7e9+-r{8LfEs(GKOY_5(dUScj3gKX^e<^JS){@8bVoQ?B*mJrG4f@) zz1g%*Wt-W#j>>nW@ocBH02Wi?9F>G2$gdbIS#roIUa;r*t~u=>jmg6eo)Y z64VeTV-BZm;Y?yMffShzK@rr-K4M)T1+0NSy?Qq7!3K$!*;W2#3~Mf(TWJ%}OMy!3 zDNRbC%v73*%>xu7{(FtIiFdd5r=nY@ji#cS3%}T4#=WuWFmw6%bc|eOt>~0sw{pMn z=?Ev~lW1j2ywgs`DeYvO){j6OjsTymwh(6TQR_jcwxm1eBj#v?0qi)k;F~@ttcqwa z5uymlqSKXOfOSd$(dJ$CjaNf)U)pcN;($4Jb6M_g4iq3#qgMe_KmOd=tRp)${ry@E` z>+^RS7aG}~o}a?y5V`BdW8219V;O{ zTowWxE@U=f0%2xH(3o{dF*~aY9j*Y~_cj_hl@`Ajmk+vCANX}3qxydW$0bQ{!29r)qxvJ!r4wt`|MFyGTTtO3bf~v z_!@km{MVJ|eNd6~*TYh{3!mz&+EC4khU6I%4GED44e4<)Y|&gr(vPn+CfA! zaBar`zn55WJu@_Cg9So90rZo+Cy9c_NtYpWBum3c$T=2aZtQnNr>6UXBtf$}5Nzy_ zJe#MDd7Zs{n7lJ)XuI0_<4$^qW>Ibk2LrI4I^#}fQ_K;Stg~v$7CAVMj0WZFuvx|; z)P6Z-uiTvhLj2I=AP7fw8EH9HJ&}~o+R0pS#|Ws{sG7xxgqC|1ZdVaNkyV?ct!Ad| z2c(x*>ExQ^105!uu6U0+1}!^FzBUmqEOxU1`zA| z7^)sDK9yH-1y7)LWV%2xG%%LG=Wf{@a0uC<%Tzg!3$g(a)~Hh!T+wck+D=3nv!Gmk zR*CBjm!_dOY$L3v@ER~hDjvG2T+$Z#ON#?G*iv>$h&+>+208GMX9j(IbVy(^=RsdO zRXpkjM)Mr(m5`<5K#r$^s~obCwtd2 ziCCnf7$R2DB9>uMAlCd4vF3+}MF)`2qW=wI&5Kxwq80PY>K)ZbZS&O=Iozh{vXzPv z^GWi7w(y&Idg2ywgQ?;s+;puz#=xTRK^O%He02+b2God*5c+==3Gb)}M-r<8SB6M( z^Eya^Udmf@gP74$A#?S##kdHicfnA3LKHM$S&oN1#oD7M^>xGPIKG1Q4u1gxj)-Ex zMxSOv9^Onvq(ph#3(T{oX6pwfqA~Fj=7U3$%2KKC9=6+~7x%Sq);Z5^9=-_#>+6QU zSb6oq;dgWsMhz&rG0`@m=m!(pV;f1ubED!D1$qe!iFcB_GK`&c45RBTTsbv}R#=5yn+oKS5$W zXEqeM*O$#kXmR=*Ezr3}8nG*JsW!gx znk3Cn>dCd{qsNYKOecV>j&Fo)ua0k|O8{QF4Bd6s@({`*WdbpaqE6#YCaG%T7wHXa znyMiGUd2u`dyKul4O?Zh~)m}qO8_!r_qSOJ_1 zcGu6@)f4m5;zgO*0)=ip`3O7kZp&Fg1Y>k!vj zr0QYxReOv@!I;9dYbWWG%IL|kh2l&)Oq+pb7jeQJyOUKng0MPZKsRxb(aR=*c9WQ; z&qtRcS{k>7=rsHUm(xHGItNi>jg&8RyD_4p^ucR;8gOA*JNld#)&y^bt#=#cz=fj~ z>Kkud0Z`g{DcH&-g0~<+25;plcq?isqSjR5UK>kl z{0mY{rDj^+s8C*X{=r()>$4z4v{y>d#al9cb( zMhh?4TJk<0Z~+>UPX-+vm?en4?RxzI3jG0!@CU$eIQ#(s?DTocxl83sJdG3rv^$X_ zcfJQ0MV6j@IZwO$_8zSYUOCNImW!7#@Qlys$n?_mKKeGrWiRqPrU{chNSt&HKrp}o ze3fGW8{s+z5T4D(bPOW`Rg(w7*S?v<$BW_r<><$1_-7bAjv*5b;b7v+KFA){a0q5O z0Fzt*2tF5QCV`|PQSJ8Qf=2?jq~Z7ixk0@#qWbalEsd9s?`sak&_B5@KP{MMsL&&|n|=U`U#Ok&|L4s0gxV#vYa@A>+t| zbmN`OF01eL4v=JVwy{si;@-SBQQya%qE&h-@5|~hQC4M7&%4jcve9A1bX7Zj3co>? zRrRgE9Ivu1wKF9Egks?-1rh38-%xg((o|ReaIxq=_Xf=px8_7C3Yr6@Jjny0Mq_4C-}`YTfvPHu zxFwvcDsBoJ*YaEh_wc(mxMw?8!rdR>?G&jk#3|dVq6>`t@FWCwdc;ODiEUM}7(88f zNZ1vQ+MP3a#~^;lr^{Be3X7{&0pa7&Y9s*94DKCwp?)|9gZ-<{##I5XSKsM?=J@tW zGG7j!ixD;ft_f~xc*6kKf;#K#4z2+2SUYtJaQ#5hI$t&5c7-MVL7A3cO7lVhW{I6^ zGH?nwY9YitZgBB-RB)cDshYkIhE_zlR_H!%8#ce8baAJb|MEZ3lTLY#Imp4UbSTCU z!dnMZ`sBGGn5<;v9spUPb|NyNQ*HC&1-*i)d$I4rIsyqnB@^@|M)muG7-{RNh97C%rFFlRCiNDo^pK>8Q0n)y0Yij=3I> zpb{|>TX>Hlc)e*b)uc?GN-kzezX7`@a5UntGA!5vxkkJlIg1PXnsf?~&EzZ&Rwm*o zk#-wB(Q0``x4vd?qXQ2qcv2pKnxpHaH3*3r`Q(93X;|8m0QH(-0TL&^8J6xI4lCS0 zyxv4sv>2H=IhES(-DorP+ zTsWN<4@e5OFO7P}QM+VbLoIGkkgA%2qZd`v=R5F;c3!JaJMh@6)W95@r0Dm2VI?G9Gpq((zvYH?-QOR}u>Nxa zqmPsnBVOntm1MHOm|94c3{hsd8FCFJX}p{z3JvKBp0#-Z3ny4>HP3?OHIdfal9pkG z;rm^W&@fYH8cv^=4{l@A&&+I%86wyKBPs<>~X zx1)}+Q0;FI6&vXW-nM*u!|Zr}o62ULQwr6)_rohb$B8xWqS<{iZ;tf3L*TViQtleB zw41_gO?DD2f-`p%mh=w0;X#{N?HzU}Wefm$tUh$Gk*g$x^`RBytqvs5w7&PJA1U;4 zY0rzy9d(V_%UoS6oge z?zuk5!?dg4S@ezQ*>>-Op?K*IX3CdfuA$zvCCd~=8r@sju`P?HneEzhFiw?WuW}pL zpOvB~*KKSPr`)=;Y8TO!ZB)b5SJcbah4$C!tP}rff}N;ux_qTE!4`GsH52vC7Hw#( zvPn!E%lAe*XQ7#oN_e9#v>nG2RWH>MRIjif+HU&Cu;ciaOhQhl8yF2owk>Kso6R>h zugTur92=e2i^AhCKOgs;DB|_7ZUIX^m`IQyuUBYILXP_Xio7KIE&;h;iow`spGLCF z4T_qh?qd_CyPzp)gqCvLM}XWE+N7;IsF=urUONdsiq=nQrm84aA*m%7IZjI}y32}I zfjv#~RDu}xiG`u?*u7YeNNP@ybt&h-zn)7aIi6YjS)uZQsgSAj2EB3$6wvTA)@$Cv zDJQlp#*2GNV0;NDA8Mp#?oZD^nTiI^OI_eEU@3n$XT;{*ql1cYxMPK}w)_q|XO~YH z%s(%S{|(8RPVKGsnhjC?rXdh1uueahhqgF9(A0& z4vw}`GV@U9&=C`28^-YY%Ru)#h~PnT;e!5%MSz=w%qE~c8-x=fu?6+6r|H-x0s5yP z2>KM6F8ql^*YrYPg$xfaH!je8niaMpz|G=q`&Yk?fn4j(OS9PGsoUz*jHi;99a_h$ zIZ1C*#Rshdh`347e%O{Fy-5o@)rM!np*o=$Sc~TG)o25?==j9-b}6nG0ZZtKv@&V| zYmf3>^s8N`jxw1@Jb=2Hp{vtsQ@$RrFaZ)tE$9-&wDE+wS=fJ1>_Jso)6cA-9Lnu7 zF^~%xJCp&pnV_rNs!ppHHJQrJ;sGqg++;j|9+zvV`57Qp6p*aU^6gecUv-dc@?qj2 z_h+iA^+T7_lT#@+bMF2AIPiMrNZ+C%=GY5&8p*ak&F*lOj%rD)$dym@d^P_}^tsH| z(1PL!&(gKs=GT=eA#6}l<)3Y7`)!)K?pV1k)QhbC?Ht~@smKuDo74GPl`9mG1QN9) zd_=FoK+(5)Z{VTz&0Ke8SgW+6g>Ir8!3*fzZw;e2JBX;|JF{+|c3d}1mPT@kRfr5! zy?~(41y@1AZ>NJe^i{j*Oh_33H#teGCS2ej1B$a3pb`wdlh7d)mT-?B=z+nLp+4g}WZ$)zsc`OM^;JJsEEot+Pn@0H8(! zRyTP-DW*u1p^BX-q*;r=sK7B@m^h@ZzTr!ZiYNqhAderpALXDc{iaqiWJEixN02f&jn z%c8Fi-vV>AKlkddS#(_bFl@!jaY|7k$2pqlu_Zx4DZx|Mp={N*&6aXk0W4lTx&X$I ziVaG?+Q4lp_!u*Tu|~M>{B6uZLBAtB=u+Q;dFT$8Gss7di(Vm@JA=0A9XH- zundU^U&k_~(ZmwT zH6spZbHfVU>XR-rf}j-$-wC$wSsXdT&^38(7-Pbav`^Iu&l% zG{4<5QrNL^QIMq6ML}t`dX3pl9eTO8)HQbP_&uUjDQ;VL*9597S|k|O-YmIsxtgZo zd^UYNJv%+?aEB1UUCtxizVON7>}KVcIcN0DYT;G!IOyTJ-3&3vZZ>;yiKd2U7fYqS z|DDjfMkrmina5F94Y5RhVW2W5932%%=SKo5J7MZv$cGA~@%(vQk{dmWk{_I$F5A_E z8i91)?SXkCHWWyU*4KSL1kyFm?(^HTO<0n9{aj?^|1SS;DN5h>h`uh23?X!w0&shMNzt<|2y{CXKTGc~9j zv|)O*EFldjXA*tDwF~dYM;YM{B2G8PL`L=|b`44eteF&Ji3{rm9J9v7EHYEo25ibk zohA2n#6NS?DL`&O&f>|K067x^^mx$|V1W3j;oovx35a#J~9F*)lxQpW)!;2H?;=H=>)Yhp_V6ah`vJ9wg>m&pi z@!3O%XVq~i7q!(7<9B}|Kfw4aP};43AJ?U2Op!Pa%aUj>%w(#xR#D&5c02vNWB7A4 zW%UjC0y$xun6OROT2`B?ji+ZDxg2kfqD`*vd456VrmIbj;zDDakYinJbG*XFB+02F zk}}?ZSMGPu%CB=%|2jZWf;0n;HM~k;4^gYy^o-&LAA%FtiL1nr^iN0#aU4i>GYLRd z@+5piGyyu6+mF1yCGJ2j?w=BppmzqI;P=Fx(qS3z^8+vNJO6??)Y1{#AN8%N0oI9k zW`xfg(jA*)84vDAuM9Rod%aI{dK{}Ug-jKTokdXoV0sPGgJX1ZYeTqgoW(HS#WrVn zmiKe8pC#O(7bHP4E{HdGwI>VaEQ&Zjo}1@aMIRSOctfZJycw?Pyv`;oaUW7!LJXYt zt;CZ6MZLYE)v4G?-XJL?Xi!rDpbY}9_5y;!s%GM8-~DR(gKbnSY;`sbQR1Xch3ZEg ztTub%4z?b7APsTNTtn(^;+k{fnxi&83O`nYD%}505EEAE-x`R`hEA3G&OI``5W{#9 zy-g5vVE{3m^63|w@qR<$dJv-y7god+qO1)e2L3)8#74cUW_HI^BGS283%JE5+?Lz@ z1eu||cCkyH0B4LldjA+uw0DmWisLic3q-6Sim2Kk0*AOs+aQ^mDy4ERB&E7^5A+DE zLZ26mg4L-5knFuBK>Bn9NG5KCda11#W}Wx?U8|gihpaTqf~kOpgIgQZ0&Vw5WBLMN z68%O_9;4qa$&LeZpE%qdeB$-v1f1D}fb*Am5W$OfazOKXXarCL3@&h#ZBfFxq~Ry@ z@K)YfUwNpd;ZaInR>l!zJStBXfuf-f?V5(5u%?R?U__9b3xYlCSb}abOxIUgi#Vyb z$JvM@X@;B}5MSCN@sHWatHhQ>0k9H3SI;5@jLcR#HywfpQt`k03a~~)ehn5Ia2jwI zHa-nICnB_6NM1dD*sKJj^UonkcVp_ISYzN_=@vqYHhNE*I%>JQxhv|s(w$nBAZP8b z>Kv#}(dJF;^`M6nmO4>DL3FZ74U`x6!c%4^BY%L>5XoH3-SEG$b9tNhXd;RNT7W0K za_GvTR2TEFOc4F4A7HXZU1z6R+jyUdQ@aP<;nD>oF@fmn2imUcHBt&NY`~PBjt!u| za91H&V=e6$sq-PiCVwHFhG;8M4OM|6SUU1C@8Sr;9N3L&<1U9*3gU?no{>hP41Lr1 zM^8`e7eVy)kjD0eKqQ#G(oHC^4dYL7;Et{^D_!8%-x>!z-FZJq!&D@ip!?D*_ zk&Ob?eq;IknBqvf&t_452k(Jl0Q>3&UDpZ*mM6jBnz(x`!NB*yLn#X1LH~0 z`ivLm8j+_9935v@$UaKKp957xbwii`c{XE z5l^BKY@B8irfXnOFp{-RC;Q>_nEi0NzU$MrGd@sj=O039?ERGzV|cS zm?jL$7AdMy5`SUmap7kMso*eM)PT|SMplgXYbTk zgI(b_(qnLf4z>6sWXw}LSL03(9<_AEg;>qRY6?*U)g1!8=z^C5%S07g>%nF^_mtD=;&*R>GjIB_70Tz#o?a+a*V)4r-( zCz2RriH<6DoIz*pkE@N#P==FaApAsUqfK6l#RqcOru6C#jH>k(wzCk?`ve<4L1Dbh z1+^7$p&B-OFkQ8S^>!ZsK3XpNofi-(fM`#$=UdbKFl>RxmG7k8j8EppL7D$cooc^SU83=pi=rqgu6VU_wzGKCEpR z3+r1o*SHgxRKW=b9gH7o*+Djn#QmeRIT$vBR2KDAI5Q>}U`>)OFJjUl6T3K(0pAsN zR76hoa0ZG^f+VS?1!7VrpdwHWeM{@_J~J2sSPfVtAwYu-3Cun0Fp8x94E2c}#dqI( z%im+4=`7aE90Vpbh|6`6$Aec7CU#d7uS(AhF+^^)4{+ts4z^DX%%g}q=*}ei zJvxKa*VN;U+@1?3GK)Z+M1;Dj4qzW=2d6q9CDhp32&j)Pcgy3EnAy$yZ0wjN*FQ;^ zK&Qh_fkz3rNn{u58*Xhd+{#A3{vu~5ClPu#Z-4|W#ub0{TZCdMa7KEoNR_FGW}Hzbwu1@RZ`H;@d*l;6;{Y#hxR2ZXOhwe zeKL(m=h&S;vC4XU$FGv!0yt(b^v~o(&yJYi4L8<5kq-}aT!#jUzDH7^usX3Lu39rB zM=*S3;)k$D8H7h)S_0H*tWE++jb*y^XN+x2y~MtW1n7Uv*}C`b4QhTpPr+vFB!+?+ zK|*8xCYOHjd0G5-c+Zc5IMNVpAuxu&Q((cjPthUVYHtcl?0(N?!iSGnn&7rr@+@~s zN)JSdto4>=b{QU|MjBI78UOGece$Ndv$xocHLXh@>Rin=(uqTNNGEuUgHqx}Ad)B^v&q*YQfGZclByZ@@!uadUFp%G;Vg`Ll)UWd>_YwUhgY(i zc^s}YS2jqk^3ZjildQzC>ci5w8DnQ@GL9hkft9&(0zr=Onr8T0F}ieh0O1+XAaTL9 zw_*I@4^C}0#6sUT9t;y6aULKbeTcpQyG>bG>GUvczyGM;2YVd*B&Grv0_r;T6ahM2h#S(n^srp=$$~G zdv-7yV_xHhJGYw$f#-UaVjF~uRO%wK8+~G5V-GrDT$l`#CJ=&bV)wk&Bq$LeF}-Sy zp^^!=f$u`6=z(%C0xx4|wl4J0ivjT-t@M7WNb(dM7cHi~XN48yAFIKN>~by=8wTWZ z)|#!hgJBZ$hquWnVT@rLXqdjM@xGr-+sM=uzA<5liDkSw+!pIQhfP^|{6rCnX6w7s zvu=z5)OV*E(wA*p7+-J%Y?@+tX$)H6 zD%I@_^V8L{#dHdk(5WprM-AnKNz`{d+}gc{GRh(VTC8uREp%6EsBca18BCrrn2PO6 z*pI-qJOOKkJ0RRIYVQ&*$51>&h?d-ln^HWK1VWRY4M^r{3l8UK{t*N-sc^lh$vP*- z>-2kaNNOX8I7_9mFr1#b&mA6|E|b_@VAUdh|58tk(BNtI;YAwPm$Tc z`XaEH5M>GoG^#FMq|96QMRA^^y)ZZ}Wk|+OoJCRtTrUwlF|)fQ%yOVz`b1RK>Cn!= z6-`Ck6p(9y z0*wxEvrwU}*S3WvcrZN#Wgd6QN&(!`yu{XC?(nnWZlYWaNDEEpq|V(W=p=ilcgcd< z8MB~vI0-Ka!X2_er!OCbkqU5uOv;-T`MK%iy5ab-oh#0ijT@zt)kR~W7Y?}-IM_zv z%#26j%y#e&TpfkOcIAuvMT)|iH40~@LZpZ&oF4lXVqLF}C>)M^uut^LG!)g$_t7=L z?!==QD>vn)twD!1z#w;=+qhf;5!2Ju3?pfr1{MY7!HdsvI)_f)9;aE#?wX%=Q{`6R zQh#T?{0L(AN8`=3i_!7y2|i@rmAi+S>RgXu>iuJwIx&W+Agt)p5nZrE1g0j?K`0ZZ zYE2!;=;=>ji-z7P&}tGoMPLbpbrq(b$^I$Zb_r8M6p7<1Q77X31pCXnb5>dE!Yl($ zF_hMmD8(Cf^%`PZ0F3DlO{Pr$NgX`HE6SjCJGk5sGzff1Cw__`Rda&m@)OWz&kCGr zPmqkWI6)}hT7-abEV!X)w@^nikt3Pu@D2)#ZBX~Gi!1Ii(eHnJ21EnM0Jwtzq<&w`Do?1}**HB8x4ssc*yyvK5a znMH@k0@YT~9vj?w=u`AFovG;eV=pc9gqQewEZO;fb}V98znKs7DumUx%9$*acZzL* z4%&=TxM_wFOF7&k=Q5XaZ%Inhp^xg#3^NL#7Yg$p{RcWV_#&cl}vFE zYDP?}jYaO@->?q;MRNPc%2eOX@6hJ1Z93biCIMT3Do!EW6QxsS<<7)4Nc7dH1Ox#^ z7-B`i4jkp)#4#*Ub2^5_6CYXX=}46~eIp$jPlxhN?$0}%#I$x2!AEj%fnds)v!p%Yz;w_f zIlw@sFnYy9A;a6^3+Mdk*1ht2u;qK3_!w#NSXGLfd2B3J1zhSV^@xi^KK@zkaMY1` z?)8m+;T$RjB~)Yn5MPfxjpv(xhz_JG&ECGp)sbU376=rk=0Vor(PJLxGwjLbY2Nrg z`6YK6f{g@iiDU-@>A>@)%<>`b*JasTx zZkJv){>G85nyICCCo#Y=$M{tq$qcXjuJJyHJ&Zov#9dI2pi+Ncs0y_lwv7jJH`mQQ zy2yZ_8Oc1QEzfKXE^VrbYypjD=c+dg2rADN_sBL7WHh;Xz6fIlhu#A5?ak=PV>ABJ$25KK1Rlr(4Co8`pAMAg%UTAz|+zkx%NyE zMmNayWQ0&I7M#r=p2F*@&h8|nGUcptdKn!Y5P%Bp=jSj&C>k-1odfX0cnG+-vcJ*m z{dU8KQ7qh&f!9cb=LTIgqyiKWFQKHhmxTBtE_A;pIDS`TLLl z>dkvBQu1PRe7dI;%108eelRqk4vZ4XNxLq+|77raoMB9-HQira-*GUsprCd2J^YYG zOw@O!JMee7=`>n89VMuZD4|VYrnt_(b$6weQ8(_o2~i82>2lS)C!3;NCL0}q%XLtB zY11?(gayaz^rVLl1ISO$b~4*Ey2Fc-Qj%6eBxBx^@4+O=S)$_{ft+7t73h`kU2#O| z2Y9zK`mOyRbHUG!4n}Ks*0O%qS){iOd(6&&=t_xzE-{orE_PIlAYOxLHdkEwi9pWjGb@#hV4>u zI~w7G@L!6#sk*)Y$m~QTEM(dWBlmQl)keFa6;RBiG;SYBWw6(B>x?zUazIez4HpAf zG{o9f!QVJFL(b8-%4WFA#zqWPDn|8|Wi!eA9Oeh94(110zDNvjAeD1{&pQ>>IQv*d zAZd!HHB#N70;vvJpSM~?;7}erUCfbTt#nCSurH*2FSX0^N=QMH;Nbm{)e$p?2$CRC zqt|id15jpgk&cTl1+<68SZ%lkZ8CA_dlFB*NnXeC0XT z5<4qhbu$&e}ZKli> z!Gie8TTPxzG#&wwCqV4VCoV>VH_l+=r33J|y`8u?D1^B@J2;^XCN3V}*uZn{r!T%} zz|G|s4Z5-ZDW81FO}shHS=!aqOK##>yt((Hi(I1@Lo=p(7Y&DsxkwJ=u;58fI*mAL zG!bVUcHvkj>Z@7iVF62HMG+m2^~w`ttQNH>u-_t&W0`2i8b^9`LkIfF)HsG9<{RJ} zLLZnL?41HyR6n?5ujOd`wixd$sM7w0%gRshzps(67*^QAvfhWLI+J@QNJe6J$cp&N#EOw?B!^UQ zhJNsp5tPqSw1g=Qra#!9XZ+Kvw$29|o|i2jI`#kjQ2pG02MOa>^WVSae&=(ye(|%< zIPrUbG@Q(cN0OJm0N0TO?EUBnBF_B#`_pWYbw+6)4)1w|(l74Pq2@zD9(p9ZbTBja z>&3h<>dVxngSqzM^j^yI%a=SVHC7-$PuX{U{RmkOxSC{tjf79SaSl4+7Gyv&$ z@qo&fa{Tan=K;93uBzho%lShW{BQcjgU*)z>{77=zuH2K{KtQ$zVm0etvt|zZ%vL4 zLO(0t2i|IaTIQ<2@EU&3p4$0oE*K}?kc&&Be@qPm9>RT{_p|zAZ-WtkoImtD`~Cr& zfl-pXAK2Z3$T_|Az5A{wlX8CwsENa!bJ;M&wYum8EoI%akm@_B!ZpuAM<vaKY=_$`^8v;z;=NylQd@j?el_|CpF+xUP8!6ti;% zrc*|>s&A*7`XGNI!7?n%>KrqHbZo%j(oY&2-2png`7qzjYd#NeS)!I$J#_&_xLTQl z^SR(&{bO8^WM0n2ik?yYM3r*~P)kxAakoGGCb4K<`D--audky6Jf3 z7F1d9-zMstxUFn+JGxAaQn1|eKItHpYLkHo)3w&(w=xSUWNLXUxxcc`8!lRu=Y%R# z@G{co|1l)+IqNicC|v4gAPIFyBsZ_GewSzlGfpHo=SiE8DmdkKzRVNVjo+2OX&@{_ zP}=&?wG2~dj@`rd8XYB3_-J-W;qTj@np;cZo3>mItD3K3g{0;}!YI~lD>WiFQ6vq{ zMQVX&Xrs1P*S+1kR}IbPzp=I+_~x|rgGmTWDpSlmJD|*3`8UiTmpx*d_V|wEr*h+u z;TkSggn8c86a_BP@>B_enghxq&91oCD%s$cMQH*; zb-&w90db3BxnJ*JJtllY_=j}|e8S+e7C!WfK&Vyl>HTj*+znyK{>8Ej!N*bPQg;7d zM=|D7CL9v}oZJXQMI&4b_A%+_n5w_xvTwBdA32uZ-|)_(R(~jI3L;U`4Wj#q#EtOw zLrHcU;ttS(U|>rt7s$evA)|^N1enN0XOlA?n;lj@J6S>%&|UC13tZ6dd3Z z1^;F>6dcA>2|IoPjS3-~czlt$ApF zso9u~cy3M1@XKHw$Xt$ zfSa!8PW>?ML$2qJv!vIc3?|J@C{Dp2niUaRY~nqyp>FIZxv<_zG&Z*0VzE99)nlSG z#_lz8!%eLEAqr#fFCNnjrl)0}3UO$4{NO7r1%3qn_gOOS=gf=;`}AxK-6Pb+I+;p} zrCWaf*0?DH}|}l0o?Mj`>y@cFWi6qb6>2qUM$`4mgT)4JM`|4|9m{X>7ieI z`#XO3lOOp=);xaW>)&zvn?CWz+us_GKXl*0&%g7%fB)VGc^r!tCleZsX>HeQ@5KqC z(13s_3le-VQE+76bR8-~4oAk`X7Kh&)Fd*b4|@krGU8O_FCn`D#kXn`k98wHPh+Jm_%}X9$2>7+c1&g^Z;0cZ5A_W~f-EaC(N-WF1&0D-|C)3V*{YrPi@(K&oSrVwZ zS%={PGB!f6GU8yRUWz2IlEsXIT+Em1W0>o}2NG&|h{8ng_oj=DLl4ebrPjzafs`EE zQR2otfBN{#)caT_05EC29x+#6Maj?y?27hBsZ12cu5%@inA0Gj8rb=Gpa2zG{?>Zo zd?YP)vo{so1jA+hV;rfFc3hnu59N%;baNRyb7tn-<+P!OWON$fj4!|^~;w23(d4G4X| zD3r;I?28j|>xbd$ZcqgqrQJl)%niYp?0vAnr9({F1%32PZ9_R(zdE$QypW5tn$}h- zG3w)Tg%>-|Dz{UBCFW=2dpJ;BLoX=J5)Qm zT9O3@!HZ*oCsR@%zU(%ECo~oNU~2U0s#~qh<7ia1J8-N3wz@*S4{!5*;L1Cuzey|6WPw{8}=r$oh26)Ypd_2EHs`a$JC6&dI#f!xuj|9(Fb$p zqf}ALS}#4OY96&GdylD#=M2G`Y|X4f#*~#$s6ZPB7Z-L^OXgOZQ>6&5hOIwp4=y{V z9-OPd>%>DnY&sNyfUBHJLer^Nu0=A#{K8UTpNO&uXki}f*)yfKurnXVNhHt9(jrdt zia?2=R6q0)1ym+lJ`7qc-TH}@L7PRP(4X{-tAraV@^7KtKqUyUtC@AwUZ{8zyOCkE(JaaxNMobCGN|lmWQj z%b2BNvEILud~1=Vy_I$cKBkrh}8kJtvO?p2<#Y4Uu zeWY#r2p)`79Bs-+(O;bTr27OVB#3+2wL7f;QK5I$F+uP9L6J}=v?HT?HVQ?umMX8p zOP2P0A5Vq~!lUaK0QmU{HyXuV*g<=>Ysv@FIc{h2Z^#7%_6=q%aNnP8>}#_C&!HXw zcwcMTsqatP4)dx&V|h%HbK0R|LeLGZS&GGCF=o$BczuDf`Ha<+s9%vxi?OO`x}%b&0+uJ4FC zxw$UyJ@Z&T{6MkJm;b9@(pDza7icg$D-f$)>+BVWtkEoy1ghTYMZPB=ZCe2+53+`= z25i#qmCT#pY3mA$1Gt)%FX)|?6^q<1FCWa@ZD;m;OH$m@={Vs$^fEpQS`(2<&q*`e z+OFz@zafooje9i}$#(DDzv3OK*5VEalivgjf0Xp=&Z;dXnub%r*@E37KOpBv(l~$- zQbc{{XZh?FWSF(hzUj;BHG3tcsoA*Wyhfa%ZT5Q__^v;fKiu!)trN;1j)^);fEao+=)4wSDwz1Aa6cDGU2u0IP}xAhlmQBujcskqM9{doK8nF|be=EO1Ntv7oO@$Z@9M*hFE(vrUd zITfnx+(?RnFfk(gqW{~AChi{45yqC9IGTJ0xd;k2CZ8RkEO_^+!%vec9#jFQ7Co#V z{QV@_jd>qe={wh4o%aj6Y=3?dWCoWO>R&|bt^=vt@IT=byU{->y((gcp;2J6%5b=K z=pq6clgQ?w?bP@EGW|Ox^j!pFk>W8wx%tiGpIp~T;ql4PQ-2n+y))A&3)({v%?#MV z(A&=vxonh}VzK=<{9@!6ZXJzZI8`w!HAwW`R09%J`nGQ3kV5B~BGpP8UZe@E2^?b2 zz6tW_7jai#^Q%r0Nm5oqHt6F?&zTREP}yuSLH}{=4y!Q*1ZgSs$@EUNJk*IS z=^}Cmg@`dx{p#g3pW~wX&6I%(nmuEL<8JFIcx5$C9EzSs%)`~!0P=PH*7yHf;2g{$ zA)V%$`p)0xbp^(u?d&^-6PxxcXlb2=A(gHZu1T-rI7GmT89|jdioSD|r4L-ndQTtL z-QZa`(ghc9@a(Ep81vZgU$^T0r-B0X#z~RJ0P7$xElK56QqCkTU)FotuphybtHSdO zM07;9UG>3)=#4G$h2L>n26EG{EIe|zT%_}MvZhOdJA-$^Sopz0hwr%>2PPnlYOlsr@?x9N*w5#^ z@1Q^?Ya6`%YF!01}J24lb`Dw~rTTHSlFt!)n|=>d<0f6IpLZwyw^V zG%Im4OPZBbwKt$T=s55OkpKCe5Zj4z5tdK%oIkqdV(-Z@wZ7tXuh}T-eHRsofq_~} z_ulrgmES(_(NCS}KE|P6`}9BF{PQ<{^7r<<_?5Qxl%sS#I-X@~8(O_XL_U5RqOSmg zj6X+Y`2j@m+EC{=k07}kcH)c(l$DKdiHkUOKkIGbAsEb4ssa6$ABIkA!NQXCXwOcd z%6dk_ZeC^O%N3W(@9C)k0$R@N5IA@2A7blN}z5}g95!&yYyvc}Qkbe&WfYN=#gQCo{efOAO!xNBtD z9oceGe{jzW<_orqcVv&`{5S_18eR_Jf~nIbP(hc}@qu^#$#-7RtG|wA7U1pLk!9&4 zUewOozCS^B?E}}}h9|jHhp=Abm3d*aJs>h*FsZOtk+>^p(+lSn0^Kk1>5I4+gsaIP z-5lF-YUTx7q~K_aF~$m#mJbSb5QH)Fs&?uQJ1LMcs2#@P;_UgZwN_KANmEtf!6gv# zwl+S*D7!m(ee+3Drt}4?@nM^4+KjjOG$K)^qBn!6Fj|`#f2%WmYsR|JuGt|Re}TQ7 zs0P!vFHDj?vPm0>CBJ818wey@?Qq;|4o!hPCK4k723HcHC11|epPWXZ;VPbPGkL^3 zaL3PzO@1yv!udt?W|E+bSF!EFOfsv|{YcjDZ$2vc2w8dZf>*_-KP_B!Aey5wozoW0W5JHyvsMaxMSrEh^Q+v=S9mvM#<-$!oCxCJ1VFO#&U*JndV6y^9=2ZZ@x z2h)vH*(qFZxxv+qv+mNwsrYN_v%7hGH~J@{sC8_P4eFOiQR`2z;^y4TqG((5;awJ; z7ezz=F?~JG@>mkO0ygP0M}KrFv=g+`|${14Y_dXP{|RtC~oyuJYhct+xC1;XZVh>F2=w`nvxM$^3oLVcHHUJ60GV zZ@WS-ICD+MLLH+iR=6&G3pzKXV{HKwn5f@?M@v^+eZz13>I3h+?o&u1NJ~qvzvTlD z{rn}r`um5KN_wA}%r`d17}gCu7=HZ#-%CdElmGN z=t}(~8mgvUWxZy_H1AfuSXI{DNw3D@GSBF6aZQgF*Q&3miO<+?6G>Hpv-*()8j#0;~n|)+I59?H%qDF}!DMX4f z9%#Hh@9f5jiFg!GwbS;e&tu<{wU<{Kdil z`o_2a<@JBP)i02xT(%<;5sNo%7WF{cY-toOmp&f`)cN`Gys>uMKni1({6Wqm2xiWg z5CU>GM|(Yfuwb!uo!^^H4@#6BWU!!8e3X@&;}h?`os3I8VCJ)$gPD&KbUU z!|Ql26wy`^cA{l9dHMT!@5dW}OW+D1%7d81-NQq<^7`J-T1B~-EK8qhf4PlN|Fyr6 zykiO0Uub{1IP1S_-s}xKa}cXVJv-j%R$zbEZyoK4r?l0P5}+MG`_0{cvr3e2pIqgW z@s=~-rzsX5h+^;_`0hPVUVbH2XjUn;_Xr2@vfDu zd@or2C<@c{M<`6`GueG|$RKH}-aMRZG?`Elz#GaDaoz)U9X(g#r7#ilYi=-~ipdSl z8kp`lXP(la2a$_%urVZBD7`;CTaMRe;LBX@7yWwm{qq7t#o&oh@FYYko5R>R@5)7oj$sXEj!EnK_?} zYT;+EuR9mkSlb3u>@d;O{&BjHgy&7<@afU1g|*>>TUKixi@3B|Ttj(f@&g{IEqEolk#79J}tdZo>u zBT{#ES%#YG7tvH1#_qZzYR#}F*m|>)F^t_VMBj*X$-KJPrv_|Z^pYA-tLm3{(U!<- zU%sX<=*(7i2TPo8aBR~E*BxnJIW2`7=?nO|))cfaJ5ZNW7K^c+UWqb6RaR(?WD5c&^obJLY%lyw0nkz z#;jEjkTN@M+OmMs7@8&!e?}&mjvu|0Dad_r@)6YeA=F=(Q)(g+k0_woavS6X>JA7G zkXUY*kV3rg3W=XVJem|LO?8%!!ZU}jaAW?j1|#*7zxbKl&BwkrAP#~uS2K;j$AD%_|0OH9qE>L z5>?`U&@uW0&*04{R_UTGU|a6Tlq}tk_F+FP4IA7YKGE+=Cm1-kf{;rmM-n9b zdMy3n=?_D>1U=-97sLdlr2bDh^a77D)6}$`ONivw1ZtJsO2waRb-RMqf!v@{?G1&4 zjk%$qJJ;*?C=FJ3&=pofR&OB3S!FNuksAnz11~gUt>-~k+aQnEsF>ru{HIgN2lvzak@rnH zj_VHhSIIu;sxP0bxGDdQ$UlI5vjmQVW`gtj=em4ekBq+&r9{q_m4-US9acOt$7Kr^ zE(Ku*!%cu&>kWla4Y|sz_&jn&#U;`2)o`g#J&`&L35+K#1l~2^8|9;gF~FY)kN`%2 z319}e(PPN8VnSWm8}OHuMEvzZS6z9yCK#yC$gGe9e%U2gj1Tyg3bm}~1|mL>e_&Yl zC?O^2MJ29KBw^|VfzS2wN%0R^L2`P0U zuP@-Q_4?2CVFW3`$w-LfazqP9Wp%(!hKp$vafjtml_9swuND&HUVW(U)IKhGls8o8 zb2ZA|+B%<7tN6n%s*M~}!jYgK)pPk}g$A7*@oVkuYmAMFCNu=)RNFwVukrd6*&CKIS5Y4%U9Wh4?IFdrppD|kluA=_U6JZY zFqGp~n-v3x%}2~o8i!EjaeYx&D7hyB@(02-N>C2f zx%_c`@^eUWIOuYt0dqnTjK83_QVD_}=UeSXD&>oj^%_^uqj;!&Z_`=0I+QB`gOiP4 z^;3Ds=c+6zaaUEBl#EiUToGUR+{1a@i<3BU7%Y z=?3E9R%lq(C~~c_d{$XX}tr3QHhdCWu}4*)s=hD7{+SFPe17A^I_ zfpVK^hd%SV@k$=}A6jK#wtP0rTw-_Tm*m;a7)Kz@^$Pw6F|2&lEsY={^;ny!yF3wf z;K_ACWv(|63CXPVR-&sp1`DIJ1#t6$w{QCzyuT0c&rUt+T-8c$ZGeqP&{Cs?b0M!x zbT-Xd4bK8jV^qWKz-8bRTdpN)SL2$i$d!tMMSvD|%q~V7!6$$b>8-`U&xzqEXt;is`ieYyrf z`BJ;nTqjyi^s@(m=wvT|4CoE$1LzAN`r98sbax;i13(Y)2LvD;?9uQ+aX96b6^Bz8 z>`|}>#bo`F6UC{I=sUWOJsO@H#pxTRX9J+kl*=QE->sbK%uqm*bL>_y&~_UmNFF7Z z_yd)59*;c;qD!|UV`>i#UjaNFTLpJ&ytEyrS1}}yD?JuN@}b~gp#^hrrORVT0W5Z6 zh!Zz3#1JH~BZd?rA3|Q{sl}XB`w)!|VqL0S;4nNTXboSLHK>5QaVr^M7Bj8hP`MxM zSVra_vPPz0b}qaG|qrB|XhZ-`Wz5&)z;ZU|rk zdXolz*hQWiuuK}kWOD-4r7qwNp-vvqq9hAP;|y3%*jr2SykW*=sw`bCxIEBhno4yb zCV?Q<67YF$a6I0*im$N-@u^gCjq^*(IH9nIji*qf-<=ykm54a3N4~_1-3!PAV9rx9 z<4PvG+?PkZSV(FkVWlA>nfAc&{3-8HY~i5WpXjO zz>DRQ-xUr7X@qP?S>~bb-hg;RElm$mJ%W*h;L-4N;XjLIjcY8@B~a-&&S&`nDLu-Y z5q~{90DjWzhtC~=%;;uhs@@x}k$srK!{kT^0vwa@ew~tsS*v38f_3Q}lz%0FRznTH z2ma20T1eT$sEqJ$Mp$ZlEzA?qFxoizt+WH5qg?TlT%0;UQxu>A)o5!-#2r=bKn+}y zeovA9D>!aBzIDL22jSA3jcRcqy+UFKBUVunmjk{(6Ak|=T$=s=wN{`^RcAmBXGH!& z7banYowJ^!=8q)V8bRZG6hPx(E<)jG^^IRgMgu45k0idafHJ`OfC~WQ02czRR%;&_ z?v2s(HFrrA*Iezr=4$V$P3ZYCyuZ7@TSmB}NLPUS4O|hf7GHa>;g}hLV2SJrKzA3c zgl1>3TeGJ)V}07x ztAnn_!E#l=AI=Gd8-0*-ykY2a+|lBB{g9x&VK>!1RqaEqj;CugTJg0o>7CR#W>bl5 zgP+PGZ{%0$n*cwc&S1J=6ZJV>1q z^t*hj=BPx5RtaLD2l5}*PAE%B?cff0n1tvJdSsusN^v*3@fK}{bf`Vz>iKij52ul= znRFNO1;UJQJ33pqO60X1jocOPl*T%RX;@KYO{eGzqPs~~5Y-wmJS0OQ7W*>B7jT80 zj#3H^yG_Z?> zNhO<*CbbXopo&L&bDO5D&{Q_cUChooeVn^%SV-l`sTN7BkE+HWTO%Sj(C~ z{U{~OSn@HXgr)WJ6Qn_W@896+;U0xcW&SpbABRg)aa4mjE>Nv%e0+gw)E3H~s6HXa z;I`2q{+!_wt#LVP!*ZsJD6a_w=ENywqW$3Rs_q=zj`ER2DPxYG3s3-y0S^KC;(Z?g zxgHEZ8iF9kbnG|Jpt{ban2LrzX&i1 zU^Y(~qTN;leyfe7yHEyVC4Vbcv1@wUVRtFYq7A$0@Xr8{VnbcfT3R+CeCe)dG43K^ zyxs+rhMycaU4QnN(NqYuNokLx^R-GS1RdgjmRISn=aBgpQiyYx0sf1%#0-7kV2Vf2 zl|5A6>l(Q9PJ90ra-j-;i5J8>YVYSo!~GH!{VBV#+mT-l@>h3bLHGX$H2*Vus+#|~ za7$6Pr{NMW_AFd#r!#Du)9@#%=KlclpniD(@c)zM|Ds+hUvMeheAK;t+b_ZU`_5Y1 zvo2wL;U%)Ft?q!1PD6eg-UWDi9G(iCv_IPSX81{tKEtu0(FW3sFa{()k5LG)4t1`u z8{!2@`8~?$L0)r2RSW%NS~Fko{|&9#?I_1JD7U6HgEuDMy5J{%+zp_*#kJ!vy-5D3 z&S^xS)9akT4zq{&YJw^ijp?AOftPu>(#1PLzE2p5)umuW;?6`gO6~jWiAI+oFX{?S zH2Ue~=D6L6ON!{Y?)y3Gq&5wH`VMkGbpyFSrX{iFToktgCv_GWUp>p0 z%gxHF2}GzE3OTO7g>9m_;nMPiHCc#lMz$&G zK#Us5ydGEB^=lS-Kgzr+uFP++GM6sf3o3LIt!11SFdHxj5N(X|*6CGJqFLLOltlRx zgrj)x(;qxhC*~4Wqi69z2)}?efd2F%I`fEO`jw~v35sm-HfE?&2F-X{WHg*cI&IPX z*h0Ai@nwXIFZeIL`kbO^`+@DHmr#!O3#GQ;_^5n%H0gyTJCdx%xvqdE*H7Cn3}^l# zRGN12%H4|3hYjOANHcM=45$S1Ajzs1v^ykq{x{p1se{gJJ98}J{}$Vsi;*uWH-74N zrZMY(W4zf>j?;~|I@IS3=kb3Oc=jQ05_q-)$o%6B^YURDlw&(3>~&*Q7Fbmy2CpBM zxJo&FBtkJH+rk*lp2*Jv_%XV$3E^dgi!a=7K^NXbIZoG4K`I{}jZToVwKV8f*I+Vv zi&_ya&ap7s7}w6fbXDRMkJ#)-gRe!NM7JJ<#+O!oZ7tE>Z-7>r-jnv_ESBpO()&Z3 z97C*aH#tzO7_B8$P=sFK(dh47`0D}x4gEcaJbnQ#`9IR%jNG>LH@?h`K&}AL#(G?P zp9!blUSQQYH?}TsL|I6pAT#c6xJ3A4a3wb~oBONq_G$o)>L$Q^zyiQRz#_o4ac~{{ z*8>&6X{D3KkDfGX!XzdUl#K%KN%n`}XotzRvs5(7ighY?y1x(N_hsh=}FV3-Dbx^`OyPHRCMR_R?7fTl+QfP~jG%(Go?r#}fZF2Akrl|)F` zm4b_$i~aL924ZZ}vkF_e7+lPV7vf^w8E?JK4&{UzL(Dk5P+h2_J8c~I9m+NhZSgub zXQ?mF4_!=WKFBbet8l2g!Wy{rjR{~dhNG=!h~=;bWTHL|!k8r)3~g{Qp^DBl1S)64 z4hLdlSUoxdlK}|1sxasy8*&K15r4>4Mb^t+7du1(BOXc)nc>lvSQ5A>|1<2bA0*?j zxda=dnj$x&p0kk8eE=sw!zq6gfF4cJ^dS7}01pAy1L)DdJq-UNfDQB#kM@2e{1HgZ zkd|?xNpblr8|gp*?P*6}!1M)S-YHP+fIfyx^`-`g#fD7Zj-LI;?`T;Tug#?Hjs{#uzsa?`hwe%BCJ6QIE2yei;4JOqbQ2V$J@w)&*Ta zq&6Cb+3jcnqubs%xdm&3C=%Ufj$+vP2YEqeY!~3+P!fw;A8auera6Ut{q$!~Yau3n2de)4-nr zJPUXZpoM=P{;hx)0O~zw#;Bm2~fDYEEVF!lHvi8u42cOIoU}Ut+&OzYRTR0eKgsJj&l$&(q z8ZWNK&y8lKG8VQH3tQ0tj&M}Bc45^yq?&pYt;T^*vKPgvIlmW1@X;dSBv6S=M|9W3Nn@ipbJs^Jcx5~@9TRP#wDUMw})0~2dE zOl}*|)2>!5_L_A+9rJ4>6X+avE~5&z_E^4g`j2Q;2(j4-7{%j_)W&`D1)y0*06P9d znUI~n&s$5naK#GcY^bpo!ucGT!ev5o$MDiBMX5l?>-YG;bf_mkz5Y6A?xAhRaVV@F z+G`qaWcco(Bb4>9!BgZblwg1~{Lyl;aS&3JIdnJ^%R79`7>)9XEA8cx0MAU@g>IQ9kq)xkTt7Cca|qu#5x#>ehZ^EKV>&r!7&1NFAxM$s03SQ~YRwDx7Hb zDQF1t)+)8str!-;08A%CA@!Iavv!L3>2OkYAP7Q(<8th*XGS0t_0hp6_Usy}uFr46 zrFYtV^agU_^#*9xeu;1A;9DBzQ!3o(^sGYnnQ(lI26 za>V7J&UP1!E`u_7Kr{-|R|)#i2Gtl17{9d`;MhS35Ia|na$F2| zJX})p7lGj*y1+O9VuEqPsKoqZ3L=jC2=Qga(@KtsaoW=Z#^DyOAHq^Q5q+Z}({8VX zraalXLQ{{?z*NMoDdPY|>{~fSMh8?PO;Ts|K?mi)Rl8j~fJSo;V*$sfU>qAgCBt#c z5QpmeAY57lv>ezfg*12IJyVY%O)6)!70@HzD)k%|YbBYi<+Ov$YP(TWtCamP(s0D3 z9s7>- zuK_yD?Ib`3zzG-wmVz-QDHLzm#t>wod)$D+ihm{M~-@wx5Dhnjis2jt23h2V+T4zxG)9^AuXLNkj81-1PvHV2aGh*p=!q` z6HBKtnvRw(*?Rdf?OI@I}C>zS{RH;PLG-4tSrq?2k7e!-3=b89w2_))$+fsBii1_yL9|zCEY( z$SoJY*rE9_!-q6qv+U7c`)dd#_v5{e*+zpKct~Wrf*s zq~OF5hTr^T!Jy;SMNdvVF^b`XhwuFJ!Tq}y%{eiS;m^JPX4=3}AHIC;i75=faTSBpWV_N=wL-FwWJ(<}g6epbwug=?Z=k_8tH^5-e{M)=ec~>u;96bPE z)AZL3Ym5H;RxM)}vB>vX*=4}M39A>g!_YWte|*P&`~B{}-_MT1LAm+pt|djvN1I+? zYXQf7plnFH+4#!BcNv?2gN;2dANj8ym+kn5?JmPm^Rw>jvb`7Hn#6lpY5#UpU7F`B z{{4ZxkKyOnA6a?V1GV>$1Xu3-uCuV2;d@^E>y*jc4m@oaNR@GF@}#p8q> z41cg;=9{bb$h)hA-3&iCx%a$(Oz*s6zObL+CAMC79(ZcaC#!@548P;|f0;S?jrZ1X z5e_qa$f$?bzIWxScwV;XD^zz&T^#J zK3QZ3F}O_oEr0!Vt!33<+|f({?n%7+zT>MbpG_6XG!|UKvB8z^$r&5#L^AEhPTt;! zu9$VfsHPjmehkm~aHBZlaPMsoirEZb+A?ZZ?%mZlZx3K-~YZigy9c& z|I6lEKj?Pvx8f*xG zH8p%hJN(gh@o5xM`A;oRZ(6o-{{d6quniO~%>zjDhvP(9j<}+0aXyU3(eRI=I22!Cl4I7ndTosjsgc{ukiHG(ulpIKBjkC7>%<~Mk_g^b8@oAyT;>0pUtM&Y@=b)>3IBDuZs2sy+i-^t?L8FAA@GTD+;au=dSO`((#?DoQJn|0)bzGQHmmPZ z;iX8EgzwdGNl4!Um*!pDh!i6l72mWt??&T(9*v{LrFPWXCiNm!(S>L+A@v>j-vzt} zAhmh6oNdm?FlWccE(EJT498v&Sp_F}ExMHtsKXHe%edfK$DwuRt>nm!m&)=yH~_yKf0DRMM? zBXAn$?7%p5hnVcqaY<@s(x|ClpqrH0&5iU51DUQIIE*xDtbPZ#Pb>}6&qf90$?CY% zzN_)oZ!9M$;xT+_Iv^55xUq=S8EMUeOLM)=9bnO@WFH|%>S$vGB!XRf#&!j-M4W8I znSomXE~~^HYs{{cgF;VQ7YYOC}*hJ$4qLZ3hsNPLy9eNin<GaXxY2;9=t@EWP*M z)$?w=?T-7OeD1m@^ahi2=&+0bvF{BjwX3u6;%V1B^4Q}q6nxzA`rqAruauPBp<|}q zQ8Ic=+4p}r)nX@X~O4XcD!&TSZu=bJ1 zH*Med*yH}dhacTGtIs^0DCLM%BA;t*TF^tZr=&~$Og(j3x=~W{pr%Lk{iJ?UhS8BQ zUUVeRFEn*F8@mo3T`andCR=A+Z?U_MA5kP-pv#ra29sfgJWxtBImHrPnn6l5Oe`zR zPs%q~jb{A-v4>G;+BeA}7G@gSi$O#~KHkA_*gh4bl(Rne`Xx zd7VYnC0uG0dQ|otYcw~lo7HD@f?1z*PKn;EPfgF3x->mI#4|Z@tjRoPboa5w$w_4f zbJLbS$!7f+a}V*nvO+N#xfUDD^PSxcgT)?G`INk*g{!I}2~9h080St}WV3WOFI}Zu zaNf#iORn3wpx7`-nyDXP9%IhXoil$^Nz=|5$^}xfp~DCoId^_pG3OA~i8Jahj=H)AjSu6R#ba z(rMAeUV44gTUokcz4^KvF-;QYkLcB*M90tHH>m0DEQz20annCD$4O>MSlD6IxS>sd z7^3H;sk-hCVSaM9+K>X@>56y3nh$EM|#030B@F*@Zm*A?ab^5ov?*-@9IEhVw!ji#5%g(=S z(ard{`MKwJzP4xY;ZM2P^cYO@W0pr*bjzxHUfr`dsY7PT;L&B%X3U&b?on>K3@3CtI3oFaPLZaxZ@%y+`>~S3manh0ky8+@)u) zG3Sk+K$GO^Yo2;}|62!+e*JAQv@{&KV}LdHp~s)z_R8LO4zA=z+_}QGwAY@!f8M{R zW&DKcGYrNQ%fQ^Pj`#zGLx+zXz3i6B)sbDV?tA0i_dYw>!pY@*795loj52nY^d07J zOm5ns>t&puE_O5WQm*8X3?gsP8#6+GA=6`G8u+y%lHE-&wT0^kGGoc933J%et^qY_h+Gxjk`t4j6Lg3Jpd$zi!a(i7DD{tI) zG53D&Y23&6UGmr`y{CV9_|S}fpSxzt+*dP?^4DC()xl0Hhv#_#|M;;9xV(l}Ft7xH zm-_NOyU$1{F`4+T5^ut?sml@vn+A2|W&9j9FBvg_3}&GRkKeWC1<8mYW+9Cigkr3( zl7Ior_Y_1vfp8rH@To#)tiA}1w2iz$Gz&fPleIj4dd$RUAbF%J>M)cILIO(_W#Ewr z!_$RgU|KFc__4giBXQoyU&ITBL}Mi{m=X+SLU*Lc^M%Pga?~a8{Y-q7#OqNgp_?Fy z7AXl{{Ae1F_LtJd9zsuC#m*ayJbu1_$28(2LLYvvC3-_Q2@O~ zxw{EE{!SsSV-i2W*bSDe*`f_KLlMDooQswh@C#N(K9|o&^#wtPdJhte{8!X$JO-@A zLShO334gne6H!Yk1A3hYkw>YH!|zUxNw7=vcxOr`YHAkkNY}s*75nLU<1qYcmcxWL zlLWq86eKhYe-AGjJF&J^`ytsN>dxiSL^K>k36)D0rW&b|U8tqi_ZTZ*pu~E(-RUa= z&t`3;&|ityaVB2)mN!chzYO_HJbrFQ&-zX;h*op~XFxOYlRBelNaG4Ul1DFK{82_c zhyHiybRrIJ^ZFDnQ4~4Q9F89@U4+qux?6=VoKDmmje?=4v|Qv0r92~_%y-uDDM+~k zOI7FL*C5VNiIYwuzgh!V(R38o#N!uz6LfUahv!N+5yCg%niBGKxDs#a(X7&S+(O<2 z+Y3*`jZ3iwqYsx)MPMkyOOwc;G!dWZB%$KTscaN=%-XHL-CE?Z+H#_o%F7ust34SK zog>F?%gM86>gyq*M?!kKs?%yujJNvjNET+r`QW&#Ad3~c3tX98d5U^LPk9xtO@@_k zNS|fEC404AcPJ}G74nswYG0tz void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/core.js b/demo/dist/@bsull/augurs/core.js new file mode 100644 index 0000000..3a48116 --- /dev/null +++ b/demo/dist/@bsull/augurs/core.js @@ -0,0 +1,520 @@ +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('core_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/core_bg.wasm b/demo/dist/@bsull/augurs/core_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..40518c05f81a20e0792e407fa15251ff2df87206 GIT binary patch literal 129698 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 literal 0 HcmV?d00001 diff --git a/demo/dist/@bsull/augurs/core_bg.wasm.d.ts b/demo/dist/@bsull/augurs/core_bg.wasm.d.ts new file mode 100644 index 0000000..ad6173a --- /dev/null +++ b/demo/dist/@bsull/augurs/core_bg.wasm.d.ts @@ -0,0 +1,11 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function initLogging(a: number, b: number): void; +export function custom_init(): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export function __wbindgen_add_to_stack_pointer(a: number): number; +export function __wbindgen_free(a: number, b: number, c: number): void; +export function __wbindgen_exn_store(a: number): void; +export function __wbindgen_start(): void; diff --git a/demo/dist/@bsull/augurs/dtw.d.ts b/demo/dist/@bsull/augurs/dtw.d.ts new file mode 100644 index 0000000..1539dec --- /dev/null +++ b/demo/dist/@bsull/augurs/dtw.d.ts @@ -0,0 +1,225 @@ +/* tslint:disable */ +/* eslint-disable */ +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config?: LogConfig): void; +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init(): void; +/** + * Options for the dynamic time warping calculation. + */ +export interface DtwOptions { + /** + * The size of the Sakoe-Chiba band. + */ + window?: number; + /** + * The maximum distance permitted between two points. + * + * If the distance between two points exceeds this value, the algorithm will + * early abandon and use `maxDistance`. + * + * Only used when calculating distance matrices using [`Dtw::distanceMatrix`], + * not when calculating the distance between two series. + */ + maxDistance?: number; + /** + * The lower bound, used for early abandoning. + * If specified, before calculating the DTW (which can be expensive), check if the + * lower bound of the DTW is greater than this distance; if so, skip the DTW + * calculation and return this bound instead. + */ + lowerBound?: number; + /** + * The upper bound, used for early abandoning. + * If specified, before calculating the DTW (which can be expensive), check if the + * upper bound of the DTW is less than this distance; if so, skip the DTW + * calculation and return this bound instead. + */ + upperBound?: number; +} + +/** + * The distance function to use for Dynamic Time Warping. + */ +export type DistanceFunction = "euclidean" | "manhattan"; + +/** + * The maximum log level to emit. + * + * The default is `Level::Info`. + */ +export type Level = "trace" | "debug" | "info" | "warn" | "error"; + +/** + * The target for augurs log events. + */ +export type LogTarget = "console" | "performance"; + +/** + * Log configuration. + */ +export interface LogConfig { + /** + * The maximum log level to emit. + * + * Defaults to `INFO`. + */ + maxLevel?: Level; + /** + * The target for augurs log events. + * + * Defaults to logging to the browser console. + */ + target?: LogTarget; + /** + * Whether to emit coloured logs. + * + * Defaults to `true`. + */ + color?: boolean; + /** + * Whether to show detailed fields such as augurs\' file names and line numbers + * in the logs. + * + * Probably not wise in production. + * + * Defaults to `false`. + */ + showDetailedFields?: boolean; +} + +/** + * Forecast intervals. + */ +export interface ForecastIntervals { + /** + * The confidence level for the intervals. + */ + level: number; + /** + * The lower prediction intervals. + */ + lower: number[]; + /** + * The upper prediction intervals. + */ + upper: number[]; +} + +/** + * A forecast containing point forecasts and, optionally, prediction intervals. + */ +export interface Forecast { + /** + * The point forecasts. + */ + point: number[]; + /** + * The forecast intervals, if requested and supported + * by the trend model. + */ + intervals: ForecastIntervals | undefined; +} + +/** +* Dynamic Time Warping. +* +* The `window` parameter can be used to specify the Sakoe-Chiba band size. +* The distance function depends on the constructor used; `euclidean` and +* `manhattan` are available, `euclidean` being the default. +*/ +export class Dtw { + free(): void; +/** +* Create a new `Dtw` instance. +* @param {DistanceFunction} distanceFunction +* @param {DtwOptions | undefined} [opts] +*/ + constructor(distanceFunction: DistanceFunction, opts?: DtwOptions); +/** +* Create a new `Dtw` instance using the Euclidean distance. +* @param {DtwOptions | undefined} [opts] +* @returns {Dtw} +*/ + static euclidean(opts?: DtwOptions): Dtw; +/** +* Create a new `Dtw` instance using the Manhattan distance. +* @param {DtwOptions | undefined} [opts] +* @returns {Dtw} +*/ + static manhattan(opts?: DtwOptions): Dtw; +/** +* Calculate the distance between two arrays under Dynamic Time Warping. +* @param {number[] | Float64Array} a +* @param {number[] | Float64Array} b +* @returns {number} +*/ + distance(a: number[] | Float64Array, b: number[] | Float64Array): number; +/** +* Compute the distance matrix between all pairs of series. +* +* The series do not all have to be the same length. +* @param {number[][] | Float64Array[]} series +* @returns {(Float64Array)[]} +*/ + distanceMatrix(series: number[][] | Float64Array[]): (Float64Array)[]; +} + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly __wbg_dtw_free: (a: number, b: number) => void; + readonly dtw_new: (a: number, b: number) => number; + readonly dtw_euclidean: (a: number) => number; + readonly dtw_manhattan: (a: number) => number; + readonly dtw_distance: (a: number, b: number, c: number, d: number) => void; + readonly dtw_distanceMatrix: (a: number, b: number, c: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/dtw.js b/demo/dist/@bsull/augurs/dtw.js new file mode 100644 index 0000000..723bc17 --- /dev/null +++ b/demo/dist/@bsull/augurs/dtw.js @@ -0,0 +1,715 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function getObject(idx) { return heap[idx]; } + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +function getArrayJsValueFromWasm0(ptr, len) { + ptr = ptr >>> 0; + const mem = getDataViewMemory0(); + const result = []; + for (let i = ptr; i < ptr + 4 * len; i += 4) { + result.push(takeObject(mem.getUint32(i, true))); + } + return result; +} +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +const DtwFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_dtw_free(ptr >>> 0, 1)); +/** +* Dynamic Time Warping. +* +* The `window` parameter can be used to specify the Sakoe-Chiba band size. +* The distance function depends on the constructor used; `euclidean` and +* `manhattan` are available, `euclidean` being the default. +*/ +export class Dtw { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(Dtw.prototype); + obj.__wbg_ptr = ptr; + DtwFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + DtwFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_dtw_free(ptr, 0); + } + /** + * Create a new `Dtw` instance. + * @param {DistanceFunction} distanceFunction + * @param {DtwOptions | undefined} [opts] + */ + constructor(distanceFunction, opts) { + const ret = wasm.dtw_new(addHeapObject(distanceFunction), isLikeNone(opts) ? 0 : addHeapObject(opts)); + this.__wbg_ptr = ret >>> 0; + DtwFinalization.register(this, this.__wbg_ptr, this); + return this; + } + /** + * Create a new `Dtw` instance using the Euclidean distance. + * @param {DtwOptions | undefined} [opts] + * @returns {Dtw} + */ + static euclidean(opts) { + const ret = wasm.dtw_euclidean(isLikeNone(opts) ? 0 : addHeapObject(opts)); + return Dtw.__wrap(ret); + } + /** + * Create a new `Dtw` instance using the Manhattan distance. + * @param {DtwOptions | undefined} [opts] + * @returns {Dtw} + */ + static manhattan(opts) { + const ret = wasm.dtw_manhattan(isLikeNone(opts) ? 0 : addHeapObject(opts)); + return Dtw.__wrap(ret); + } + /** + * Calculate the distance between two arrays under Dynamic Time Warping. + * @param {number[] | Float64Array} a + * @param {number[] | Float64Array} b + * @returns {number} + */ + distance(a, b) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.dtw_distance(retptr, this.__wbg_ptr, addHeapObject(a), addHeapObject(b)); + var r0 = getDataViewMemory0().getFloat64(retptr + 8 * 0, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); + if (r3) { + throw takeObject(r2); + } + return r0; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Compute the distance matrix between all pairs of series. + * + * The series do not all have to be the same length. + * @param {number[][] | Float64Array[]} series + * @returns {(Float64Array)[]} + */ + distanceMatrix(series) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.dtw_distanceMatrix(retptr, this.__wbg_ptr, addHeapObject(series)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); + if (r3) { + throw takeObject(r2); + } + var v1 = getArrayJsValueFromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 4, 4); + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_is_bigint = function(arg0) { + const ret = typeof(getObject(arg0)) === 'bigint'; + return ret; + }; + imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { + const ret = BigInt.asUintN(64, arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) { + const ret = getObject(arg0) === getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isSafeInteger_7f1ed56200d90674 = function(arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6ac1429e5962b5d = function(arg0, arg1, arg2) { + const ret = new Float64Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_2ba50dc715327edc = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_a9e7e8ccaa5e7434 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_newwithlength_67c54fcff2372990 = function(arg0) { + const ret = new Float64Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) { + const v = getObject(arg1); + const ret = typeof(v) === 'bigint' ? v : undefined; + getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('dtw_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/dtw_bg.wasm b/demo/dist/@bsull/augurs/dtw_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..82630369b28e40f62c69712a9ab9e55593a117f4 GIT binary patch literal 149591 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 o>Tk$V{Rl>y!{B;3IG=K4YJ9_I4mt3KM_L void; + readonly autoets_new: (a: number, b: number, c: number, d: number) => void; + readonly autoets_fit: (a: number, b: number, c: number) => void; + readonly autoets_predict: (a: number, b: number, c: number, d: number, e: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/ets.js b/demo/dist/@bsull/augurs/ets.js new file mode 100644 index 0000000..58471fb --- /dev/null +++ b/demo/dist/@bsull/augurs/ets.js @@ -0,0 +1,742 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function getObject(idx) { return heap[idx]; } + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +const AutoETSFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_autoets_free(ptr >>> 0, 1)); +/** +* Automatic ETS model selection. +*/ +export class AutoETS { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + AutoETSFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_autoets_free(ptr, 0); + } + /** + * Create a new `AutoETS` model search instance. + * + * # Errors + * + * If the `spec` string is invalid, this function returns an error. + * @param {number} seasonLength + * @param {string} spec + */ + constructor(seasonLength, spec) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passStringToWasm0(spec, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + wasm.autoets_new(retptr, seasonLength, ptr0, len0); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + this.__wbg_ptr = r0 >>> 0; + AutoETSFinalization.register(this, this.__wbg_ptr, this); + return this; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Search for the best model, fitting it to the data. + * + * The model will be stored on the inner `AutoETS` instance, after which + * forecasts can be produced using its `predict` method. + * + * # Errors + * + * If no model can be found, or if any parameters are invalid, this function + * returns an error. + * @param {number[] | Float64Array} y + */ + fit(y) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.autoets_fit(retptr, this.__wbg_ptr, addHeapObject(y)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Predict the next `horizon` values using the best model, optionally including + * prediction intervals at the specified level. + * + * `level` should be a float between 0 and 1 representing the confidence level. + * + * # Errors + * + * This function will return an error if no model has been fit yet (using [`AutoETS::fit`]). + * @param {number} horizon + * @param {number | undefined} [level] + * @returns {Forecast} + */ + predict(horizon, level) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.autoets_predict(retptr, this.__wbg_ptr, horizon, !isLikeNone(level), isLikeNone(level) ? 0 : level); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbg_process_4a72847cc503995b = function(arg0) { + const ret = getObject(arg0).process; + return addHeapObject(ret); + }; + imports.wbg.__wbg_versions_f686565e586dd935 = function(arg0) { + const ret = getObject(arg0).versions; + return addHeapObject(ret); + }; + imports.wbg.__wbg_node_104a2ff8d6ea03a2 = function(arg0) { + const ret = getObject(arg0).node; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () { + const ret = module.require; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).randomFillSync(takeObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { + getObject(arg0)[takeObject(arg1)] = takeObject(arg2); + }; + imports.wbg.__wbg_self_3093d5d1f7bcb682 = function() { return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_window_3bcfc4d31bc012f8 = function() { return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_globalThis_86b222e13bdf32ed = function() { return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_global_e5a3fe56f8be9485 = function() { return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_newnoargs_76313bd6ff35d0f2 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_a220cf903aa02ca2 = function() { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_525245e2b9901204 = function() { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_673dda6c73d19609 = function(arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); + }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_call_89af060b4e1523f2 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_8a2cb9ca96b27ec9 = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_newwithlength_ec548f448387c968 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_subarray_7c2e3576afe181d1 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('ets_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/ets_bg.wasm b/demo/dist/@bsull/augurs/ets_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9e74d73cabd175102c5c8b8dc921243b12487510 GIT binary patch literal 259375 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%0D}2-nbG=f40X?8J(yoC!Ep9h=4GAiO?` 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 ctTWDMtznmE)a* void; + readonly mstl_new: (a: number, b: number, c: number, d: number) => void; + readonly mstl_fit: (a: number, b: number, c: number) => void; + readonly mstl_predict: (a: number, b: number, c: number, d: number, e: number) => void; + readonly mstl_predictInSample: (a: number, b: number, c: number, d: number) => void; + readonly ets: (a: number, b: number, c: number) => void; + readonly mstl_ets: (a: number, b: number, c: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/mstl.js b/demo/dist/@bsull/augurs/mstl.js new file mode 100644 index 0000000..6559a86 --- /dev/null +++ b/demo/dist/@bsull/augurs/mstl.js @@ -0,0 +1,827 @@ +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +/** +* Create a new MSTL model with the given periods using the `AutoETS` trend model. +* +* @deprecated use `MSTL.ets` instead +* @param {number[] | Uint32Array} periods +* @param {ETSOptions | undefined} [options] +* @returns {MSTL} +*/ +export function ets(periods, options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.ets(retptr, addHeapObject(periods), isLikeNone(options) ? 0 : addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return MSTL.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +const MSTLFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_mstl_free(ptr >>> 0, 1)); +/** +* A MSTL model. +*/ +export class MSTL { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(MSTL.prototype); + obj.__wbg_ptr = ptr; + MSTLFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + MSTLFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_mstl_free(ptr, 0); + } + /** + * Create a new MSTL model with the given periods using the given trend model. + * @param {MSTLTrendModel} trend_forecaster + * @param {number[] | Uint32Array} periods + * @param {ETSOptions | undefined} [options] + */ + constructor(trend_forecaster, periods, options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.mstl_new(retptr, addHeapObject(trend_forecaster), addHeapObject(periods), isLikeNone(options) ? 0 : addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + this.__wbg_ptr = r0 >>> 0; + MSTLFinalization.register(this, this.__wbg_ptr, this); + return this; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Create a new MSTL model with the given periods using the `AutoETS` trend model. + * @param {number[] | Uint32Array} periods + * @param {ETSOptions | undefined} [options] + * @returns {MSTL} + */ + static ets(periods, options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.ets(retptr, addHeapObject(periods), isLikeNone(options) ? 0 : addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return MSTL.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Fit the model to the given time series. + * @param {number[] | Float64Array} y + */ + fit(y) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.mstl_fit(retptr, this.__wbg_ptr, addHeapObject(y)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Predict the next `horizon` values, optionally including prediction + * intervals at the given level. + * + * If provided, `level` must be a float between 0 and 1. + * @param {number} horizon + * @param {number | undefined} [level] + * @returns {Forecast} + */ + predict(horizon, level) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.mstl_predict(retptr, this.__wbg_ptr, horizon, !isLikeNone(level), isLikeNone(level) ? 0 : level); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Produce in-sample forecasts, optionally including prediction + * intervals at the given level. + * + * If provided, `level` must be a float between 0 and 1. + * @param {number | undefined} [level] + * @returns {Forecast} + */ + predictInSample(level) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.mstl_predictInSample(retptr, this.__wbg_ptr, !isLikeNone(level), isLikeNone(level) ? 0 : level); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_is_bigint = function(arg0) { + const ret = typeof(getObject(arg0)) === 'bigint'; + return ret; + }; + imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { + const ret = BigInt.asUintN(64, arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) { + const ret = getObject(arg0) === getObject(arg1); + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_process_4a72847cc503995b = function(arg0) { + const ret = getObject(arg0).process; + return addHeapObject(ret); + }; + imports.wbg.__wbg_versions_f686565e586dd935 = function(arg0) { + const ret = getObject(arg0).versions; + return addHeapObject(ret); + }; + imports.wbg.__wbg_node_104a2ff8d6ea03a2 = function(arg0) { + const ret = getObject(arg0).node; + return addHeapObject(ret); + }; + imports.wbg.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () { + const ret = module.require; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).randomFillSync(takeObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { + getObject(arg0)[takeObject(arg1)] = takeObject(arg2); + }; + imports.wbg.__wbg_self_3093d5d1f7bcb682 = function() { return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_window_3bcfc4d31bc012f8 = function() { return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_globalThis_86b222e13bdf32ed = function() { return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_global_e5a3fe56f8be9485 = function() { return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_newnoargs_76313bd6ff35d0f2 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_a220cf903aa02ca2 = function() { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_525245e2b9901204 = function() { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_673dda6c73d19609 = function(arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); + }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_call_89af060b4e1523f2 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_isSafeInteger_7f1ed56200d90674 = function(arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_8a2cb9ca96b27ec9 = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_newwithlength_ec548f448387c968 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_subarray_7c2e3576afe181d1 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) { + const v = getObject(arg1); + const ret = typeof(v) === 'bigint' ? v : undefined; + getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('mstl_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/mstl_bg.wasm b/demo/dist/@bsull/augurs/mstl_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..89313887d7a262597a5cfaf08383979f6f20e02f GIT binary patch literal 322132 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 rA>LIG|EOt=D<6_v4Lwt9IzUJb0!&bx void; + readonly outlierdetector_new: (a: number, b: number, c: number) => void; + readonly outlierdetector_dbscan: (a: number, b: number) => void; + readonly outlierdetector_mad: (a: number, b: number) => void; + readonly outlierdetector_detect: (a: number, b: number, c: number) => void; + readonly outlierdetector_preprocess: (a: number, b: number, c: number) => void; + readonly __wbg_loadedoutlierdetector_free: (a: number, b: number) => void; + readonly loadedoutlierdetector_detect: (a: number, b: number) => void; + readonly loadedoutlierdetector_updateDetector: (a: number, b: number, c: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/outlier.js b/demo/dist/@bsull/augurs/outlier.js new file mode 100644 index 0000000..204c6c4 --- /dev/null +++ b/demo/dist/@bsull/augurs/outlier.js @@ -0,0 +1,791 @@ +let wasm; + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +let heap_next = heap.length; + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function getObject(idx) { return heap[idx]; } + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +const LoadedOutlierDetectorFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_loadedoutlierdetector_free(ptr >>> 0, 1)); +/** +* A 'loaded' outlier detector, ready to detect outliers. +* +* This is returned by the `preprocess` method of `OutlierDetector`, +* and holds the preprocessed data for the detector. +*/ +export class LoadedOutlierDetector { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(LoadedOutlierDetector.prototype); + obj.__wbg_ptr = ptr; + LoadedOutlierDetectorFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + LoadedOutlierDetectorFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_loadedoutlierdetector_free(ptr, 0); + } + /** + * Detect outliers in the given time series. + * @returns {OutlierOutput} + */ + detect() { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.loadedoutlierdetector_detect(retptr, this.__wbg_ptr); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Update the detector with new options. + * + * # Errors + * + * This method will return an error if the detector and options types + * are incompatible. + * @param {OutlierDetectorOptions} options + */ + updateDetector(options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.loadedoutlierdetector_updateDetector(retptr, this.__wbg_ptr, addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +const OutlierDetectorFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_outlierdetector_free(ptr >>> 0, 1)); +/** +* A detector for detecting outlying time series in a group of series. +*/ +export class OutlierDetector { + + static __wrap(ptr) { + ptr = ptr >>> 0; + const obj = Object.create(OutlierDetector.prototype); + obj.__wbg_ptr = ptr; + OutlierDetectorFinalization.register(obj, obj.__wbg_ptr, obj); + return obj; + } + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + OutlierDetectorFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_outlierdetector_free(ptr, 0); + } + /** + * Create a new outlier detector. + * @param {OutlierDetectorType} detectorType + * @param {OutlierDetectorOptions} options + */ + constructor(detectorType, options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.outlierdetector_new(retptr, addHeapObject(detectorType), addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + this.__wbg_ptr = r0 >>> 0; + OutlierDetectorFinalization.register(this, this.__wbg_ptr, this); + return this; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Create a new outlier detector using the DBSCAN algorithm. + * @param {OutlierDetectorOptions} options + * @returns {OutlierDetector} + */ + static dbscan(options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.outlierdetector_dbscan(retptr, addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return OutlierDetector.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Create a new outlier detector using the MAD algorithm. + * @param {OutlierDetectorOptions} options + * @returns {OutlierDetector} + */ + static mad(options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.outlierdetector_mad(retptr, addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return OutlierDetector.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Detect outlying time series in a group of series. + * + * Note: if you plan to run the detector multiple times on the same data, + * you should use the `preprocess` method to cache the preprocessed data, + * then call `detect` on the `LoadedOutlierDetector` returned by `preprocess`. + * @param {number[][] | Float64Array[]} y + * @returns {OutlierOutput} + */ + detect(y) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.outlierdetector_detect(retptr, this.__wbg_ptr, addHeapObject(y)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Preprocess the data for the detector. + * + * The returned value is a 'loaded' outlier detector, which can be used + * to detect outliers without needing to preprocess the data again. + * + * This is useful if you plan to run the detector multiple times on the same data. + * @param {number[][] | Float64Array[]} y + * @returns {LoadedOutlierDetector} + */ + preprocess(y) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.outlierdetector_preprocess(retptr, this.__wbg_ptr, addHeapObject(y)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return LoadedOutlierDetector.__wrap(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { + const ret = BigInt.asUintN(64, arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { + getObject(arg0)[takeObject(arg1)] = takeObject(arg2); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_a220cf903aa02ca2 = function() { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_525245e2b9901204 = function() { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_673dda6c73d19609 = function(arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); + }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('outlier_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/outlier_bg.wasm b/demo/dist/@bsull/augurs/outlier_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7aeae83e8bfbc6c668c31e7c32197a6b72e50bb3 GIT binary patch literal 201412 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

  • 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 literal 0 HcmV?d00001 diff --git a/demo/dist/@bsull/augurs/outlier_bg.wasm.d.ts b/demo/dist/@bsull/augurs/outlier_bg.wasm.d.ts new file mode 100644 index 0000000..173a860 --- /dev/null +++ b/demo/dist/@bsull/augurs/outlier_bg.wasm.d.ts @@ -0,0 +1,20 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function __wbg_outlierdetector_free(a: number, b: number): void; +export function outlierdetector_new(a: number, b: number, c: number): void; +export function outlierdetector_dbscan(a: number, b: number): void; +export function outlierdetector_mad(a: number, b: number): void; +export function outlierdetector_detect(a: number, b: number, c: number): void; +export function outlierdetector_preprocess(a: number, b: number, c: number): void; +export function __wbg_loadedoutlierdetector_free(a: number, b: number): void; +export function loadedoutlierdetector_detect(a: number, b: number): void; +export function loadedoutlierdetector_updateDetector(a: number, b: number, c: number): void; +export function initLogging(a: number, b: number): void; +export function custom_init(): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export function __wbindgen_add_to_stack_pointer(a: number): number; +export function __wbindgen_free(a: number, b: number, c: number): void; +export function __wbindgen_exn_store(a: number): void; +export function __wbindgen_start(): void; diff --git a/demo/dist/@bsull/augurs/package.json b/demo/dist/@bsull/augurs/package.json new file mode 100644 index 0000000..88d2627 --- /dev/null +++ b/demo/dist/@bsull/augurs/package.json @@ -0,0 +1,41 @@ +{ + "name": "@bsull/augurs", + "description": "JavaScript bindings for the augurs time series library.", + "version": "0.6.0", + "collaborators": [ + "Ben Sully ProphetOptimizeOutput; + +/** + * An optimizer for the Prophet model. + */ +interface ProphetOptimizer { + optimize: ProphetOptimizerFunction; +} + + +/** + * Arguments for optimization. + */ +export interface ProphetOptimizeOptions { + /** + * Algorithm to use. + */ + algorithm?: ProphetAlgorithm; + /** + * The random seed to use for the optimization. + */ + seed?: number; + /** + * The chain id to advance the PRNG. + */ + chain?: number; + /** + * Line search step size for first iteration. + */ + initAlpha?: number; + /** + * Convergence tolerance on changes in objective function value. + */ + tolObj?: number; + /** + * Convergence tolerance on relative changes in objective function value. + */ + tolRelObj?: number; + /** + * Convergence tolerance on the norm of the gradient. + */ + tolGrad?: number; + /** + * Convergence tolerance on the relative norm of the gradient. + */ + tolRelGrad?: number; + /** + * Convergence tolerance on changes in parameter value. + */ + tolParam?: number; + /** + * Size of the history for LBFGS Hessian approximation. The value should + * be less than the dimensionality of the parameter space. 5-10 usually + * sufficient. + */ + historySize?: number; + /** + * Total number of iterations. + */ + iter?: number; + /** + * When `true`, use the Jacobian matrix to approximate the Hessian. + * Default is `false`. + */ + jacobian?: boolean; + /** + * How frequently to emit convergence statistics, in number of iterations. + */ + refresh?: number; +} + +/** + * The initial parameters for the optimization. + */ +export interface ProphetInitialParams { + /** + * Base trend growth rate. + */ + k: number; + /** + * Trend offset. + */ + m: number; + /** + * Trend rate adjustments, length s in data. + */ + delta: Float64Array; + /** + * Regressor coefficients, length k in data. + */ + beta: Float64Array; + /** + * Observation noise. + */ + sigmaObs: number; +} + +/** + * The algorithm to use for optimization. One of: \'BFGS\', \'LBFGS\', \'Newton\'. + */ +export type ProphetAlgorithm = "newton" | "bfgs" | "lbfgs"; + +/** + * The type of trend to use. + */ +export type ProphetTrendIndicator = "linear" | "logistic" | "flat"; + +/** + * Data for the Prophet model. + */ +export interface ProphetStanData { + /** + * Number of time periods. + */ + T: number; + /** + * Time series, length n. + */ + y: number[]; + /** + * Time, length n. + */ + t: number[]; + /** + * Capacities for logistic trend, length n. + */ + cap: number[]; + /** + * Number of changepoints. + */ + S: number; + /** + * Times of trend changepoints, length s. + */ + t_change: number[]; + /** + * The type of trend to use. + * + * Possible values are: + * - 0 for linear trend + * - 1 for logistic trend + * - 2 for flat trend. + */ + trend_indicator: number; + /** + * Number of regressors. + * + * Must be greater than or equal to 1. + */ + K: number; + /** + * Indicator of additive features, length k. + */ + s_a: number[]; + /** + * Indicator of multiplicative features, length k. + */ + s_m: number[]; + /** + * Regressors, shape (n, k). + */ + X: number[]; + /** + * Scale on seasonality prior. + * + * Must all be greater than zero. + */ + sigmas: number[]; + /** + * Scale on changepoints prior. + * Must be greater than 0. + */ + tau: number; +} + +/** + * Data for the Prophet Stan model, in JSON format. + * + * The JSON should represent an object of type `ProphetStanData`. + */ +export type ProphetStanDataJSON = string; + +/** + * Log messages from the optimizer. + */ +export interface ProphetLogs { + /** + * Debug logs. + */ + debug: string; + /** + * Info logs. + */ + info: string; + /** + * Warning logs. + */ + warn: string; + /** + * Error logs. + */ + error: string; + /** + * Fatal logs. + */ + fatal: string; +} + +/** + * The output of the optimizer. + */ +export interface ProphetOptimizeOutput { + /** + * Logs emitted by the optimizer, split by log level. + */ + logs: ProphetLogs; + /** + * The optimized parameters. + */ + params: ProphetOptimizedParams; +} + +/** + * The optimal parameters found by the optimizer. + */ +export interface ProphetOptimizedParams { + /** + * Base trend growth rate. + */ + k: number; + /** + * Trend offset. + */ + m: number; + /** + * Observation noise. + */ + sigmaObs: number; + /** + * Trend rate adjustments. + */ + delta: Float64Array; + /** + * Regressor coefficients. + */ + beta: Float64Array; + /** + * Transformed trend. + */ + trend: Float64Array; +} + +export type TimestampSeconds = number; + +/** + * The data needed to train a Prophet model. + * + * Seasonality conditions, regressors, + * floor and cap columns. + */ +export interface ProphetTrainingData { + /** + * The timestamps of the time series. + * + * These should be in seconds since the epoch. + */ + ds: TimestampSeconds[] | BigInt64Array; + /** + * The time series values to fit the model to. + */ + y: number[] | Float64Array; + /** + * Optionally, an upper bound (cap) on the values of the time series. + * + * Only used if the model\'s growth type is `logistic`. + */ + cap?: number[] | Float64Array; + /** + * Optionally, a lower bound (floor) on the values of the time series. + * + * Only used if the model\'s growth type is `logistic`. + */ + floor?: number[] | Float64Array; + /** + * Optional indicator variables for conditional seasonalities. + * + * The keys of the map are the names of the seasonality components, + * and the values are boolean arrays of length `T` where `true` indicates + * that the component is active for the corresponding time point. + * + * There must be a key in this map for each seasonality component + * that is marked as conditional in the model. + */ + seasonalityConditions?: Map; + /** + * Optional exogynous regressors. + */ + x?: Map; +} + +/** + * The data needed to predict with a Prophet model. + * + * The structure of the prediction data must be the same as the + * training data used to train the model, with the exception of + * `y` (which is being predicted). + * + * That is, if your model used certain seasonality conditions or + * regressors, you must include them in the prediction data. + */ +export interface ProphetPredictionData { + /** + * The timestamps of the time series. + * + * These should be in seconds since the epoch. + */ + ds: TimestampSeconds[]; + /** + * Optionally, an upper bound (cap) on the values of the time series. + * + * Only used if the model\'s growth type is `logistic`. + */ + cap?: number[]; + /** + * Optionally, a lower bound (floor) on the values of the time series. + * + * Only used if the model\'s growth type is `logistic`. + */ + floor?: number[]; + /** + * Optional indicator variables for conditional seasonalities. + * + * The keys of the map are the names of the seasonality components, + * and the values are boolean arrays of length `T` where `true` indicates + * that the component is active for the corresponding time point. + * + * There must be a key in this map for each seasonality component + * that is marked as conditional in the model. + */ + seasonalityConditions?: Map; + /** + * Optional exogynous regressors. + */ + x?: Map; +} + +/** + * Predictions from a Prophet model. + * + * The `yhat` field contains the forecasts for the input time series. + * All other fields contain individual components of the model which + * contribute towards the final `yhat` estimate. + * + * Certain fields (such as `cap` and `floor`) may be `None` if the + * model did not use them (e.g. the model was not configured to use + * logistic trend). + */ +export interface ProphetPredictions { + /** + * The timestamps of the forecasts. + */ + ds: TimestampSeconds[]; + /** + * Forecasts of the input time series `y`. + */ + yhat: Forecast; + /** + * The trend contribution at each time point. + */ + trend: Forecast; + /** + * The cap for the logistic growth. + * + * Will only be `Some` if the model used [`GrowthType::Logistic`](crate::GrowthType::Logistic). + */ + cap: number[] | undefined; + /** + * The floor for the logistic growth. + * + * Will only be `Some` if the model used [`GrowthType::Logistic`](crate::GrowthType::Logistic) + * and the floor was provided in the input data. + */ + floor: number[] | undefined; + /** + * The combined combination of all _additive_ components. + * + * This includes seasonalities, holidays and regressors if their mode + * was configured to be [`FeatureMode::Additive`](crate::FeatureMode::Additive). + */ + additive: Forecast; + /** + * The combined combination of all _multiplicative_ components. + * + * This includes seasonalities, holidays and regressors if their mode + * was configured to be [`FeatureMode::Multiplicative`](crate::FeatureMode::Multiplicative). + */ + multiplicative: Forecast; + /** + * Mapping from holiday name to that holiday\'s contribution. + */ + holidays: Map; + /** + * Mapping from seasonality name to that seasonality\'s contribution. + */ + seasonalities: Map; + /** + * Mapping from regressor name to that regressor\'s contribution. + */ + regressors: Map; +} + +/** + * Options for Prophet, after applying defaults. + * + * The only required field is `optimizer`. See the documentation for + * `Optimizer` for more details. + * + * All other options are treated exactly the same as the original + * Prophet library; see its [documentation] for more detail. + * + * [documentation]: https://facebook.github.io/prophet/docs/quick_start.html + */ +export interface ProphetOptions { + /** + * Optimizer, used to find the maximum likelihood estimate of the + * Prophet Stan model parameters. + * + * See the documentation for `ProphetOptions` for more details. + */ + optimizer: ProphetOptimizer; + /** + * The type of growth (trend) to use. + * + * Defaults to [`GrowthType::Linear`]. + */ + growth?: ProphetGrowthType; + /** + * An optional list of changepoints. + * + * If not provided, changepoints will be automatically selected. + */ + changepoints?: TimestampSeconds[]; + /** + * The number of potential changepoints to include. + * + * Not used if `changepoints` is provided. + * + * If provided and `changepoints` is not provided, then + * `n_changepoints` potential changepoints will be selected + * uniformly from the first `changepoint_range` proportion of + * the history. + * + * Defaults to 25. + */ + nChangepoints?: number; + /** + * The proportion of the history to consider for potential changepoints. + * + * Not used if `changepoints` is provided. + * + * Defaults to `0.8` for the first 80% of the data. + */ + changepointRange?: number; + /** + * How to fit yearly seasonality. + * + * Defaults to [`SeasonalityOption::Auto`]. + */ + yearlySeasonality?: ProphetSeasonalityOption; + /** + * How to fit weekly seasonality. + * + * Defaults to [`SeasonalityOption::Auto`]. + */ + weeklySeasonality?: ProphetSeasonalityOption; + /** + * How to fit daily seasonality. + * + * Defaults to [`SeasonalityOption::Auto`]. + */ + dailySeasonality?: ProphetSeasonalityOption; + /** + * How to model seasonality. + * + * Defaults to [`FeatureMode::Additive`]. + */ + seasonalityMode?: ProphetFeatureMode; + /** + * The prior scale for seasonality. + * + * This modulates the strength of seasonality, + * with larger values allowing the model to fit + * larger seasonal fluctuations and smaller values + * dampening the seasonality. + * + * Can be specified for individual seasonalities + * using [`Prophet::add_seasonality`](crate::Prophet::add_seasonality). + * + * Defaults to `10.0`. + */ + seasonalityPriorScale?: number; + /** + * The prior scale for changepoints. + * + * This modulates the flexibility of the automatic + * changepoint selection. Large values will allow many + * changepoints, while small values will allow few + * changepoints. + * + * Defaults to `0.05`. + */ + changepointPriorScale?: number; + /** + * How to perform parameter estimation. + * + * When [`EstimationMode::Mle`] or [`EstimationMode::Map`] + * are used then no MCMC samples are taken. + * + * Defaults to [`EstimationMode::Mle`]. + */ + estimation?: ProphetEstimationMode; + /** + * The width of the uncertainty intervals. + * + * Must be between `0.0` and `1.0`. Common values are + * `0.8` (80%), `0.9` (90%) and `0.95` (95%). + * + * Defaults to `0.8` for 80% intervals. + */ + intervalWidth?: number; + /** + * The number of simulated draws used to estimate uncertainty intervals. + * + * Setting this value to `0` will disable uncertainty + * estimation and speed up the calculation. + * + * Defaults to `1000`. + */ + uncertaintySamples?: number; + /** + * How to scale the data prior to fitting the model. + * + * Defaults to [`Scaling::AbsMax`]. + */ + scaling?: ProphetScaling; + /** + * Holidays to include in the model. + */ + holidays?: Map; + /** + * Prior scale for holidays. + * + * This parameter modulates the strength of the holiday + * components model, unless overridden in each individual + * holiday\'s input. + * + * Defaults to `100.0`. + */ + holidaysPriorScale?: number; + /** + * How to model holidays. + * + * Defaults to the same value as [`ProphetOptions::seasonality_mode`]. + */ + holidaysMode?: ProphetFeatureMode; +} + +/** + * The type of growth to use. + */ +export type ProphetGrowthType = "linear" | "logistic" | "flat"; + +/** + * Define whether to include a specific seasonality, and how it should be specified. + */ +export type ProphetSeasonalityOption = { type: "auto" } | { type: "manual"; enabled: boolean } | { type: "fourier"; order: number }; + +/** + * How to scale the data prior to fitting the model. + */ +export type ProphetScaling = "absMax" | "minMax"; + +/** + * How to do parameter estimation. + * + * Note: for now, only MLE/MAP estimation is supported, i.e. there + * is no support for MCMC sampling. This will be added in the future! + * The enum will be marked as `non_exhaustive` until that point. + */ +export type ProphetEstimationMode = "mle" | "map"; + +/** + * The mode of a seasonality, regressor, or holiday. + */ +export type ProphetFeatureMode = "additive" | "multiplicative"; + +/** + * A holiday to be considered by the Prophet model. + */ +export interface ProphetHoliday { + /** + * The dates of the holiday. + */ + ds: TimestampSeconds[]; + /** + * The lower window for the holiday. + * + * The lower window is the number of days before the holiday + * that it is observed. For example, if the holiday is on + * 2023-01-01 and the lower window is -1, then the holiday will + * _also_ be observed on 2022-12-31. + */ + lowerWindow?: number[]; + /** + * The upper window for the holiday. + * + * The upper window is the number of days after the holiday + * that it is observed. For example, if the holiday is on + * 2023-01-01 and the upper window is 1, then the holiday will + * _also_ be observed on 2023-01-02. + */ + upperWindow?: number[]; + /** + * The prior scale for the holiday. + */ + priorScale?: number; +} + +/** + * The maximum log level to emit. + * + * The default is `Level::Info`. + */ +export type Level = "trace" | "debug" | "info" | "warn" | "error"; + +/** + * The target for augurs log events. + */ +export type LogTarget = "console" | "performance"; + +/** + * Log configuration. + */ +export interface LogConfig { + /** + * The maximum log level to emit. + * + * Defaults to `INFO`. + */ + maxLevel?: Level; + /** + * The target for augurs log events. + * + * Defaults to logging to the browser console. + */ + target?: LogTarget; + /** + * Whether to emit coloured logs. + * + * Defaults to `true`. + */ + color?: boolean; + /** + * Whether to show detailed fields such as augurs\' file names and line numbers + * in the logs. + * + * Probably not wise in production. + * + * Defaults to `false`. + */ + showDetailedFields?: boolean; +} + +/** + * Forecast intervals. + */ +export interface ForecastIntervals { + /** + * The confidence level for the intervals. + */ + level: number; + /** + * The lower prediction intervals. + */ + lower: number[]; + /** + * The upper prediction intervals. + */ + upper: number[]; +} + +/** + * A forecast containing point forecasts and, optionally, prediction intervals. + */ +export interface Forecast { + /** + * The point forecasts. + */ + point: number[]; + /** + * The forecast intervals, if requested and supported + * by the trend model. + */ + intervals: ForecastIntervals | undefined; +} + +/** +* The [Prophet] time-series forecasting model. +* +* Prophet is a forecasting procedure designed for automated forecasting +* at scale with minimal manual input. +* +* Create a new Prophet instance with the constructor, passing in an optimizer +* and some other optional arguments. +* +* # Example +* +* ```javascript +* import { Prophet } from '@bsull/augurs'; +* import { optimizer } from '@bsull/augurs-prophet-wasmstan'; +* +* const prophet = new Prophet({ optimizer }); +* const ds = [ +* 1704067200n, 1704871384n, 1705675569n, 1706479753n, 1707283938n, 1708088123n, +* 1708892307n, 1709696492n, 1710500676n, 1711304861n, 1712109046n, 1712913230n, +* ]; +* const y = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0]; +* const trainingData = { ds, y }; +* prophet.fit(trainingData); +* const predictions = prophet.predict(); +* console.log(predictions.yhat); // yhat is an object with 'point', 'lower' and 'upper'. +* ``` +* +* [Prophet]: https://facebook.github.io/prophet/ +*/ +export class Prophet { + free(): void; +/** +* Create a new Prophet model. +* @param {ProphetOptions} opts +*/ + constructor(opts: ProphetOptions); +/** +* Fit the model to some training data. +* @param {ProphetTrainingData} data +* @param {ProphetOptimizeOptions | undefined} [opts] +*/ + fit(data: ProphetTrainingData, opts?: ProphetOptimizeOptions): void; +/** +* Predict using the model. +* +* If `data` is omitted, predictions will be produced for the training data +* history. +* +* This will throw an exception if the model hasn't already been fit. +* @param {ProphetPredictionData | undefined} [data] +* @returns {ProphetPredictions} +*/ + predict(data?: ProphetPredictionData): ProphetPredictions; +} + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly __wbg_prophet_free: (a: number, b: number) => void; + readonly prophet_new: (a: number, b: number) => void; + readonly prophet_fit: (a: number, b: number, c: number, d: number) => void; + readonly prophet_predict: (a: number, b: number, c: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/prophet.js b/demo/dist/@bsull/augurs/prophet.js new file mode 100644 index 0000000..6198cfb --- /dev/null +++ b/demo/dist/@bsull/augurs/prophet.js @@ -0,0 +1,828 @@ +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let WASM_VECTOR_LEN = 0; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +const ProphetFinalization = (typeof FinalizationRegistry === 'undefined') + ? { register: () => {}, unregister: () => {} } + : new FinalizationRegistry(ptr => wasm.__wbg_prophet_free(ptr >>> 0, 1)); +/** +* The [Prophet] time-series forecasting model. +* +* Prophet is a forecasting procedure designed for automated forecasting +* at scale with minimal manual input. +* +* Create a new Prophet instance with the constructor, passing in an optimizer +* and some other optional arguments. +* +* # Example +* +* ```javascript +* import { Prophet } from '@bsull/augurs'; +* import { optimizer } from '@bsull/augurs-prophet-wasmstan'; +* +* const prophet = new Prophet({ optimizer }); +* const ds = [ +* 1704067200n, 1704871384n, 1705675569n, 1706479753n, 1707283938n, 1708088123n, +* 1708892307n, 1709696492n, 1710500676n, 1711304861n, 1712109046n, 1712913230n, +* ]; +* const y = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0]; +* const trainingData = { ds, y }; +* prophet.fit(trainingData); +* const predictions = prophet.predict(); +* console.log(predictions.yhat); // yhat is an object with 'point', 'lower' and 'upper'. +* ``` +* +* [Prophet]: https://facebook.github.io/prophet/ +*/ +export class Prophet { + + __destroy_into_raw() { + const ptr = this.__wbg_ptr; + this.__wbg_ptr = 0; + ProphetFinalization.unregister(this); + return ptr; + } + + free() { + const ptr = this.__destroy_into_raw(); + wasm.__wbg_prophet_free(ptr, 0); + } + /** + * Create a new Prophet model. + * @param {ProphetOptions} opts + */ + constructor(opts) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.prophet_new(retptr, addHeapObject(opts)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + this.__wbg_ptr = r0 >>> 0; + ProphetFinalization.register(this, this.__wbg_ptr, this); + return this; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Fit the model to some training data. + * @param {ProphetTrainingData} data + * @param {ProphetOptimizeOptions | undefined} [opts] + */ + fit(data, opts) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.prophet_fit(retptr, this.__wbg_ptr, addHeapObject(data), isLikeNone(opts) ? 0 : addHeapObject(opts)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } + /** + * Predict using the model. + * + * If `data` is omitted, predictions will be produced for the training data + * history. + * + * This will throw an exception if the model hasn't already been fit. + * @param {ProphetPredictionData | undefined} [data] + * @returns {ProphetPredictions} + */ + predict(data) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.prophet_predict(retptr, this.__wbg_ptr, isLikeNone(data) ? 0 : addHeapObject(data)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + if (r2) { + throw takeObject(r1); + } + return takeObject(r0); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbindgen_is_bigint = function(arg0) { + const ret = typeof(getObject(arg0)) === 'bigint'; + return ret; + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_bigint_from_i64 = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) { + const ret = getObject(arg0) === getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_bigint_from_u64 = function(arg0) { + const ret = BigInt.asUintN(64, arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbindgen_number_new = function(arg0) { + const ret = arg0; + return addHeapObject(ret); + }; + imports.wbg.__wbg_crypto_1d1f22824a6a080c = function(arg0) { + const ret = getObject(arg0).crypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_process_4a72847cc503995b = function(arg0) { + const ret = getObject(arg0).process; + return addHeapObject(ret); + }; + imports.wbg.__wbg_versions_f686565e586dd935 = function(arg0) { + const ret = getObject(arg0).versions; + return addHeapObject(ret); + }; + imports.wbg.__wbg_node_104a2ff8d6ea03a2 = function(arg0) { + const ret = getObject(arg0).node; + return addHeapObject(ret); + }; + imports.wbg.__wbg_require_cca90b1a94a0255b = function() { return handleError(function () { + const ret = module.require; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_msCrypto_eb05e62b530a1508 = function(arg0) { + const ret = getObject(arg0).msCrypto; + return addHeapObject(ret); + }; + imports.wbg.__wbg_randomFillSync_5c9c955aa56b6049 = function() { return handleError(function (arg0, arg1) { + getObject(arg0).randomFillSync(takeObject(arg1)); + }, arguments) }; + imports.wbg.__wbg_getRandomValues_3aa56aa6edec874c = function() { return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_f975102236d3c502 = function(arg0, arg1, arg2) { + getObject(arg0)[takeObject(arg1)] = takeObject(arg2); + }; + imports.wbg.__wbg_self_3093d5d1f7bcb682 = function() { return handleError(function () { + const ret = self.self; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_window_3bcfc4d31bc012f8 = function() { return handleError(function () { + const ret = window.window; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_globalThis_86b222e13bdf32ed = function() { return handleError(function () { + const ret = globalThis.globalThis; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_global_e5a3fe56f8be9485 = function() { return handleError(function () { + const ret = global.global; + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_newnoargs_76313bd6ff35d0f2 = function(arg0, arg1) { + const ret = new Function(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_new_a220cf903aa02ca2 = function() { + const ret = new Array(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_8608a2b51a5f6737 = function() { + const ret = new Map(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_new_525245e2b9901204 = function() { + const ret = new Object(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_673dda6c73d19609 = function(arg0, arg1, arg2) { + getObject(arg0)[arg1 >>> 0] = takeObject(arg2); + }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_call_89af060b4e1523f2 = function() { return handleError(function (arg0, arg1, arg2) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_call_7de908392845a9a5 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { + const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_instanceof_Map_763ce0e95960d55e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Map; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_set_49185437f0ab06f8 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).set(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_isSafeInteger_7f1ed56200d90674 = function(arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_Object_b80213ae6cc9aafb = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Object; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_8a2cb9ca96b27ec9 = function(arg0, arg1, arg2) { + const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_newwithbyteoffsetandlength_a6ac1429e5962b5d = function(arg0, arg1, arg2) { + const ret = new Float64Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_2ba50dc715327edc = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_a9e7e8ccaa5e7434 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_newwithlength_ec548f448387c968 = function(arg0) { + const ret = new Uint8Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_subarray_7c2e3576afe181d1 = function(arg0, arg1, arg2) { + const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbg_newwithlength_67c54fcff2372990 = function(arg0) { + const ret = new Float64Array(arg0 >>> 0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_bigint_get_as_i64 = function(arg0, arg1) { + const v = getObject(arg1); + const ret = typeof(v) === 'bigint' ? v : undefined; + getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('prophet_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/prophet_bg.wasm b/demo/dist/@bsull/augurs/prophet_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4b5ff4e73a0afcea40fe598f12835a1b1883f156 GIT binary patch literal 447032 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 r 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 Dv7}K5U9|oJdP{y#KJC&HY!aLph9QKOW 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

    augurs demo

    +
    +

    + augurs is a time series analysis library for Rust with bindings for JavaScript. It provides a set of tools for + analyzing time series data, including clustering, outlier detection, forecasting, and changepoint detection. +

    +

    + Visit the documentation for more information. + Alternatively, give augurs a star on GitHub! +

    +
    +
    + + +
    +

    + Clustering with DBSCAN - calculating... +

    +

    + augurs can be used to identify groups of series that behave similarly through time. This can be slow for large + number of series but can be parallelized! +

    +
    +
    +
    + + + +
    + +
    +
    + + + +
    + +
    +
    + + + +
    +
    +
    +
    + + +
    +

    + Outlier detection with DBSCAN - calculating... +

    +

    + A similar but easier problem is to identify series that are outliers: those which behave differently to the + majority of series. There are several algorithms; this demo shows the DBSCAN algorithm. +

    +
    +
    +
    + + + +
    +
    +
    +
    + + +
    +

    Forecasting with MSTL - calculating...

    +

    + augurs contains several forecasting algorithms, including MSTL, which is a seasonal-trend decomposition + procedure + for modelling multiple seasonalities, based on LOESS. +

    +
    +
    +
    + + + +
    +
    +
    +
    + + +
    +

    + Forecasting with Prophet - calculating... +

    +

    + augurs also contains an implementation of the Prophet + forecasting algorithm, which is a decomposable time series model with three main components: trend, + seasonality, + and holidays. +

    +
    +
    +
    + + + +
    +
    +
    +
    + + +
    +

    + Changepoint detection with a Bayesian Normal Gamma - calculating... +

    +

    + augurs also exposes functionality from the excellent changepoint crate, which provides a Bayesian + approach to detecting changepoints in time series data. + Here, each changepoint is highlighted in the plot. +

    +
    +
    +
    + + + \ No newline at end of file diff --git a/demo/index.js b/demo/index.js new file mode 100644 index 0000000..19dc6b0 --- /dev/null +++ b/demo/index.js @@ -0,0 +1,11 @@ +import runChangepoint from "./changepoint.js"; +import runClustering from "./clustering.js"; +import runMSTL from "./mstl.js"; +import runOutlier from "./outlier.js"; +import runProphet from "./prophet.js"; + +runChangepoint(); +runClustering(); +runMSTL(); +runOutlier(); +runProphet(); diff --git a/demo/mstl.js b/demo/mstl.js new file mode 100644 index 0000000..37010a1 --- /dev/null +++ b/demo/mstl.js @@ -0,0 +1,1333 @@ +import uPlot from "./dist/uPlot/uPlot.esm.js"; + +import { getSize } from "./helpers.js"; +import { legendAsTooltipPlugin } from "./plugins.js"; + +const df = { + ds: [ + 1197244800, 1197331200, 1197417600, 1197504000, 1197590400, 1197676800, + 1197763200, 1197849600, 1197936000, 1198022400, 1198108800, 1198195200, + 1198281600, 1198368000, 1198454400, 1198540800, 1198627200, 1198713600, + 1198800000, 1198886400, 1198972800, 1199059200, 1199145600, 1199232000, + 1199318400, 1199404800, 1199491200, 1199577600, 1199664000, 1199750400, + 1199836800, 1199923200, 1200009600, 1200096000, 1200182400, 1200268800, + 1200355200, 1200441600, 1200528000, 1200614400, 1200700800, 1200787200, + 1200873600, 1200960000, 1201046400, 1201132800, 1201219200, 1201305600, + 1201392000, 1201478400, 1201564800, 1201651200, 1201824000, 1201910400, + 1201996800, 1202083200, 1202169600, 1202256000, 1202342400, 1202428800, + 1202515200, 1202601600, 1202688000, 1202774400, 1202860800, 1202947200, + 1203033600, 1203120000, 1203206400, 1203292800, 1203379200, 1203465600, + 1203552000, 1203638400, 1203724800, 1203811200, 1203897600, 1203984000, + 1204070400, 1204243200, 1204416000, 1204675200, 1204761600, 1204848000, + 1204934400, 1205020800, 1205107200, 1205193600, 1205280000, 1205366400, + 1205452800, 1205539200, 1205625600, 1205712000, 1205798400, 1205884800, + 1205971200, 1206057600, 1206144000, 1206230400, 1206316800, 1206403200, + 1206489600, 1206576000, 1206662400, 1206748800, 1206835200, 1206921600, + 1207008000, 1207094400, 1207180800, 1207267200, 1207353600, 1207440000, + 1207526400, 1207612800, 1207699200, 1207785600, 1207872000, 1207958400, + 1208044800, 1208131200, 1208217600, 1208304000, 1208390400, 1208476800, + 1208563200, 1208649600, 1208736000, 1208822400, 1208908800, 1208995200, + 1209081600, 1209168000, 1209254400, 1209340800, 1209427200, 1209513600, + 1209600000, 1209686400, 1209772800, 1209859200, 1209945600, 1210032000, + 1210118400, 1210204800, 1210291200, 1210377600, 1210464000, 1210550400, + 1210636800, 1210723200, 1210809600, 1210896000, 1210982400, 1211068800, + 1211155200, 1211241600, 1211328000, 1211414400, 1211500800, 1211587200, + 1211673600, 1211760000, 1211846400, 1211932800, 1212019200, 1212105600, + 1212192000, 1212451200, 1212537600, 1212624000, 1212710400, 1212796800, + 1212883200, 1212969600, 1213056000, 1213142400, 1213228800, 1213315200, + 1213401600, 1213488000, 1213574400, 1213660800, 1213747200, 1213833600, + 1213920000, 1214006400, 1214092800, 1214179200, 1214265600, 1214352000, + 1214438400, 1214524800, 1214611200, 1214697600, 1214784000, 1214956800, + 1215043200, 1215129600, 1215216000, 1215302400, 1215388800, 1215475200, + 1215561600, 1215648000, 1215734400, 1215820800, 1217548800, 1217635200, + 1217721600, 1217808000, 1217894400, 1217980800, 1218067200, 1218153600, + 1218240000, 1218326400, 1218412800, 1218499200, 1218585600, 1218672000, + 1218758400, 1218844800, 1218931200, 1219017600, 1219104000, 1219190400, + 1219276800, 1219363200, 1219449600, 1219536000, 1219622400, 1219708800, + 1219795200, 1219881600, 1219968000, 1220054400, 1220140800, 1220227200, + 1220313600, 1220400000, 1220486400, 1220572800, 1220659200, 1220745600, + 1220832000, 1220918400, 1221004800, 1221091200, 1221177600, 1221264000, + 1221350400, 1221436800, 1221523200, 1221609600, 1221696000, 1221782400, + 1221868800, 1221955200, 1222041600, 1222128000, 1222214400, 1222300800, + 1222387200, 1222473600, 1222560000, 1222646400, 1222732800, 1222819200, + 1222905600, 1222992000, 1223078400, 1223164800, 1223251200, 1223337600, + 1223424000, 1223510400, 1223596800, 1223683200, 1223769600, 1223856000, + 1223942400, 1224028800, 1224115200, 1224201600, 1224288000, 1224374400, + 1224460800, 1224720000, 1224806400, 1224892800, 1224979200, 1225065600, + 1225152000, 1225238400, 1225324800, 1225411200, 1225497600, 1225584000, + 1225670400, 1225756800, 1225843200, 1225929600, 1226016000, 1226102400, + 1226188800, 1226275200, 1226361600, 1226448000, 1226534400, 1226620800, + 1226707200, 1226793600, 1226880000, 1226966400, 1227052800, 1227139200, + 1227225600, 1227312000, 1227398400, 1227484800, 1227571200, 1227657600, + 1227744000, 1227830400, 1227916800, 1228003200, 1228089600, 1228176000, + 1228262400, 1228348800, 1228435200, 1228521600, 1228608000, 1228694400, + 1228780800, 1228867200, 1228953600, 1229040000, 1229126400, 1229212800, + 1229299200, 1229385600, 1229472000, 1229558400, 1229644800, 1229731200, + 1229817600, 1229904000, 1229990400, 1230076800, 1230163200, 1230249600, + 1230336000, 1230422400, 1230508800, 1230595200, 1230681600, 1230768000, + 1230854400, 1230940800, 1231027200, 1231113600, 1231200000, 1231286400, + 1231372800, 1231459200, 1231545600, 1231632000, 1231718400, 1231804800, + 1231891200, 1231977600, 1232064000, 1232150400, 1232236800, 1232323200, + 1232409600, 1232496000, 1232582400, 1232668800, 1232755200, 1232841600, + 1232928000, 1233014400, 1233100800, 1233187200, 1233273600, 1233360000, + 1233446400, 1233532800, 1233619200, 1233705600, 1233792000, 1233878400, + 1233964800, 1234051200, 1234137600, 1234224000, 1234310400, 1234396800, + 1234483200, 1234569600, 1234656000, 1234742400, 1234828800, 1234915200, + 1235001600, 1235088000, 1235174400, 1235260800, 1235347200, 1235433600, + 1235520000, 1235606400, 1235692800, 1235779200, 1235865600, 1235952000, + 1236038400, 1236124800, 1236211200, 1236297600, 1236384000, 1236470400, + 1236556800, 1236643200, 1236729600, 1236816000, 1236902400, 1236988800, + 1237075200, 1237161600, 1237248000, 1237334400, 1237420800, 1237507200, + 1237593600, 1237680000, 1237766400, 1237852800, 1237939200, 1238025600, + 1238112000, 1238198400, 1238284800, 1238371200, 1238457600, 1238544000, + 1238630400, 1238716800, 1238803200, 1238889600, 1238976000, 1239062400, + 1239148800, 1239235200, 1239321600, 1239408000, 1239494400, 1239580800, + 1239667200, 1239753600, 1239840000, 1239926400, 1240012800, 1240099200, + 1240185600, 1240272000, 1240358400, 1240444800, 1240531200, 1240617600, + 1240704000, 1240790400, 1240876800, 1240963200, 1241049600, 1241136000, + 1241222400, 1241308800, 1241395200, 1241481600, 1241568000, 1241654400, + 1241740800, 1241827200, 1241913600, 1242000000, 1242086400, 1242172800, + 1242259200, 1242345600, 1242432000, 1242518400, 1242604800, 1242691200, + 1242777600, 1242864000, 1242950400, 1243036800, 1243123200, 1243209600, + 1243296000, 1243382400, 1243468800, 1243555200, 1243641600, 1243728000, + 1243814400, 1243900800, 1243987200, 1244073600, 1244160000, 1244246400, + 1244332800, 1244419200, 1244505600, 1244592000, 1244678400, 1244764800, + 1244851200, 1244937600, 1245024000, 1245110400, 1245196800, 1245283200, + 1245369600, 1245456000, 1245542400, 1245628800, 1245715200, 1245801600, + 1245888000, 1245974400, 1246060800, 1246147200, 1246233600, 1246320000, + 1246406400, 1246492800, 1246579200, 1246665600, 1246752000, 1246838400, + 1246924800, 1247011200, 1247097600, 1247184000, 1247270400, 1247356800, + 1247443200, 1247529600, 1247616000, 1247702400, 1247788800, 1247875200, + 1247961600, 1248048000, 1248134400, 1248220800, 1248307200, 1248393600, + 1248480000, 1248566400, 1248652800, 1248739200, 1248825600, 1248912000, + 1248998400, 1249084800, 1249171200, 1249257600, 1249344000, 1249430400, + 1249516800, 1249603200, 1249689600, 1249776000, 1249862400, 1249948800, + 1250035200, 1250121600, 1250208000, 1250294400, 1250380800, 1250467200, + 1250553600, 1250640000, 1250726400, 1250812800, 1250899200, 1250985600, + 1251072000, 1251158400, 1251244800, 1251331200, 1251417600, 1251504000, + 1251590400, 1251676800, 1251763200, 1251849600, 1251936000, 1252022400, + 1252108800, 1252195200, 1252281600, 1252368000, 1252454400, 1252540800, + 1252627200, 1252713600, 1252800000, 1252886400, 1252972800, 1253059200, + 1253145600, 1253232000, 1253318400, 1253404800, 1253491200, 1253577600, + 1253750400, 1254096000, 1254182400, 1254268800, 1254355200, 1254441600, + 1254528000, 1254614400, 1254700800, 1254787200, 1254873600, 1254960000, + 1255046400, 1255132800, 1255219200, 1255305600, 1255392000, 1255737600, + 1255824000, 1255910400, 1255996800, 1256083200, 1256169600, 1256256000, + 1256342400, 1256428800, 1256515200, 1256601600, 1256688000, 1256774400, + 1256860800, 1256947200, 1257033600, 1257120000, 1257206400, 1257292800, + 1257379200, 1257465600, 1257552000, 1257638400, 1257724800, 1257811200, + 1257897600, 1257984000, 1258070400, 1258156800, 1258329600, 1258416000, + 1258502400, 1258588800, 1258675200, 1258761600, 1258934400, 1259020800, + 1259107200, 1259193600, 1259280000, 1259366400, 1259452800, 1259539200, + 1259625600, 1259712000, 1259798400, 1259884800, 1259971200, 1260057600, + 1260144000, 1260230400, 1260316800, 1260403200, 1260489600, 1260576000, + 1260662400, 1260748800, 1260835200, 1260921600, 1261008000, 1261094400, + 1261180800, 1261267200, 1261353600, 1261440000, 1261526400, 1261612800, + 1261699200, 1261785600, 1261872000, 1261958400, 1262044800, 1262131200, + 1262217600, 1262304000, 1262390400, 1262476800, 1262563200, 1262649600, + 1262736000, 1262822400, 1262908800, 1262995200, 1263081600, 1263168000, + 1263254400, 1263340800, 1263427200, 1263513600, 1263600000, 1263686400, + 1263772800, 1263859200, 1263945600, 1264032000, 1264118400, 1264377600, + 1264464000, 1264550400, 1264636800, 1264723200, 1264809600, 1264896000, + 1264982400, 1265068800, 1265155200, 1265241600, 1265328000, 1265414400, + 1265500800, 1265673600, 1265760000, 1265846400, 1265932800, 1266019200, + 1266105600, 1266192000, 1266278400, 1266364800, 1266451200, 1266537600, + 1266624000, 1266710400, 1266796800, 1266969600, 1267056000, 1267142400, + 1267228800, 1267315200, 1267401600, 1267488000, 1267574400, 1267660800, + 1267747200, 1267833600, 1267920000, 1268006400, 1268092800, 1268179200, + 1268265600, 1268352000, 1268438400, 1268524800, 1268611200, 1268697600, + 1268784000, 1268870400, 1268956800, 1269043200, 1269129600, 1269216000, + 1269302400, 1269388800, 1269475200, 1269561600, 1269648000, 1269734400, + 1269820800, 1269907200, 1269993600, 1270080000, 1270166400, 1270252800, + 1270339200, 1270425600, 1270512000, 1270598400, 1270684800, 1270771200, + 1270857600, 1270944000, 1271030400, 1271116800, 1271203200, 1271289600, + 1271376000, 1271462400, 1271548800, 1271635200, 1271721600, 1271808000, + 1271894400, 1271980800, 1272067200, 1272153600, 1272240000, 1272326400, + 1272412800, 1272499200, 1272585600, 1272672000, 1272758400, 1272844800, + 1272931200, 1273017600, 1273104000, 1273190400, 1273276800, 1273363200, + 1273449600, 1273536000, 1273622400, 1273708800, 1273795200, 1273881600, + 1273968000, 1274054400, 1274140800, 1274227200, 1274313600, 1274400000, + 1274486400, 1274572800, 1274659200, 1274745600, 1274832000, 1274918400, + 1275004800, 1275091200, 1275177600, 1275264000, 1275350400, 1275436800, + 1275523200, 1275609600, 1275696000, 1275782400, 1275868800, 1275955200, + 1276041600, 1276128000, 1276214400, 1276300800, 1276387200, 1276473600, + 1276560000, 1276646400, 1276732800, 1276819200, 1276905600, 1276992000, + 1277078400, 1277164800, 1277251200, 1277337600, 1277424000, 1277596800, + 1277769600, 1277856000, 1277942400, 1278028800, 1278115200, 1278201600, + 1278374400, 1278806400, 1278892800, 1278979200, 1279065600, 1279152000, + 1279238400, 1279324800, 1279411200, 1279497600, 1279584000, 1279670400, + 1279756800, 1279843200, 1279929600, 1280016000, 1280102400, 1280188800, + 1280275200, 1280361600, 1280448000, 1280534400, 1280620800, 1280707200, + 1280793600, 1280880000, 1280966400, 1281052800, 1281139200, 1281225600, + 1281312000, 1281398400, 1281484800, 1281571200, 1281657600, 1281744000, + 1281830400, 1281916800, 1282003200, 1282089600, 1282176000, 1282262400, + 1282348800, 1282435200, 1282521600, 1282608000, 1282694400, 1282780800, + 1282867200, 1282953600, 1283040000, 1283126400, 1283212800, 1283299200, + 1283385600, 1283472000, 1283558400, 1283644800, 1283731200, 1283817600, + 1283904000, 1283990400, 1284076800, 1284163200, 1284249600, 1284336000, + 1284422400, 1284508800, 1284595200, 1284681600, 1284768000, 1284854400, + 1284940800, 1285027200, 1285113600, 1285200000, 1285286400, 1285372800, + 1285459200, 1285545600, 1285632000, 1285718400, 1285804800, 1285891200, + 1285977600, 1286064000, 1286150400, 1286236800, 1286323200, 1286409600, + 1286496000, 1286582400, 1286668800, 1286755200, 1286841600, 1286928000, + 1287014400, 1287100800, 1287187200, 1287273600, 1287360000, 1287446400, + 1287532800, 1287619200, 1287705600, 1287792000, 1287878400, 1287964800, + 1288051200, 1288137600, 1288224000, 1288310400, 1288396800, 1288483200, + 1288569600, 1288656000, 1288742400, 1288828800, 1288915200, 1289001600, + 1289088000, 1289174400, 1289260800, 1289347200, 1289433600, 1289520000, + 1289606400, 1289692800, 1289779200, 1289865600, 1289952000, 1290038400, + 1290124800, 1290211200, 1290297600, 1290384000, 1290470400, 1290556800, + 1290643200, 1290729600, 1290816000, 1290902400, 1290988800, 1291075200, + 1291161600, 1291248000, 1291334400, 1291420800, 1291507200, 1291593600, + 1291680000, 1291766400, 1291852800, 1291939200, 1292025600, 1292112000, + 1292198400, 1292284800, 1292371200, 1292457600, 1292544000, 1292630400, + 1292716800, 1292803200, 1292889600, 1292976000, 1293062400, 1293148800, + 1293235200, 1293321600, 1293408000, 1293494400, 1293580800, 1293667200, + 1293753600, 1293840000, 1293926400, 1294012800, 1294099200, 1294185600, + 1294272000, 1294358400, 1294444800, 1294531200, 1294617600, 1294704000, + 1294790400, 1294876800, 1294963200, 1295049600, 1295136000, 1295222400, + 1295308800, 1295395200, 1295481600, 1295568000, 1295654400, 1295740800, + 1295827200, 1295913600, 1296000000, 1296086400, 1296172800, 1296259200, + 1296345600, 1296432000, 1296518400, 1296604800, 1296691200, 1296777600, + 1296864000, 1296950400, 1297036800, 1297123200, 1297209600, 1297296000, + 1297382400, 1297468800, 1297555200, 1297641600, 1297728000, 1297814400, + 1297900800, 1297987200, 1298073600, 1298160000, 1298246400, 1298332800, + 1298419200, 1298505600, 1298592000, 1298678400, 1298764800, 1298851200, + 1298937600, 1299024000, 1299110400, 1299196800, 1299283200, 1299369600, + 1299456000, 1299542400, 1299628800, 1299715200, 1299801600, 1299888000, + 1299974400, 1300060800, 1300147200, 1300233600, 1300320000, 1300406400, + 1300492800, 1300579200, 1300665600, 1300752000, 1300838400, 1300924800, + 1301011200, 1301097600, 1301184000, 1301270400, 1301356800, 1301443200, + 1301529600, 1301616000, 1301702400, 1301788800, 1301875200, 1301961600, + 1302048000, 1302134400, 1302220800, 1302307200, 1302393600, 1302480000, + 1302566400, 1302652800, 1302739200, 1302825600, 1302912000, 1302998400, + 1303084800, 1303171200, 1303257600, 1303344000, 1303430400, 1303516800, + 1303603200, 1303689600, 1303776000, 1303862400, 1303948800, 1304035200, + 1304121600, 1304208000, 1304294400, 1304380800, 1304467200, 1304553600, + 1304640000, 1304726400, 1304812800, 1304899200, 1304985600, 1305072000, + 1305158400, 1305244800, 1305331200, 1305417600, 1305504000, 1305590400, + 1305676800, 1305763200, 1305849600, 1305936000, 1306022400, 1306108800, + 1306195200, 1306281600, 1306368000, 1306454400, 1306540800, 1306627200, + 1306713600, 1306800000, 1306886400, 1306972800, 1307059200, 1307145600, + 1307232000, 1307318400, 1307404800, 1307491200, 1307577600, 1307664000, + 1307750400, 1307836800, 1307923200, 1308009600, 1308096000, 1308182400, + 1308268800, 1308355200, 1308441600, 1308528000, 1308614400, 1308700800, + 1308787200, 1308873600, 1308960000, 1309046400, 1309132800, 1309219200, + 1309305600, 1309392000, 1309478400, 1309564800, 1309651200, 1309737600, + 1309824000, 1309910400, 1309996800, 1310083200, 1310169600, 1310256000, + 1310342400, 1310428800, 1310515200, 1310601600, 1310688000, 1310774400, + 1310860800, 1310947200, 1311033600, 1311120000, 1311206400, 1311292800, + 1311379200, 1311465600, 1311552000, 1311638400, 1311724800, 1311811200, + 1311897600, 1311984000, 1312070400, 1312156800, 1312243200, 1312329600, + 1312416000, 1312502400, 1312588800, 1312675200, 1312761600, 1312848000, + 1312934400, 1313020800, 1313107200, 1313193600, 1313280000, 1313366400, + 1313452800, 1313539200, 1313625600, 1313712000, 1313798400, 1313884800, + 1313971200, 1314057600, 1314144000, 1314230400, 1314316800, 1314403200, + 1314489600, 1314576000, 1314662400, 1314748800, 1314835200, 1315008000, + 1315094400, 1315180800, 1315267200, 1315353600, 1315440000, 1315526400, + 1315612800, 1315699200, 1315785600, 1315872000, 1315958400, 1316044800, + 1316131200, 1316217600, 1316304000, 1316390400, 1316476800, 1316563200, + 1316649600, 1316736000, 1316822400, 1316908800, 1316995200, 1317081600, + 1317168000, 1317254400, 1317340800, 1317427200, 1317513600, 1317600000, + 1317686400, 1317772800, 1317859200, 1317945600, 1318032000, 1318118400, + 1318204800, 1318291200, 1318377600, 1318464000, 1318550400, 1318636800, + 1318723200, 1318809600, 1318896000, 1318982400, 1319155200, 1319241600, + 1319328000, 1319414400, 1319500800, 1319587200, 1319673600, 1319760000, + 1319846400, 1319932800, 1320019200, 1320105600, 1320192000, 1320278400, + 1320364800, 1320451200, 1320537600, 1320624000, 1320710400, 1320796800, + 1320883200, 1320969600, 1321056000, 1321142400, 1321228800, 1321315200, + 1321401600, 1321488000, 1321574400, 1321660800, 1321747200, 1321833600, + 1321920000, 1322006400, 1322092800, 1322179200, 1322265600, 1322352000, + 1322438400, 1322524800, 1322611200, 1322697600, 1322784000, 1322870400, + 1322956800, 1323043200, 1323129600, 1323216000, 1323302400, 1323388800, + 1323475200, 1323561600, 1323648000, 1323734400, 1323820800, 1323907200, + 1323993600, 1324080000, 1324166400, 1324252800, 1324339200, 1324425600, + 1324512000, 1324598400, 1324857600, 1324944000, 1325030400, 1325116800, + 1325203200, 1325289600, 1325376000, 1325462400, 1325548800, 1325635200, + 1325721600, 1325808000, 1325894400, 1325980800, 1326067200, 1326153600, + 1326240000, 1326326400, 1326412800, 1326499200, 1326585600, 1326672000, + 1326758400, 1326844800, 1326931200, 1327017600, 1327104000, 1327190400, + 1327276800, 1327363200, 1327449600, 1327536000, 1327622400, 1327708800, + 1327795200, 1327881600, 1327968000, 1328054400, 1328140800, 1328227200, + 1328313600, 1328400000, 1328486400, 1328572800, 1328659200, 1328745600, + 1328832000, 1328918400, 1329004800, 1329091200, 1329177600, 1329264000, + 1329350400, 1329436800, 1329523200, 1329609600, 1329696000, 1329782400, + 1329868800, 1329955200, 1330041600, 1330128000, 1330214400, 1330300800, + 1330387200, 1330473600, 1330560000, 1330646400, 1330732800, 1330819200, + 1330905600, 1330992000, 1331078400, 1331164800, 1331251200, 1331337600, + 1331424000, 1331510400, 1331596800, 1331683200, 1331769600, 1331856000, + 1331942400, 1332028800, 1332115200, 1332201600, 1332288000, 1332374400, + 1332460800, 1332547200, 1332633600, 1332720000, 1332806400, 1332892800, + 1332979200, 1333065600, 1333152000, 1333238400, 1333324800, 1333411200, + 1333497600, 1333584000, 1333670400, 1333756800, 1333843200, 1333929600, + 1334016000, 1334102400, 1334188800, 1334275200, 1334361600, 1334448000, + 1334534400, 1334620800, 1334707200, 1334793600, 1334880000, 1334966400, + 1335052800, 1335139200, 1335225600, 1335312000, 1335398400, 1335484800, + 1335571200, 1335657600, 1335830400, 1335916800, 1336003200, 1336089600, + 1336176000, 1336262400, 1336348800, 1336435200, 1336521600, 1336608000, + 1336694400, 1336780800, 1336867200, 1336953600, 1337040000, 1337126400, + 1337212800, 1337299200, 1337385600, 1337472000, 1337558400, 1337644800, + 1337731200, 1337817600, 1337904000, 1337990400, 1338076800, 1338163200, + 1338249600, 1338336000, 1338422400, 1338508800, 1338595200, 1338681600, + 1338768000, 1338854400, 1338940800, 1339027200, 1339113600, 1339200000, + 1339286400, 1339372800, 1339459200, 1339545600, 1339632000, 1339718400, + 1339804800, 1339891200, 1339977600, 1340064000, 1340150400, 1340236800, + 1340323200, 1340409600, 1340496000, 1340582400, 1340668800, 1340755200, + 1340841600, 1340928000, 1341014400, 1341100800, 1341187200, 1341273600, + 1341360000, 1341446400, 1341532800, 1341619200, 1341705600, 1341792000, + 1341878400, 1341964800, 1342051200, 1342137600, 1342224000, 1342310400, + 1342396800, 1342483200, 1342569600, 1342656000, 1342742400, 1342828800, + 1342915200, 1343001600, 1343088000, 1343174400, 1343260800, 1343347200, + 1343433600, 1343520000, 1343606400, 1343692800, 1343779200, 1343865600, + 1343952000, 1344038400, 1344124800, 1344211200, 1344297600, 1344384000, + 1344470400, 1344556800, 1344643200, 1344729600, 1344816000, 1344902400, + 1344988800, 1345075200, 1345161600, 1345248000, 1345334400, 1345420800, + 1345507200, 1345593600, 1345680000, 1345766400, 1345852800, 1345939200, + 1346025600, 1346112000, 1346198400, 1346284800, 1346371200, 1346457600, + 1346544000, 1346630400, 1346716800, 1346803200, 1346889600, 1346976000, + 1347062400, 1347148800, 1347235200, 1347321600, 1347408000, 1347494400, + 1347580800, 1347667200, 1347753600, 1347840000, 1347926400, 1348012800, + 1348099200, 1348185600, 1348272000, 1348358400, 1348444800, 1348531200, + 1348617600, 1348704000, 1348790400, 1348876800, 1348963200, 1349049600, + 1349136000, 1349222400, 1349308800, 1349395200, 1349481600, 1349568000, + 1349654400, 1349740800, 1349827200, 1349913600, 1350000000, 1350086400, + 1350172800, 1350259200, 1350345600, 1350432000, 1350518400, 1350604800, + 1350691200, 1350777600, 1350864000, 1350950400, 1351036800, 1351123200, + 1351209600, 1351296000, 1351382400, 1351468800, 1351555200, 1351641600, + 1351728000, 1351814400, 1351900800, 1351987200, 1352073600, 1352160000, + 1352246400, 1352332800, 1352419200, 1352505600, 1352592000, 1352678400, + 1352764800, 1352851200, 1352937600, 1353024000, 1353110400, 1353196800, + 1353283200, 1353369600, 1353456000, 1353542400, 1353628800, 1353715200, + 1353801600, 1353888000, 1353974400, 1354060800, 1354147200, 1354233600, + 1354320000, 1354406400, 1354492800, 1354579200, 1354665600, 1354752000, + 1354838400, 1354924800, 1355011200, 1355097600, 1355184000, 1355270400, + 1355356800, 1355443200, 1355529600, 1355616000, 1355702400, 1355788800, + 1355875200, 1355961600, 1356048000, 1356134400, 1356220800, 1356307200, + 1356393600, 1356480000, 1356566400, 1356652800, 1356739200, 1356825600, + 1356912000, 1356998400, 1357084800, 1357171200, 1357257600, 1357344000, + 1357430400, 1357516800, 1357603200, 1357689600, 1357776000, 1357862400, + 1357948800, 1358035200, 1358121600, 1358208000, 1358294400, 1358380800, + 1358467200, 1358553600, 1358640000, 1358726400, 1358812800, 1358899200, + 1358985600, 1359072000, 1359158400, 1359244800, 1359331200, 1359417600, + 1359504000, 1359590400, 1359676800, 1359763200, 1359849600, 1359936000, + 1360022400, 1360108800, 1360195200, 1360281600, 1360368000, 1360454400, + 1360540800, 1360627200, 1360713600, 1360800000, 1360886400, 1360972800, + 1361059200, 1361145600, 1361232000, 1361318400, 1361404800, 1361491200, + 1361577600, 1361664000, 1361750400, 1361836800, 1361923200, 1362009600, + 1362096000, 1362182400, 1362268800, 1362355200, 1362441600, 1362528000, + 1362614400, 1362700800, 1362787200, 1362873600, 1362960000, 1363046400, + 1363132800, 1363219200, 1363305600, 1363392000, 1363478400, 1363564800, + 1363651200, 1363737600, 1363824000, 1363910400, 1363996800, 1364083200, + 1364169600, 1364256000, 1364342400, 1364428800, 1364515200, 1364601600, + 1364688000, 1364774400, 1364860800, 1364947200, 1365033600, 1365120000, + 1365206400, 1365292800, 1365379200, 1365465600, 1365552000, 1365638400, + 1365724800, 1365811200, 1365897600, 1365984000, 1366070400, 1366156800, + 1366243200, 1366329600, 1366416000, 1366502400, 1366588800, 1366675200, + 1366761600, 1366848000, 1366934400, 1367020800, 1367107200, 1367193600, + 1367280000, 1367366400, 1367452800, 1367539200, 1367625600, 1367712000, + 1367798400, 1367884800, 1367971200, 1368057600, 1368144000, 1368230400, + 1368316800, 1368403200, 1368489600, 1368576000, 1368662400, 1368748800, + 1368835200, 1368921600, 1369008000, 1369094400, 1369180800, 1369267200, + 1369353600, 1369440000, 1369526400, 1369612800, 1369699200, 1369785600, + 1369872000, 1369958400, 1370044800, 1370131200, 1370217600, 1370304000, + 1370390400, 1370476800, 1370563200, 1370649600, 1370736000, 1370822400, + 1370908800, 1370995200, 1371081600, 1371168000, 1371254400, 1371340800, + 1371427200, 1371513600, 1371600000, 1371686400, 1371772800, 1371859200, + 1371945600, 1372032000, 1372118400, 1372204800, 1372291200, 1372377600, + 1372464000, 1372550400, 1372636800, 1372723200, 1372809600, 1372896000, + 1372982400, 1373068800, 1373155200, 1373241600, 1373328000, 1373414400, + 1373500800, 1373587200, 1373673600, 1373760000, 1373846400, 1373932800, + 1374019200, 1374105600, 1374192000, 1374278400, 1374364800, 1374451200, + 1374624000, 1374710400, 1374796800, 1374883200, 1374969600, 1375056000, + 1375142400, 1375228800, 1375315200, 1375401600, 1375488000, 1375574400, + 1375660800, 1375747200, 1375833600, 1375920000, 1376006400, 1376092800, + 1376179200, 1376265600, 1376352000, 1376438400, 1376524800, 1376611200, + 1376697600, 1376784000, 1376870400, 1376956800, 1377043200, 1377129600, + 1377216000, 1377302400, 1377388800, 1377475200, 1377561600, 1377648000, + 1377734400, 1377820800, 1377907200, 1377993600, 1378080000, 1378166400, + 1378252800, 1378339200, 1378425600, 1378512000, 1378598400, 1378684800, + 1378771200, 1378857600, 1378944000, 1379030400, 1379116800, 1379203200, + 1379289600, 1379376000, 1379462400, 1379548800, 1379635200, 1379721600, + 1379808000, 1379894400, 1379980800, 1380067200, 1380153600, 1380240000, + 1380326400, 1380412800, 1380499200, 1380585600, 1380672000, 1380758400, + 1380844800, 1380931200, 1381017600, 1381104000, 1381190400, 1381276800, + 1381363200, 1381449600, 1381536000, 1381622400, 1381708800, 1381795200, + 1381881600, 1381968000, 1382054400, 1382140800, 1382227200, 1382313600, + 1382400000, 1382486400, 1382572800, 1382659200, 1382745600, 1382832000, + 1382918400, 1383004800, 1383091200, 1383177600, 1383264000, 1383350400, + 1383436800, 1383523200, 1383609600, 1383696000, 1383782400, 1383868800, + 1383955200, 1384041600, 1384128000, 1384214400, 1384300800, 1384387200, + 1384473600, 1384560000, 1384646400, 1384732800, 1384819200, 1384905600, + 1384992000, 1385078400, 1385164800, 1385251200, 1385337600, 1385424000, + 1385510400, 1385596800, 1385683200, 1385769600, 1385856000, 1385942400, + 1386028800, 1386115200, 1386201600, 1386288000, 1386374400, 1386460800, + 1386547200, 1386633600, 1386720000, 1386806400, 1386892800, 1386979200, + 1387065600, 1387152000, 1387238400, 1387324800, 1387411200, 1387497600, + 1387584000, 1387670400, 1387756800, 1387843200, 1387929600, 1388016000, + 1388102400, 1388188800, 1388275200, 1388361600, 1388448000, 1388534400, + 1388620800, 1388707200, 1388793600, 1388880000, 1389052800, 1389139200, + 1389225600, 1389312000, 1389398400, 1389484800, 1389571200, 1389657600, + 1389744000, 1389830400, 1389916800, 1390003200, 1390089600, 1390176000, + 1390262400, 1390348800, 1390435200, 1390521600, 1390608000, 1390694400, + 1390780800, 1390867200, 1390953600, 1391040000, 1391126400, 1391212800, + 1391299200, 1391385600, 1391472000, 1391558400, 1391644800, 1391731200, + 1391817600, 1391904000, 1391990400, 1392076800, 1392163200, 1392249600, + 1392336000, 1392422400, 1392508800, 1392595200, 1392681600, 1392768000, + 1392854400, 1392940800, 1393027200, 1393113600, 1393200000, 1393286400, + 1393372800, 1393459200, 1393545600, 1393632000, 1393718400, 1393804800, + 1393891200, 1393977600, 1394064000, 1394150400, 1394236800, 1394323200, + 1394409600, 1394496000, 1394582400, 1394668800, 1394755200, 1394841600, + 1394928000, 1395014400, 1395100800, 1395187200, 1395273600, 1395360000, + 1395446400, 1395532800, 1395619200, 1395705600, 1395792000, 1395878400, + 1395964800, 1396051200, 1396137600, 1396224000, 1396310400, 1396396800, + 1396483200, 1396569600, 1396656000, 1396742400, 1396828800, 1396915200, + 1397001600, 1397088000, 1397174400, 1397260800, 1397347200, 1397433600, + 1397520000, 1397606400, 1397692800, 1397779200, 1397865600, 1397952000, + 1398038400, 1398124800, 1398211200, 1398297600, 1398384000, 1398470400, + 1398556800, 1398643200, 1398729600, 1398816000, 1398902400, 1398988800, + 1399075200, 1399161600, 1399248000, 1399334400, 1399420800, 1399507200, + 1399593600, 1399680000, 1399766400, 1399852800, 1399939200, 1400025600, + 1400112000, 1400198400, 1400284800, 1400371200, 1400457600, 1400544000, + 1400630400, 1400716800, 1400803200, 1400889600, 1400976000, 1401062400, + 1401148800, 1401235200, 1401321600, 1401408000, 1401494400, 1401580800, + 1401667200, 1401753600, 1401840000, 1401926400, 1402012800, 1402099200, + 1402185600, 1402272000, 1402358400, 1402444800, 1402531200, 1402617600, + 1402704000, 1402790400, 1402876800, 1402963200, 1403049600, 1403136000, + 1403222400, 1403308800, 1403395200, 1403481600, 1403568000, 1403654400, + 1403740800, 1403827200, 1403913600, 1404000000, 1404086400, 1404172800, + 1404259200, 1404345600, 1404432000, 1404518400, 1404604800, 1404691200, + 1404777600, 1404864000, 1404950400, 1405036800, 1405123200, 1405209600, + 1405296000, 1405382400, 1405468800, 1405555200, 1405641600, 1405728000, + 1405814400, 1405900800, 1405987200, 1406073600, 1406160000, 1406246400, + 1406332800, 1406419200, 1406505600, 1406592000, 1406678400, 1406764800, + 1406851200, 1406937600, 1407024000, 1407110400, 1407196800, 1407283200, + 1407369600, 1407456000, 1407542400, 1407628800, 1407715200, 1407801600, + 1407888000, 1407974400, 1408060800, 1408147200, 1408233600, 1408320000, + 1408406400, 1408492800, 1408579200, 1408665600, 1408752000, 1408838400, + 1408924800, 1409011200, 1409097600, 1409270400, 1409356800, 1409443200, + 1409529600, 1409616000, 1409702400, 1409788800, 1409875200, 1409961600, + 1410048000, 1410134400, 1410220800, 1410307200, 1410393600, 1410480000, + 1410566400, 1410652800, 1410739200, 1410825600, 1410912000, 1410998400, + 1411084800, 1411171200, 1411257600, 1411344000, 1411430400, 1411516800, + 1411603200, 1411689600, 1411776000, 1411862400, 1411948800, 1412035200, + 1412121600, 1412208000, 1412294400, 1412380800, 1412467200, 1412553600, + 1412640000, 1412726400, 1412812800, 1412899200, 1412985600, 1413072000, + 1413158400, 1413244800, 1413331200, 1413417600, 1413504000, 1413590400, + 1413676800, 1413763200, 1413849600, 1413936000, 1414022400, 1414108800, + 1414195200, 1414281600, 1414368000, 1414454400, 1414540800, 1414627200, + 1414713600, 1414800000, 1414886400, 1414972800, 1415059200, 1415145600, + 1415232000, 1415318400, 1415404800, 1415491200, 1415577600, 1415664000, + 1415750400, 1415836800, 1415923200, 1416009600, 1416096000, 1416182400, + 1416268800, 1416355200, 1416441600, 1416528000, 1416614400, 1416700800, + 1416787200, 1416873600, 1416960000, 1417046400, 1417132800, 1417219200, + 1417305600, 1417392000, 1417478400, 1417564800, 1417651200, 1417737600, + 1417824000, 1417910400, 1417996800, 1418083200, 1418169600, 1418256000, + 1418342400, 1418428800, 1418515200, 1418601600, 1418688000, 1418774400, + 1418860800, 1418947200, 1419033600, 1419120000, 1419206400, 1419292800, + 1419379200, 1419465600, 1419552000, 1419638400, 1419724800, 1419811200, + 1419897600, 1419984000, 1420070400, 1420156800, 1420243200, 1420329600, + 1420416000, 1420502400, 1420588800, 1420675200, 1420761600, 1420848000, + 1420934400, 1421020800, 1421107200, 1421193600, 1421280000, 1421366400, + 1421452800, 1421539200, 1421625600, 1421712000, 1421798400, 1421884800, + 1421971200, 1422057600, 1422144000, 1422230400, 1422316800, 1422403200, + 1422489600, 1422576000, 1422662400, 1422748800, 1422835200, 1422921600, + 1423008000, 1423180800, 1423267200, 1423353600, 1423440000, 1423526400, + 1423612800, 1423699200, 1423785600, 1423872000, 1423958400, 1424044800, + 1424131200, 1424217600, 1424304000, 1424390400, 1424476800, 1424563200, + 1424649600, 1424736000, 1424822400, 1424908800, 1424995200, 1425081600, + 1425168000, 1425254400, 1425340800, 1425427200, 1425513600, 1425600000, + 1425686400, 1425772800, 1425859200, 1425945600, 1426032000, 1426118400, + 1426204800, 1426291200, 1426377600, 1426464000, 1426550400, 1426636800, + 1426723200, 1426809600, 1426896000, 1426982400, 1427068800, 1427155200, + 1427241600, 1427328000, 1427414400, 1427500800, 1427587200, 1427673600, + 1427760000, 1427846400, 1427932800, 1428019200, 1428105600, 1428192000, + 1428278400, 1428364800, 1428451200, 1428537600, 1428624000, 1428710400, + 1428796800, 1428883200, 1428969600, 1429056000, 1429142400, 1429228800, + 1429315200, 1429401600, 1429488000, 1429574400, 1429660800, 1429747200, + 1429833600, 1429920000, 1430006400, 1430092800, 1430179200, 1430265600, + 1430352000, 1430438400, 1430524800, 1430611200, 1430697600, 1430784000, + 1430870400, 1430956800, 1431043200, 1431129600, 1431216000, 1431302400, + 1431388800, 1431475200, 1431561600, 1431648000, 1431734400, 1431820800, + 1431907200, 1431993600, 1432080000, 1432166400, 1432252800, 1432339200, + 1432425600, 1432512000, 1432598400, 1432684800, 1432771200, 1432857600, + 1432944000, 1433030400, 1433116800, 1433203200, 1433289600, 1433376000, + 1433462400, 1433548800, 1433635200, 1433721600, 1433808000, 1433894400, + 1433980800, 1434067200, 1434153600, 1434240000, 1434326400, 1434412800, + 1434499200, 1434585600, 1434672000, 1434758400, 1434844800, 1434931200, + 1435017600, 1435104000, 1435190400, 1435276800, 1435363200, 1435449600, + 1435536000, 1435622400, 1435708800, 1435795200, 1435881600, 1435968000, + 1436054400, 1436140800, 1436227200, 1436313600, 1436400000, 1436486400, + 1436572800, 1436659200, 1436745600, 1436832000, 1436918400, 1437004800, + 1437091200, 1437177600, 1437264000, 1437350400, 1437436800, 1437523200, + 1437609600, 1437696000, 1437782400, 1437868800, 1437955200, 1438041600, + 1438128000, 1438214400, 1438300800, 1438387200, 1438473600, 1438560000, + 1438646400, 1438732800, 1438819200, 1438905600, 1438992000, 1439078400, + 1439164800, 1439251200, 1439337600, 1439424000, 1439510400, 1439596800, + 1439683200, 1439769600, 1439856000, 1439942400, 1440028800, 1440115200, + 1440201600, 1440288000, 1440374400, 1440460800, 1440547200, 1440633600, + 1440720000, 1440806400, 1440892800, 1440979200, 1441065600, 1441152000, + 1441238400, 1441324800, 1441411200, 1441497600, 1441584000, 1441670400, + 1441756800, 1441843200, 1441929600, 1442016000, 1442102400, 1442188800, + 1442275200, 1442361600, 1442448000, 1442534400, 1442620800, 1442707200, + 1442793600, 1442880000, 1442966400, 1443052800, 1443139200, 1443225600, + 1443312000, 1443398400, 1443484800, 1443571200, 1443657600, 1443744000, + 1443830400, 1443916800, 1444003200, 1444089600, 1444176000, 1444262400, + 1444348800, 1444435200, 1444521600, 1444694400, 1444780800, 1444867200, + 1444953600, 1445040000, 1445126400, 1445212800, 1445299200, 1445385600, + 1445472000, 1445558400, 1445644800, 1445731200, 1445817600, 1445904000, + 1445990400, 1446076800, 1446163200, 1446249600, 1446336000, 1446422400, + 1446508800, 1446595200, 1446681600, 1446768000, 1446854400, 1446940800, + 1447027200, 1447113600, 1447200000, 1447286400, 1447372800, 1447459200, + 1447545600, 1447632000, 1447718400, 1447804800, 1447891200, 1447977600, + 1448064000, 1448150400, 1448236800, 1448323200, 1448409600, 1448496000, + 1448582400, 1448668800, 1448755200, 1448841600, 1448928000, 1449014400, + 1449100800, 1449187200, 1449273600, 1449360000, 1449446400, 1449532800, + 1449619200, 1449705600, 1449792000, 1449878400, 1449964800, 1450051200, + 1450137600, 1450224000, 1450310400, 1450396800, 1450483200, 1450569600, + 1450656000, 1450742400, 1450828800, 1450915200, 1451001600, 1451088000, + 1451174400, 1451260800, 1451347200, 1451433600, 1451520000, 1451606400, + 1451692800, 1451779200, 1451865600, 1451952000, 1452038400, 1452124800, + 1452211200, 1452297600, 1452384000, 1452470400, 1452556800, 1452643200, + 1452729600, 1452816000, 1452902400, 1452988800, 1453075200, 1453161600, + 1453248000, + ], + y: [ + 9.59076113897809, 8.51959031601596, 8.18367658262066, 8.07246736935477, + 7.8935720735049, 7.78364059622125, 8.41405243249672, 8.82922635473185, + 8.38251828808963, 8.06965530688617, 7.87929148508227, 7.76174498465891, + 7.52940645783701, 8.38526052015541, 8.62011072542292, 7.85243908535751, + 7.85399308722424, 8.0519780789023, 7.92660259918138, 7.83834331555712, + 9.70314458114435, 9.38597294061934, 8.29379960884682, 8.43468076984177, + 8.26204284396694, 8.10681603894705, 7.95014988765202, 9.50925907635395, + 8.84678466694523, 8.43054538469057, 8.2482674474469, 8.28172399041139, + 8.29279885820037, 8.19918935907807, 9.99652241850332, 10.1270710070787, + 8.93379604393486, 8.56617381363786, 8.54772239645106, 8.39976009452414, + 8.22309055116153, 8.83898679349679, 10.8972021813751, 9.44493807333551, + 8.92332474406756, 8.5434455625603, 8.49556089128912, 8.41737285613403, + 8.57262789830434, 8.73648935100155, 8.63408694288774, 8.67351294567119, + 8.82423661734664, 8.53797573059877, 9.69806112202708, 12.0974568371517, + 10.6352783566883, 9.69171658751689, 9.31560088263368, 8.97081334141145, + 8.58914169072882, 8.61740045183326, 8.61631428228404, 8.21554741194707, + 8.06495089174914, 8.11342663994365, 7.79934339821592, 7.6275443904885, + 7.55590509361135, 7.71154897962915, 7.78862606562503, 7.70841066725737, + 7.76853330092603, 7.69530313496357, 7.37838371299671, 7.91059061225648, + 7.62657020629066, 7.57353126274595, 7.56786260546388, 7.5522372875608, + 7.33693691370762, 8.12474302038557, 7.88758403166028, 7.81963630236759, + 7.38398945797851, 7.81439963380449, 7.5422134631934, 7.54855597916987, + 7.6889133368648, 7.4770384723197, 7.35883089834235, 7.03262426102801, + 7.11801620446533, 7.34987370473834, 7.32646561384032, 7.36391350140582, + 7.27793857294566, 7.25134498337221, 7.00215595440362, 7.16394668434255, + 7.7591874385078, 7.51860721681525, 7.41397029019044, 7.44249272279444, + 7.2283884515736, 6.99117688712121, 7.2115567333138, 7.31121838441963, + 7.34923082461333, 7.51425465281641, 7.39326309476384, 7.28619171470238, + 7.27309259599952, 7.16857989726403, 7.61134771740362, 7.61775957660851, + 7.42595365707754, 8.18200013629341, 7.39939808333135, 7.1066061377273, + 7.08086789669078, 7.42117752859539, 7.49164547360513, 7.38585107812521, + 7.68294316987829, 7.6889133368648, 7.2591161280971, 8.14496941708788, + 8.71391062849392, 8.09101504171053, 7.84031298332016, 7.64873978895624, + 8.02092771898158, 7.83002808253384, 7.72753511047545, 7.83597458172157, + 7.62657020629066, 7.64444076155657, 7.54855597916987, 7.44073370738926, + 7.07326971745971, 7.02642680869964, 7.39203156751459, 7.29301767977278, + 7.36137542897735, 7.51261754467451, 7.46049030582534, 7.11476944836646, + 7.12528309151071, 7.45587668749182, 7.31721240835984, 7.41034709782102, + 7.40245152081824, 7.29437729928882, 6.98933526597456, 6.99301512293296, + 7.4312996751559, 7.36201055125973, 7.454719949364, 7.36833968631138, + 7.14361760270412, 6.8351845861473, 6.89060912014717, 6.97447891102505, + 7.26612877955645, 7.27031288607902, 7.26542972325395, 7.15773548424991, + 6.86589107488344, 7.15383380157884, 7.21670948670946, 7.20191631753163, + 7.21229446850034, 7.18614430452233, 6.82001636467413, 6.88243747099785, + 7.18311170174328, 7.24279792279376, 7.1929342212158, 7.18387071506245, + 6.97073007814353, 6.9177056098353, 7.22256601882217, 7.35691824235602, + 7.24279792279376, 7.22329567956231, 7.16317239084664, 7.24136628332232, + 6.98656645940643, 6.96318998587024, 7.25063551189868, 7.1608459066643, + 7.13249755166004, 7.09174211509515, 7.01211529430638, 6.85751406254539, + 6.82762923450285, 7.13009851012558, 7.27724772663148, 7.03878354138854, + 6.89060912014717, 6.95749737087695, 7.29573507274928, 7.49720722320332, + 7.31055015853442, 7.20489251020467, 7.22256601882217, 7.25770767716004, + 7.42595365707754, 7.11720550316434, 7.24992553671799, 8.27690348126706, + 7.60638738977265, 7.64396194900253, 8.01234963932779, 7.93020620668468, + 7.50878717063428, 7.52131798019924, 7.58984151218266, 7.50052948539529, + 7.37023064180708, 7.38523092306657, 7.30249642372733, 7.27517231945277, + 7.39203156751459, 7.51697722460432, 7.90912218321141, 7.72312009226633, + 7.67042852219069, 7.62900388965296, 7.43070708254597, 7.57967882309046, + 7.9483852851119, 7.79564653633459, 8.00736706798333, 7.79069603117474, + 7.83280751652486, 7.51479976048867, 7.6275443904885, 7.85515700588134, + 7.96485088744731, 7.74586822979227, 8.08085641964099, 8.25997565976828, + 7.7698009960039, 8.17751582384608, 9.28173036806286, 8.33854487998858, + 7.83042561782033, 7.8087293067444, 7.81681996576455, 7.55485852104068, + 8.55506684384432, 8.20794694104862, 8.08363720314155, 7.79110951061003, + 7.67089483136212, 7.64012317269536, 7.55013534248843, 8.24931374626064, + 8.3039999709552, 8.12681372072611, 7.70616297019958, 7.66387725870347, + 7.52671756135271, 7.92588031673756, 7.92153563213355, 8.03398273468322, + 7.72577144158795, 7.69439280262942, 7.44949800538285, 7.39141523467536, + 7.34601020991329, 8.10137467122858, 8.15651022607997, 7.97108575350561, + 7.87283617502572, 7.63530388625941, 7.58781721999343, 7.34213173058472, + 8.17751582384608, 8.34093322600088, 8.47657950853094, 7.87359778968554, + 7.71735127218533, 7.49052940206071, 7.37588214821501, 8.07558263667172, + 8.16536363247398, 7.58528107863913, 7.60738142563979, 7.26752542782817, + 8.04012466444838, 8.10922495308995, 8.80687326653069, 7.74716496652033, + 7.48099216286952, 7.34665516317654, 7.24708058458576, 7.93808872689695, + 9.03562977818356, 8.04109100370863, 7.40610338123702, 7.97384437594469, + 7.76811037852599, 7.4713630881871, 8.03008409426756, 8.72939712269206, + 7.93701748951545, 7.66528471847135, 7.58018941794454, 7.7106533235012, + 7.26122509197192, 8.04654935728308, 8.09346227450118, 7.76726399675731, + 7.49665243816828, 7.5522372875608, 7.49720722320332, 7.3125534981026, + 7.93880224815448, 9.05870319731322, 8.19422930481982, 7.51914995766982, + 7.55118686729615, 7.71378461659875, 7.60589000105312, 8.49902922078857, + 8.29179710504873, 7.89469085042562, 7.79028238070348, 7.65539064482615, + 7.61035761831284, 7.53101633207792, 8.23137604557397, 8.00670084544037, + 7.85864065562079, 7.69712131728263, 7.59588991771854, 7.73587031995257, + 7.35115822643069, 8.03138533062553, 8.39434736141739, 7.82364593083495, + 8.08671792030391, 7.77148876011762, 8.68895923427068, 7.74716496652033, + 7.96067260838812, 8.62461158818351, 7.99665387546261, 7.62070508683826, + 7.4318919168078, 7.46278915741245, 7.4489161025442, 8.25140306538056, + 8.55525939222269, 8.31581113188354, 8.30992298925832, 7.75876054415766, + 8.80821966511841, 9.12194622121359, 10.1538181636943, 9.26785427817679, + 8.43424627059531, 8.13768818497761, 8.04494704961772, 8.22897764335831, + 8.14118979345769, 9.21562637640542, 8.73278832497312, 8.51016857647927, + 8.10409905614358, 7.95014988765202, 7.85205020726589, 7.65633716643018, + 8.04430540699064, 8.80101783354071, 7.82963038915019, 7.77737360265786, + 7.93522953981691, 7.67229245562876, 7.38832785957711, 7.51152464839087, + 7.66340766489348, 7.78945456608667, 7.80791662892641, 7.82484569102686, + 7.90654723236804, 7.70210434005105, 8.47762041629641, 9.14952823257943, + 8.06211758275474, 8.06652149046999, 8.05959232888755, 8.04942705711069, + 7.7621706071382, 8.09773057366422, 8.01829613851552, 7.61677580869837, + 7.84267147497946, 7.76853330092603, 7.53047999524554, 7.33236920592906, + 7.22402480828583, 7.41637847919293, 7.42714413340862, 7.39756153552405, + 7.49554194388426, 7.39939808333135, 7.00850518208228, 7.11801620446533, + 7.48380668766583, 7.57147364885127, 7.64826303090192, 7.47420480649612, + 7.47250074473756, 7.2115567333138, 7.34342622914737, 7.48211892355212, + 7.41095187558364, 7.40306109109009, 7.45298232946546, 7.42356844425917, + 7.08506429395255, 7.21081845347222, 7.35627987655075, 7.30451594646016, + 7.46565531013406, 7.86901937649902, 7.24850407237061, 7.07834157955767, + 7.2211050981825, 7.33432935030054, 7.29233717617388, 7.2991214627108, + 7.28344822875663, 7.30182234213793, 7.06219163228656, 7.18159194461187, + 7.50549227473742, 7.87473912517181, 7.57865685059476, 7.36707705988101, + 7.25700270709207, 7.05617528410041, 7.50273821075485, 7.44307837434852, + 7.48155570190952, 7.48211892355212, 7.51914995766982, 7.65964295456468, + 7.24422751560335, 7.23273313617761, 7.34213173058472, 7.42117752859539, + 7.49220304261874, 7.31521838975297, 7.14124512235049, 7.00940893270864, + 7.08757370555797, 7.30451594646016, 7.37462901521894, 7.51261754467451, + 7.51752085060303, 7.37400185935016, 7.14124512235049, 7.16162200293919, + 7.48493028328966, 7.51261754467451, 7.44483327389219, 7.47420480649612, + 7.67182679787878, 7.84227877911735, 7.92407232492342, 7.82843635915759, + 7.58680353516258, 7.62997570702779, 7.70975686445416, 7.52671756135271, + 7.19368581839511, 7.25770767716004, 7.45414107814668, 7.48155570190952, + 7.55903825544338, 7.44483327389219, 7.3375877435386, 7.13568734702814, + 7.08506429395255, 7.27239839257005, 7.5109777520141, 7.49886973397693, + 7.44424864949671, 7.40306109109009, 6.91671502035361, 6.97728134163075, + 7.48268182815465, 7.41397029019044, 7.37211802833779, 7.33367639565768, + 7.39510754656249, 7.03614849375054, 6.87419849545329, 6.98471632011827, + 7.45587668749182, 7.49498623395053, 7.33106030521863, 7.10496544826984, + 6.99393297522319, 6.93049476595163, 7.21817683840341, 7.4759059693674, + 7.36454701425564, 7.23993259132047, 7.30921236569276, 7.13886699994552, + 6.97260625130175, 7.18841273649695, 7.33498187887181, 7.33432935030054, + 7.43248380791712, 7.39141523467536, 6.96129604591017, 7.02197642307216, + 7.21376830811864, 7.50988306115491, 7.32843735289516, 7.49665243816828, + 7.20042489294496, 7.08422642209792, 7.14913159855741, 7.25629723969068, + 7.19818357710194, 7.28892769452126, 7.12849594568004, 7.0825485693553, + 6.82219739062049, 6.94793706861497, 7.11232744471091, 7.19967834569117, + 7.31721240835984, 7.09837563859079, 7.04490511712937, 7.30451594646016, + 7.79358680337158, 7.80547462527086, 7.48324441607385, 7.35691824235602, + 7.50714107972761, 7.37525577800975, 7.19668657083435, 7.22329567956231, + 7.35244110024358, 7.31721240835984, 7.44424864949671, 7.35564110297425, + 7.32448997934853, 7.21450441415114, 7.2841348061952, 7.54009032014532, + 7.47477218239787, 7.82923253754359, 7.68109900153636, 7.72973533138505, + 7.3031700512368, 7.28207365809346, 7.48549160803075, 7.61874237767041, + 7.69393732550927, 7.53955882930103, 7.43838353004431, 7.27378631784489, + 7.35564110297425, 7.65822752616135, 7.84345640437612, 8.36846113761584, + 8.1721644521119, 7.81156848934518, 7.57507169950756, 7.6586995582683, + 7.86633892304654, 7.78113850984502, 7.75491027202143, 7.70885960104718, + 8.20712916807133, 7.71154897962915, 7.73455884435476, 7.96762673933382, + 8.40380050406115, 8.29279885820037, 7.98548435673382, 8.67180090964268, + 7.78239033558746, 7.78696700261487, 7.94661756324447, 8.17357548663415, + 7.80954132465341, 7.80302664363222, 8.05134093329298, 7.97315543344413, + 7.86901937649902, 8.16251625014018, 8.04012466444838, 7.96346006663897, + 7.83834331555712, 7.91315518592807, 7.95331834656043, 8.07620452723903, + 7.98241634682773, 8.1285852003745, 7.95472333449791, 8.1101268019411, + 8.21365270303, 8.04686951095958, 8.9242570208881, 8.61721950548336, + 8.51959031601596, 8.01433573729942, 8.05769419481559, 8.10440130792161, + 7.99395754757357, 8.43185314424922, 9.73820008829795, 10.1799822793473, + 8.36194190614495, 9.94884325425692, 8.75904072752422, 8.25166392360559, + 8.07868822922987, 8.17357548663415, 7.88908440703551, 9.09985563880091, + 9.40656483393913, 9.16440114003474, 8.48735234940522, 8.43141741439483, + 8.2776661608515, 8.31213510764841, 8.79011689289247, 10.2800386504796, + 9.07577987858049, 8.69918135930895, 9.08658956454001, 8.86149186428691, + 8.54441917766983, 8.44762872803033, 8.25270667656764, 8.10982627601848, + 8.13681086367554, 8.7268056084461, 9.38269576445829, 8.57828829077605, + 8.23880116587155, 8.12237124340655, 8.05515773181968, 7.83241092718792, + 8.89754559870933, 8.72566970568704, 8.56407677731509, 8.2190566610606, + 8.14757773620177, 8.0013550258267, 7.78945456608667, 8.81195017753998, + 9.00220857828241, 8.59304250369967, 8.28197705886776, 8.46505743699571, + 8.49474306257865, 8.40514368760761, 10.558699193753, 9.12456459495478, + 8.73182058296211, 8.52892411429194, 8.50512061018197, 8.27639470486331, + 9.1239106439778, 8.58597270681106, 8.31556648356428, 8.66112036022288, + 8.92572027356022, 8.44139147799996, 9.2277872855799, 9.26473385580652, + 9.27491014262548, 8.39298958795693, 8.58522560180806, 8.42376124662369, + 8.33782726244791, 9.05975001334368, 9.29825967001407, 8.76186337327473, + 8.50754681436443, 8.39931015075952, 8.52357279838028, 8.37953902611744, + 9.09110628405248, 9.76198159024195, 8.92956770782534, 8.53070154144103, + 8.58709231879591, 9.79784922051313, 8.66475075577385, 9.17232692977797, + 9.20140053040671, 9.33052053223229, 8.68457030082437, 8.50248556254396, + 8.28878581042693, 8.29804166137157, 9.16293424957891, 9.54795481317617, + 9.01724094201035, 8.78492762605832, 8.38662882139512, 8.33447155460094, + 8.53601494565683, 8.70863965598719, 8.73004395324502, 8.37562962709445, + 8.31898612539206, 8.46442512587758, 8.5972974356579, 8.92279162396964, + 9.49167735686812, 9.21014035197352, 8.67795057029435, 8.60226936377136, + 8.61450137388324, 8.65886634973238, 8.77940359789435, 11.0079327963967, + 9.75324588920559, 9.22513045744882, 9.0177260256968, 8.93695560422523, + 9.00932517273497, 11.4840629202851, 10.2642341958449, 9.69443180053954, + 9.44041981429151, 9.35374783527091, 9.22847494217167, 9.30392178559771, + 10.2401740519157, 9.91595945403145, 10.1115174660403, 9.85859478364539, + 10.1190020766858, 10.0005688901867, 11.1914521795828, 10.4633318857817, + 9.65406419220144, 9.11975899374495, 8.79573360595074, 8.44848599340645, + 8.2666784433059, 8.21851757748959, 8.24249315318763, 8.00803284696931, + 8.0452677166078, 7.9287663216267, 7.74500280351584, 7.86633892304654, + 7.94165125293056, 8.31041499418829, 7.82803803212583, 7.87359778968554, + 7.75705114203201, 7.72621265050753, 7.77527584648686, 7.79523492900217, + 7.74975340627444, 8.06808962627824, 8.72583205652757, 7.65444322647011, + 7.60339933974067, 7.75319426988434, 7.77022320415879, 7.63143166457691, + 7.54380286750151, 7.60439634879634, 7.58426481838906, 7.5109777520141, + 7.67461749736436, 7.71289096149013, 7.70165236264223, 7.63819824428578, + 7.56268124672188, 7.40367029001237, 7.46622755621548, 7.61233683716775, + 7.80180040190897, 8.02878116248715, 7.73017479524622, 7.63964228785801, + 7.56320059235807, 7.48661331313996, 7.5076900778199, 7.65396918047877, + 7.61283103040736, 7.45414107814668, 7.36707705988101, 7.45298232946546, + 7.47873482556787, 7.98514393119862, 7.82164312623998, 7.66058546170326, + 7.5595594960077, 7.57660976697304, 7.4500795698075, 7.49886973397693, + 7.51588908521513, 7.60837447438078, 7.58629630715272, 7.68063742756094, + 7.7848892956551, 7.5522372875608, 7.59890045687141, 7.64826303090192, + 7.66996199547358, 7.85554467791566, 8.09651291750159, 8.92105701815743, + 8.3986348552921, 7.98820359702258, 8.00269416228394, 8.07309119969315, + 7.98309894071089, 7.84619881549743, 7.78655180642871, 7.44483327389219, + 7.5422134631934, 7.6425241342329, 7.6511201757027, 7.51152464839087, + 7.67693714581808, 7.9912539298402, 7.44190672805162, 7.38398945797851, + 7.60589000105312, 7.58680353516258, 7.62119516280984, 7.29573507274928, + 7.48885295573346, 7.27309259599952, 7.34665516317654, 7.47363710849621, + 7.35564110297425, 7.2283884515736, 7.39694860262101, 7.47533923656674, + 7.40974195408092, 7.34601020991329, 7.4079243225596, 7.38398945797851, + 7.38087903556412, 7.20637729147225, 7.09340462586877, 7.10987946307227, + 7.05531284333975, 7.11639414409346, 7.19218205871325, 7.24921505711439, + 7.41938058291869, 7.56216163122565, 7.43307534889858, 7.28550654852279, + 7.9355873855892, 9.01954299670119, 7.22548147278229, 7.02731451403978, + 6.7990558620588, 5.44673737166631, 5.32300997913841, 5.26269018890489, + 6.30627528694802, 6.65286302935335, 7.21964204013074, 7.38832785957711, + 7.13886699994552, 7.04315991598834, 7.20637729147225, 7.02997291170639, + 7.00760061395185, 6.91869521902047, 6.88448665204278, 6.13772705408623, + 7.20637729147225, 7.13727843726039, 7.05444965813294, 7.11232744471091, + 6.92657703322272, 6.81454289725996, 7.35500192110526, 7.13169851046691, + 7.07749805356923, 7.24208235925696, 7.24708058458576, 7.646353722446, + 7.45645455517621, 7.30988148582479, 7.23777819192344, 7.27517231945277, + 7.46908388492123, 7.45066079621154, 8.12740456269308, 7.77485576666552, + 7.52131798019924, 7.54960916515453, 7.94979721616185, 7.79770203551669, + 7.79975331828725, 7.9002660367677, 7.85825418218603, 7.94165125293056, + 7.67136092319064, 8.13534694890671, 8.68777949199177, 8.45318786144033, + 8.06463647577422, 8.00936307663004, 7.87739718635329, 7.85515700588134, + 8.14089846060785, 7.92117272158701, 7.9707403900071, 7.96519829061218, + 8.13476078241865, 7.79852305362521, 8.30770596654951, 8.28071107566285, + 8.74448811385292, 8.59137258959049, 8.44052810648075, 8.50976567558744, + 8.35514473946184, 8.28096440055337, 8.44052810648075, 8.31385226739821, + 8.08085641964099, 8.18590748148232, 8.85680335672838, 8.07309119969315, + 8.14148104145742, 8.18785544369562, 8.11522197256233, 8.15908865466791, + 8.20439841814938, 8.28500889544988, 8.08271113423758, 8.24564690087386, + 8.2220164372022, 8.45126704130007, 8.5519810169019, 8.62515033292133, + 9.13194630454817, 8.33997857199043, 9.86620096775011, 9.27077674078001, + 8.77183540978982, 8.49474306257865, 8.61631428228404, 8.94780609305705, + 9.07577987858049, 9.50046944807102, 11.4261031610143, 9.29550838434606, + 8.61721950548336, 8.47699600166482, 8.32772616646141, 8.30375241556341, + 9.330431852234, 9.41613428495528, 8.92292493064183, 8.44591198941127, + 8.31115254800169, 8.27052509505507, 8.20166019080868, 9.00981411052738, + 9.30909914399945, 9.12847934549586, 8.44741429680832, 8.25426877009018, + 8.32482129876878, 8.10288913464087, 9.15957325492253, 8.85109068766498, + 9.54057893384188, 8.49043845410742, 8.56464913257253, 8.352318548226, + 8.10440130792161, 9.15334665045606, 10.0752957033132, 8.71800933084636, + 8.34474275441755, 8.2630748358026, 8.25608813381491, 8.00869818298853, + 8.52971447196991, 8.861350110796, 9.78914235075127, 8.50025047068593, + 8.40559101483493, 8.9441588309704, 8.866581653304, 9.01456876745782, + 9.13010597926558, 10.2465097200211, 8.58969988220299, 8.65067458279072, + 8.78124833323686, 8.33302993974291, 9.06762406977459, 9.52332462729018, + 8.70996000607173, 8.37101068123816, 8.37770121259764, 8.40043463080604, + 8.18283871076603, 8.8750074860484, 9.21034037197618, 8.71456755083648, + 8.31752199628717, 8.55929436743487, 8.60465446718623, 8.73375513136489, + 9.54057893384188, 10.1616893196654, 8.8167050156216, 8.31409733540581, + 8.7106195279423, 8.74369111054302, 8.39231000926955, 9.23073106162392, + 10.2561143136283, 8.9138193508572, 8.65032450401942, 8.39004140575575, + 8.3091845276863, 8.22228507387272, 9.28238192484115, 9.92260366972836, + 9.16889318206201, 8.74830491237962, 8.81507308884446, 9.76330552193627, + 8.56883642456808, 8.92611897115338, 9.12891337328045, 9.7195647143752, + 8.78124833323686, 8.48838210956212, 8.53640741034004, 8.14409846333852, + 9.10664513563742, 9.11569996782206, 9.68421151274841, 8.80011394676631, + 8.54752839121231, 8.3221510702129, 8.09529377684465, 8.92345797969497, + 9.37974553683691, 8.90327158572421, 8.87556669199055, 8.44139147799996, + 8.59674347017425, 9.00969189848934, 9.39897529082673, 9.99392223000734, + 9.06149227523977, 8.97119446318447, 8.94689552388845, 9.18696938565294, + 9.0980671294934, 10.8781037947059, 9.38269576445829, 9.19897604189713, + 8.62119278143472, 8.61323037961318, 8.69517199877606, 8.72029728739272, + 9.50031980347665, 9.34757739028127, 8.78370269863522, 8.70217786562968, + 8.6821990260005, 8.48363640788739, 8.40916244720253, 8.97309789628247, + 9.55030649785165, 8.78630387828258, 8.60813018640834, 8.49494758246892, + 8.44870019497094, 8.19174002127746, 8.38091517312361, 9.07394774707063, + 8.35608503102148, 8.3485378253861, 8.53503310954457, 8.43489794868941, + 8.5354259596773, 8.99168672593482, 9.77713036365961, 8.63887970967284, + 8.28324144138542, 8.27333659850449, 8.15908865466791, 7.91352101728389, + 7.8407064517494, 8.02486215028641, 7.97143099776935, 8.47782846789396, + 7.95787735848981, 8.02355239240435, 7.54908271081229, 7.51969240411654, + 7.87169266432365, 7.68156036255954, 7.73236922228439, 7.78239033558746, + 7.65633716643018, 7.48324441607385, 7.59890045687141, 7.78613643778307, + 7.75061473277041, 7.76472054477148, 7.70481192293259, 7.6586995582683, + 7.34729970074316, 7.54433210805369, 7.74716496652033, 7.6889133368648, + 7.77064523412918, 7.61184239958042, 7.48773376143644, 7.55747290161475, + 7.56837926783652, 7.52563997504154, 7.66199755890189, 7.41637847919293, + 7.44366368311559, 7.31654817718298, 7.17472430983638, 7.24779258176785, + 7.41397029019044, 7.52940645783701, 7.63964228785801, 8.26975694753298, + 8.33134542484572, 7.78447323573647, 7.48099216286952, 7.58781721999343, + 7.67182679787878, 7.59739632021279, 7.67740043051481, 7.48436864328613, + 7.26122509197192, 7.39203156751459, 7.42833319419081, 7.55747290161475, + 7.48885295573346, 7.42714413340862, 8.21527695893663, 8.49371983523059, + 8.14322675036744, 8.12177741916107, 8.20794694104862, 8.5197898172635, + 8.57470709761684, 8.04782935745784, 7.48773376143644, 7.56631101477246, + 7.9976631270201, 8.00836557031292, 7.91498300584839, 7.8804263442924, + 7.84893372636407, 7.50823877467866, 7.66058546170326, 8.02747653086048, + 8.10046489102936, 8.18088094199639, 8.33351070898294, 8.64100247714252, + 8.46315930292375, 8.01201823915906, 7.79564653633459, 7.70571282389443, + 7.77863014732581, 7.81237820598861, 7.56164174558878, 7.26332961747684, + 7.35564110297425, 7.47477218239787, 7.53422832627409, 7.62997570702779, + 7.62608275807238, 7.44483327389219, 7.11963563801764, 7.37023064180708, + 7.54115245513631, 7.5137092478397, 7.59034694560257, 7.54802896993501, + 7.36833968631138, 7.11314210870709, 7.23705902612474, 7.48717369421374, + 7.61233683716775, 8.21716859576607, 7.66669020008009, 7.32646561384032, + 7.09340462586877, 7.13966033596492, 7.40367029001237, 7.42595365707754, + 7.43779512167193, 7.55328660560042, 7.32184971378836, 7.10332206252611, + 7.11069612297883, 7.48211892355212, 7.54591815120932, 7.32778053842163, + 7.21964204013074, 7.36327958696304, 7.18841273649695, 7.25063551189868, + 7.4500795698075, 7.19743535409659, 7.41938058291869, 7.37963215260955, + 7.40306109109009, 7.51588908521513, 7.63723438878947, 7.52617891334615, + 7.3185395485679, 7.38212436573751, 7.74975340627444, 7.67600993202889, + 7.26612877955645, 7.58324752430336, 7.56682847920833, 7.56008046502183, + 7.63288550539513, 7.50052948539529, 7.42356844425917, 7.39018142822643, + 7.21007962817079, 7.94555542825349, 7.5999019592085, 7.56268124672188, + 7.61184239958042, 8.99998964246073, 8.73793385811414, 8.26796230533871, + 7.77904864492556, 7.57865685059476, 7.60539236481493, 8.29179710504873, + 7.61775957660851, 7.35883089834235, 7.68662133494462, 7.75362354655975, + 7.77904864492556, 8.05706068196577, 7.8984110928116, 7.79729127354747, + 7.51534457118044, 7.48268182815465, 7.88683299895506, 8.39728289474368, + 8.26770566476243, 8.23615566168312, 8.38890517111471, 9.0788640091878, + 9.63299030483845, 8.94780609305705, 8.53934599605737, 8.3478273457825, + 8.32530602975258, 8.25556865328375, 8.09712193091871, 8.13593277200489, + 8.01895468315572, 8.0861025356691, 8.13329386122263, 8.04974629095219, + 8.19063168090354, 8.04334217044161, 8.43814998407578, 8.10741881171997, + 8.16876982367527, 8.17470288246946, 8.29129585190541, 8.3059782109673, + 8.42310226801664, 8.75621009188674, 8.72583205652757, 8.70748291785937, + 8.51077262361331, 8.70217786562968, 8.580543506917, 9.22542600939422, + 8.41116578677071, 8.45190772471761, 8.77183540978982, 8.23880116587155, + 8.15708378502887, 8.03915739047324, 8.1185050675871, 9.18563775933581, + 9.15239341202133, 9.02617712030286, 9.74226190403691, 10.0828463914793, + 9.11107237031751, 9.73878978049572, 9.614938437645, 9.34801317710126, + 8.55429627936774, 8.44955654270043, 8.43054538469057, 8.60538720215215, + 9.219894584781, 9.50076867009599, 9.52230033688749, 8.47886807709457, + 8.28349412616251, 8.26898820950666, 8.28324144138542, 9.03013657115323, + 10.2525586604481, 9.16659744902826, 8.27537637483641, 8.3466420902212, + 8.42156296040099, 8.19450550976564, 8.87766093359367, 8.9941724343984, + 9.55676293945056, 8.4144957931779, 8.31139827843664, 8.365672383775, + 8.14902386805177, 8.96826881077645, 8.88322423027899, 8.70450228972123, + 8.23297179059344, 8.17301131172497, 8.13446757027756, 8.83433697401764, + 9.08975340898706, 9.0107912695156, 8.71751837264977, 8.42200300441249, + 8.20712916807133, 8.05484022110102, 8.83156587912106, 10.1827467519768, + 8.80986280537906, 8.76013937002663, 8.88502565805085, 8.56159277871292, + 8.2495751500002, 9.35660287895444, 9.12750209366718, 8.79102985704596, + 8.65347080970879, 8.74337213127397, 8.86742743852498, 8.44009614103127, + 9.37568530456302, 9.74102744483773, 8.83622857152601, 8.46104603079324, + 8.21635833238616, 8.22844388300403, 8.0471895621705, 9.07234187381889, + 9.46761478200654, 8.98669669562029, 8.43923164994653, 8.42398080969406, + 8.58802437217683, 8.25400859056484, 8.74512525946224, 9.49514330367712, + 8.72469504674049, 8.35960327084147, 8.76374072050946, 8.7279402223939, + 8.38548870041881, 9.3130774494273, 9.3061958576197, 9.84675845829004, + 8.79679268767466, 8.64611397148308, 8.9398431242785, 8.84375938191798, + 9.7005142080113, 9.53914039514886, 8.9082888855571, 9.02183976410551, + 9.10963566785455, 8.87164566750187, 8.38228942895144, 9.23229753932823, + 9.85287823470959, 8.84707231256781, 8.53346016388011, 8.58802437217683, + 8.48549610467298, 8.18979961872823, 9.49687178267057, 9.46280968867222, + 8.84347078162738, 8.36310917603352, 8.60575336839572, 6.58617165485467, + 7.63578686139558, 9.24879155835043, 8.88072457615146, 8.69617584694468, + 8.45382731579442, 8.14467918344776, 9.07635173197287, 10.2446985435045, + 9.85828095969805, 9.18758338485357, 8.76248954737158, 8.5016733797582, + 8.65521448931361, 10.0388921895423, 9.46436224293533, 8.97309789628247, + 8.95557714628151, 8.91945316857545, 8.72631895096224, 8.73921611506174, + 10.26196586942, 10.5694947531438, 9.56120848888113, 9.60400276796519, + 10.0861007334703, 9.72841962445348, 9.41205597587677, 9.84357829978222, + 11.5721750241742, 10.2817184876905, 10.1697672187275, 9.68290322361684, + 9.89550578279447, 9.37627844951961, 9.58217975243469, 10.3414521187349, + 10.3339704236196, 10.2182252970113, 9.73406247747719, 10.1874627630566, + 9.88857693980037, 11.075086947327, 12.6735418157462, 10.9246967023573, + 10.1815358690196, 9.86339445896968, 9.92573816147095, 9.40153907670774, + 9.33441468707811, 9.14750706280461, 8.91395385889425, 9.1801903950253, + 9.05718919248201, 8.71275997496021, 8.40312823512826, 8.29479935899257, + 9.11591979635669, 8.95156964301882, 8.3513747067213, 8.65381978894806, + 8.6429443967218, 8.71620797115185, 8.36497397843873, 8.37378460812088, + 8.51719319141624, 8.31825432879885, 8.39547743273214, 8.3228800217699, + 8.24564690087386, 8.63194942871443, 8.31066090590723, 8.43294163896865, + 11.6448305358502, 11.3632879189498, 10.6929444132335, 10.3343929611261, + 9.98608085083998, 10.2820952064744, 10.1943645158844, 10.0954706196007, + 10.1468650106811, 10.140888975597, 10.2095373998461, 10.033682134194, + 11.0828346170357, 11.1744832892926, 10.7792895676801, 9.9475044379529, + 9.37602428761711, 8.99776577201121, 8.83287946027762, 8.89822898560123, + 8.76467807411661, 8.54110501146255, 8.39615486303918, 8.31238059678675, + 8.34117174717076, 8.1300590399928, 8.35819745992578, 8.35561499576018, + 8.18172045512811, 8.10952565975287, 8.06463647577422, 7.82324569068552, + 7.85476918349913, 8.10167774745457, 8.09040229659332, 7.98989937494294, + 8.09894674894334, 8.65381978894806, 8.04109100370863, 8.04974629095219, + 8.22147894726719, 8.17075142375753, 8.3354314778808, 8.25660734462616, + 8.05769419481559, 7.70796153183549, 7.91717198884578, 8.2602342916073, + 8.28803156777646, 8.36869318309779, 8.63355299253243, 9.27246974344173, + 8.67556352738768, 8.48342956126343, 8.17188200612782, 8.20658361432075, + 8.18896686364888, 8.03073492409854, 8.05484022110102, 9.15514473650823, + 8.83331693749932, 8.34972083747249, 8.18339736999843, 7.95647679803678, + 7.86940171257709, 7.70930833338587, 7.81923445385907, 7.83241092718792, + 7.88683299895506, 8.03786623470962, 7.952615111651, 7.76768727718691, + 7.47816969415979, 7.539027055824, 7.99799931797973, 8.30967689598773, + 8.02878116248715, 7.79028238070348, 7.76174498465891, 7.47647238116391, + 7.63964228785801, 7.65586401761606, 7.81963630236759, 7.81359155295243, + 7.99057688174392, 7.81278281857758, 7.65775527113487, 7.69439280262942, + 7.84149292446001, 7.93343838762749, 7.6511201757027, 7.72356247227797, + 7.88004820097158, 7.94093976232779, 7.75876054415766, 7.63336964967958, + 7.84854348245668, 7.89729647259588, 7.72223474470961, 7.71244383427499, + 7.53955882930103, 7.91169052070834, 7.80139132029149, 8.4013333053217, + 8.18144069571937, 7.86288203464149, 7.92407232492342, 7.56682847920833, + 7.51914995766982, 7.64873978895624, 7.77064523412918, 7.60986220091355, + 7.59186171488993, 7.539027055824, 7.34536484041687, 7.46336304552002, + 7.51479976048867, 7.6425241342329, 7.67600993202889, 7.55799495853081, + 7.6889133368648, 7.60638738977265, 7.58222919427646, 7.74196789982069, + 7.78239033558746, 8.00636756765025, 8.65102453904976, 8.40357646462927, + 8.3850322878139, 8.02812905943176, 7.95787735848981, 7.99530662029082, + 7.99226864327075, 7.9359451033537, 7.98786409608569, 7.78364059622125, + 7.8087293067444, 8.0532511535491, 7.97590836016554, 8.12237124340655, + 8.55986946569667, 8.9274468162562, 8.28576542051433, 8.28399930424853, + 8.16337131645991, 7.91425227874244, 7.86441990499457, 8.07215530818825, + 8.0802374162167, 8.12088602109284, 8.11312710422178, 8.14438886554762, + 8.06463647577422, 7.944846711002, 8.24143968982973, 9.00736702745136, + 8.66233195708248, 8.80056599227992, 8.3742461820963, 8.56407677731509, + 8.38434727808281, 8.12651816878071, 8.39072252736229, 8.3351915834332, + 8.9278448262117, 9.0079793598445, 8.37816098272068, 8.20330402679528, + 8.38571682862785, 8.31115254800169, 8.74145611599836, 9.44295889365291, + 9.14590851181679, 8.58951385299586, 8.46484671104403, 8.36590507720246, + 8.56541176368671, 8.4724050086261, 8.96648377906443, 8.56006109164341, + 8.4690528160883, 8.74385056203024, 10.0138206842205, 8.69114649853968, + 8.78094111357239, 9.83900236330972, 11.614940390377, 9.62865589206317, + 8.78293635634926, 8.68118104152169, 9.00097644407034, 8.74623928838306, + 9.8072519446553, 9.61266722758384, 10.5920994642943, 8.75542238014849, + 8.56063574925907, 9.40516674990861, 8.45807992692373, 9.54959444997195, + 9.60602446822924, 8.67726913926287, 8.17103418920548, 8.24143968982973, + 8.51097389160232, 8.32360844234357, 9.25922576970599, 9.84966474583862, + 8.83317113302287, 8.49780647761605, 8.63408694288774, 9.04227668692893, + 8.55004752828718, 9.81809304951918, 9.9020865716205, 8.91637191488169, + 8.33206770728955, 8.23668532271246, 8.40178233990491, 8.24170315972982, + 9.03562977818356, 9.10409057213347, 10.8321415433937, 8.7787879291047, + 8.48011418317482, 8.48941081040379, 8.25062008217469, 9.54344981789221, + 9.09717167387054, 8.66939912430557, 8.34924780056679, 8.34069464792507, + 8.49474306257865, 8.53326337159373, 9.21979553074694, 10.4442990717924, + 8.87696334026227, 8.68185981297147, 8.49821422481843, 8.56845648535378, + 8.45871626165726, 9.71818154670121, 9.68700923909068, 8.83010431791379, + 8.38799525294456, 8.4984180360899, 8.84721610435754, 8.28096440055337, + 9.26492324974647, 9.11173476822206, 8.70682132339263, 8.33182700443606, + 8.36660283278374, 8.27690348126706, 8.12946976478423, 9.17915925449261, + 9.68558026801716, 8.65521448931361, 8.29454951514368, 8.6522484224091, + 8.92970011431345, 8.3959291039232, 9.46753746341524, 9.88979422540413, + 8.84922702143852, 8.61431990214696, 8.48156601377309, 8.74909824839902, + 8.65364531455174, 9.3482745580655, 9.67683786189263, 9.64290170574605, + 8.72891172506098, 8.77894188184151, 9.96057651952026, 8.73777346032728, + 9.25263328416643, 9.26624800391448, 9.42730487221368, 8.79300509129753, + 8.70300863746445, 8.43944784279138, 8.29104513108173, 9.31325790598287, + 9.34792603492875, 8.791486026749, 8.51899157335762, 8.41294317004244, + 8.29679586577005, 8.21256839823415, 9.25655579577315, 9.65226597708712, + 8.63746202380718, 8.60776488960062, 8.96533457380484, 8.68372406230387, + 8.53267276226462, 9.49016666846238, 10.142858720955, 9.11162439903702, + 9.08500388066489, 9.05508908670489, 9.33626792857397, 9.23960786965675, + 10.1327324527083, 9.49122438992696, 9.1122864315008, 9.06357899058078, + 8.97297111339799, 9.14548179962769, 10.5418617072488, 11.5075208865114, + 10.1931676276506, 9.27995971385624, 8.84635304331433, 8.73262709966039, + 8.65504025810836, 8.45446636150793, 8.96367227561502, 10.0210927946104, + 9.00565049932022, 8.86092472971904, 8.58522560180806, 8.536211197252, + 8.45850419506756, 8.53444354482276, 10.1042218823372, 8.65067458279072, + 8.51218064959269, 8.48549610467298, 8.57791192645094, 8.54985397365579, + 9.60622641363735, 10.0261917925116, 8.87024156729927, 8.52793528794814, + 8.38343320123671, 8.20083725837985, 8.09285102753838, 8.03883475778775, + 8.08641027532378, 8.03657340970731, 7.97522083865341, 7.84267147497946, + 7.8935720735049, 7.81762544305337, 7.82284529027977, 7.9672801789422, + 8.00670084544037, 7.91132401896335, 7.85166117788927, 7.87207397986687, + 7.75362354655975, 7.68294316987829, 7.84384863815247, 8.19146305132693, + 7.97831096986772, 7.92334821193015, 7.87131120332341, 7.74370325817375, + 7.77863014732581, 7.83518375526675, 7.83834331555712, 7.84619881549743, + 7.92044650514261, 7.75790620835175, 7.58629630715272, 7.51479976048867, + 7.75790620835175, 7.80343505695217, 8.07899825868515, 8.38068594676157, + 8.0643219609108, 7.85282781228174, 7.90396563403217, 7.84463264446468, + 7.88945914940452, 8.22550309756692, 8.54071438645758, 8.01928379291679, + 7.83122021460429, 8.43315919580623, 8.09620827165004, 7.86633892304654, + 7.77904864492556, 7.77359446736019, 7.77275271646874, 7.76811037852599, + 7.48099216286952, 7.74370325817375, 7.5963923040642, 7.68063742756094, + 7.53849499941346, 7.4500795698075, 7.44307837434852, 7.54855597916987, + 7.64060382639363, 7.67647364638916, 7.56734567601324, 8.07682603129881, + 7.70120018085745, 7.36833968631138, 7.3664451483276, 7.48661331313996, + 7.5740450053722, 7.568895663407, 7.63964228785801, 7.85321638815607, + 7.31188616407716, 7.53636393840451, 7.68248244653451, 7.73193072194849, + 8.01201823915906, 7.98036576511125, 8.17131687471973, 7.97796809312855, + 7.79482315217939, 8.30424746507847, 8.05642676752298, 7.77779262633883, + 8.22897764335831, 7.900636613018, 7.46164039220858, 7.54908271081229, + 7.81681996576455, 7.72223474470961, 7.71556953452021, 7.72621265050753, + 7.58171964012531, 7.26542972325395, 7.30114780585603, 7.47420480649612, + 7.58882987830781, 7.61085279039525, 7.64778604544093, 7.60190195987517, + 7.25417784645652, 7.1800698743028, 7.37713371283395, 7.57507169950756, + 7.50714107972761, 7.58578882173203, 7.40731771046942, 7.03085747611612, + 7.15070145759253, 7.25417784645652, 7.45066079621154, 7.55118686729615, + 7.61332497954064, 7.42714413340862, 7.350516171834, 7.28824440102012, + 7.434847875212, 7.53743003658651, 7.35244110024358, 7.28207365809346, + 7.3031700512368, 7.29369772060144, 7.22983877815125, 7.57507169950756, + 7.97418866928601, 7.61579107203583, 7.47420480649612, 7.33432935030054, + 7.31920245876785, 7.40488757561612, 7.42476176182321, 7.47022413589997, + 7.36770857237437, 7.2841348061952, 7.32580750259577, 7.29097477814298, + 7.19142933003638, 7.28961052145117, 7.33236920592906, 7.39572160860205, + 7.56734567601324, 7.62119516280984, 7.26892012819372, 7.26961674960817, + 7.30787278076371, 7.28138566357028, 7.32118855673948, 7.51207124583547, + 7.50052948539529, 7.11314210870709, 7.1420365747068, 7.32383056620232, + 7.42892719480227, 7.52886925664225, 7.41997992366183, 7.4730690880322, + 7.3375877435386, 7.35436233042148, 7.58273848891441, 7.62608275807238, + 7.7596141506969, 7.94058382710424, 7.59085212368858, 7.41818082272679, + 7.41155628781116, 7.59789795052178, 6.63594655568665, 7.64730883235624, + 7.82763954636642, 7.63385355968177, 8.53030683056162, 8.52951694110507, + 7.85127199710988, 7.79564653633459, 7.58222919427646, 7.43897159239586, + 7.63867982387611, 7.52725591937378, 7.72488843932307, 7.91352101728389, + 8.65956043270316, 8.29579811063615, 8.13241267450091, 7.92551897978693, + 7.82843635915759, 7.84424071814181, 7.77695440332244, 7.76684053708551, + 7.78986855905471, 7.69393732550927, 7.71556953452021, 8.15277405274407, + 8.2529671950008, 7.94129557090653, 7.80954132465341, 7.81923445385907, + 7.81237820598861, 7.54538974961182, 8.47428569040496, 7.79193595693806, + 7.66809370908241, 7.80547462527086, 7.9672801789422, 7.99429498641598, + 7.80954132465341, 8.70317470904168, 7.9672801789422, 8.09620827165004, + 8.03786623470962, 8.58016799057763, 10.8718582692757, 9.19248185367487, + 9.15069651904867, 9.82319898130729, 8.76888532613486, 8.50855599802057, + 8.72972059026726, 8.92145757894788, 8.52991196382401, 10.4159817834027, + 10.3369892693381, 9.14644164612595, 8.50875771259514, 8.38617292897783, + 8.36100710822691, 8.12976444579417, 8.73198193834769, 8.73584667745758, + 10.8196982812101, 10.6590929669357, 9.84945366404364, 8.88820487145502, + 8.92771217382708, 9.66738540005753, 10.1635029066262, 9.3379417165699, + 9.17719715338293, 8.87905466204227, 8.57866451350434, 8.73004395324502, + 9.9533247873833, 10.2387447656008, 9.20311432688444, 8.74719318352693, + 8.77554943448619, 9.2098402469345, 8.52813313145457, 9.05765528431053, + 9.42294862137501, 9.02917814290207, 9.09773142759353, 9.44809663565824, + 9.11250701162742, 8.80267284031282, 9.20843856468659, 11.0470891404358, + 9.32758993202642, 8.67880170661265, 8.57659353469768, 8.43598313599069, + 8.19007704971905, 9.06044728240157, 9.27030595314362, 8.5016733797582, + 8.18729927015515, 8.0959035329611, 8.04334217044161, 7.952615111651, + 8.39908510293591, 8.79102985704596, 8.3030093814735, 8.11910083763749, + 8.23031079913502, 8.15765701519647, 7.82923253754359, 8.57395152523485, + 9.61132880805727, 8.92385758009988, 8.3654396361887, 8.31188955823036, + 8.63141433550626, 8.45382731579442, 8.90585118120802, 10.8674821444793, + 9.15514473650823, 8.43944784279138, 8.44354665124794, 8.57262789830434, + 8.372398606513, 8.73600738456922, 10.3885029394023, 8.70880479511728, + 8.19533366716287, 8.22147894726719, 8.27512163021651, 8.16990264735914, + 8.82232217747174, 9.80543361206074, 9.38907215991958, 8.98130449495713, + 8.57922858233569, 8.48776438072542, 8.72192834304709, 8.9182485910357, + 9.65162297294974, 8.86474666090541, 8.50936261230105, 8.63177109612367, + 9.20271134481169, 8.90381521172292, 9.02653771890043, 9.23766366762507, + 8.89508153175417, 8.6429443967218, 8.12976444579417, 8.29179710504873, + 8.09803475617607, 9.51878049751247, 9.90468683311161, 8.93734984826739, + 8.57885257180297, 8.71588010229646, 8.48899945704546, 8.50572771330696, + 9.30008966411979, 10.1461591836579, 9.17709377818255, 8.83564692253477, + 8.83287946027762, 8.92305821954573, 8.89329814421792, 8.60263667323371, + 8.99143781491923, 8.80687326653069, 8.85409390765552, 8.93102321585603, + 8.85280791762332, 10.6933076203563, 11.3075604350077, 9.83745458193169, + 9.60508151672137, 9.74537068443899, 9.67564548044036, 9.43468320386588, + 11.5036223246441, 11.9767789709185, 10.5425744562461, 10.004282662571, + 9.73281784848262, 9.86646043169905, 9.37092743662413, 9.490544554572, + 10.139152384404, 9.99984264077889, 10.0327159505439, 10.3803736928726, + 10.453053004618, 10.2401383446439, 11.7605196483804, 12.846746888829, + 10.7668837086558, 9.84522264440415, 9.29035230994557, 9.10331179921766, + 8.79573360595074, 8.62335338724463, 8.41825644355621, 8.31090675716845, + 8.23615566168312, 8.13123654969612, 7.92768504561578, 7.7591874385078, + 7.72665366484764, 7.83518375526675, 7.88419993367604, 7.91461770904068, + 7.92551897978693, 7.75319426988434, 7.50878717063428, 7.55747290161475, + 7.80261806344267, 7.68386398025643, 7.9844627322622, 7.85166117788927, + 7.68478394352278, 7.3375877435386, 7.40367029001237, 7.86787149039632, + 7.8984110928116, 7.58426481838906, 7.71423114484909, 7.88945914940452, + 7.32580750259577, 7.48885295573346, 7.55381085200823, 7.66996199547358, + 7.98820359702258, 8.00436556497957, 7.6511201757027, 7.48661331313996, + 7.44949800538285, 7.59538727885397, 7.60986220091355, 7.54802896993501, + 7.61775957660851, 7.59538727885397, 7.34665516317654, 7.40123126441302, + 8.09315669772264, 7.92371033396924, 7.69074316354187, 8.43901541035221, + 7.78239033558746, 7.30854279753919, 7.26192709270275, 7.43720636687129, + 7.54009032014532, 7.58528107863913, 7.60887062919126, 7.46450983463653, + 7.15695636461564, 7.48773376143644, 7.4489161025442, 7.47022413589997, + 7.43602781635185, 7.52185925220163, 7.41034709782102, 7.15617663748062, + 7.13807303404435, 7.36264527041782, 7.51697722460432, 7.61726781362835, + 7.49554194388426, 7.39203156751459, 7.17472430983638, 8.09132127353041, + 7.51534457118044, 7.8458075026378, 7.69120009752286, 7.83478810738819, + 7.67740043051481, 7.24850407237061, 7.40245152081824, 7.69439280262942, + 7.82604401351897, 7.61184239958042, 7.5137092478397, 7.67600993202889, + 7.24064969425547, 7.65539064482615, 8.13944052187461, 8.37493814383537, + 7.90174751852014, 8.02387999273488, 8.75020786252571, 8.081784206935, + 7.70436116791031, 7.86825426552061, 7.81963630236759, 7.76089319585102, + 7.66715825531915, 7.63433723562832, 7.35115822643069, 7.58933582317062, + 7.91022370709734, 7.85476918349913, 7.64683139143048, 7.49164547360513, + 7.5234813125735, 7.0352685992811, 7.06561336359772, 7.22983877815125, + 7.50823877467866, 8.31164394850298, 8.01400499477946, 7.49720722320332, + 7.83161727635261, 7.15148546390474, 7.41095187558364, 7.63094658089046, + 7.4759059693674, 7.58832367733522, 7.24636808010246, 7.10332206252611, + 7.10414409298753, 7.1929342212158, 7.40123126441302, 7.43955930913332, + 7.70796153183549, 7.350516171834, 7.32251043399739, 7.28550654852279, + 7.36770857237437, 7.26752542782817, 7.22475340576797, 7.22256601882217, + 7.35179986905778, 6.97541392745595, 7.04315991598834, 7.48099216286952, + 7.20340552108309, 7.22402480828583, 7.11314210870709, 7.07918439460967, + 6.88550967003482, 6.87419849545329, 7.72312009226633, 7.49665243816828, + 7.22402480828583, 7.27239839257005, 7.07918439460967, 6.85435450225502, + 6.93049476595163, 7.15617663748062, 7.31455283232408, 7.22693601849329, + 7.65681009148038, 7.54009032014532, 7.21007962817079, 7.24992553671799, + 7.29437729928882, 7.51914995766982, 7.42237370098682, 8.22362717580548, + 7.49276030092238, 7.22475340576797, 7.25629723969068, 7.4489161025442, + 7.65539064482615, 7.67136092319064, 7.92407232492342, 7.80098207125774, + 7.45645455517621, 7.36264527041782, 8.21311069759668, 8.23642052726539, + 7.92153563213355, 7.74500280351584, 7.57814547241947, 7.56682847920833, + 7.65822752616135, 8.27078101316267, 7.80302664363222, 7.6226639513236, + 7.70029520342012, 8.05864371221562, 7.64108424917491, 7.83636976054512, + 8.37355374121463, 8.60940767540405, 8.17723488551019, 8.03689677268507, + 7.95331834656043, 7.7848892956551, 8.07371464110986, 8.28045768658256, + 8.19918935907807, 8.00034949532468, 7.88720858581393, 7.83715965000168, + 7.97968130238774, 8.51839247199172, 8.35631996582815, 7.93236215433975, + 7.83676478326407, 8.53719187792293, 8.02649693894541, 7.9728107841214, + 8.37447688921464, 8.25322764558177, 8.44591198941127, 8.49269555981584, + 8.83913175254611, 8.07589363029886, 8.75020786252571, 10.702412661625, + 10.0599783492956, 8.79315687091382, 8.71440336070394, 9.05625635659347, + 8.62155320674048, 9.96142621745657, 9.70856696016566, 9.19644426678407, + 8.61431990214696, 8.88903257187474, 9.01627006814768, 8.19918935907807, + 9.16219999664825, 9.60750445504496, 8.44290058683438, 8.15737044118677, + 8.18451375303372, 8.83898679349679, 8.21283958467648, 8.33615081612066, + 8.59044365315583, 8.70134640303916, 8.26642147298455, 8.27461194620955, + 8.36637030168165, 8.03527891114467, 9.23151460720759, 9.96467672084855, + 8.84548923675327, 8.67299964255444, 8.40065937516029, 8.58035576637388, + 8.02059914989697, 9.1075321519945, 9.43835205468725, 8.50126704086598, + 8.3133619511344, 8.3255483071614, 8.47637119689598, 8.20111164444276, + 8.70051424854327, 11.2744652095441, 9.60757167515724, 8.87863674743007, + 8.76592651372944, 9.85639594500228, 8.43424627059531, 8.8034242116007, + 9.38176948760371, 8.76029622047005, 8.55506684384432, 8.46884293047519, + 8.53129331579502, 8.04558828080353, 9.0902045707362, 9.45414892373398, + 9.0590522577624, 8.25945819533241, 8.18952211074809, 8.19533366716287, + 7.69393732550927, 8.29004161870449, 9.03288694657909, 8.38274709486331, + 8.21797820315073, 8.12474302038557, 8.04686951095958, 7.57301725605255, + 8.3986348552921, 8.71144331907547, 8.25114213909075, 7.99226864327075, + 8.00536706731666, 8.08085641964099, 7.52833176670725, 8.20248244657654, + 9.07440609473535, 8.2147358333823, 7.96797317966293, 8.12829017160705, + 7.9536697786498, 7.66669020008009, 7.96554557312999, 9.14216859187285, + 8.28702502516506, 8.28324144138542, 8.30102525383845, 8.38799525294456, + 7.70975686445416, 8.11102783819368, 8.74560285240295, 8.39140318535794, + 8.11969625295725, 8.2358907259285, 8.10681603894705, 7.71199650704767, + 8.4252971767117, 8.84937050375457, 8.49310539588715, 8.17413934342947, + 8.10228362448007, 7.8336002236611, 7.52294091807237, 7.91022370709734, + 8.3654396361887, 9.06056344665796, 8.17919979842309, 8.01631789850341, + 8.10319175228579, 7.81439963380449, 8.38799525294456, 8.74814616962193, + 8.31287139434261, 7.92334821193015, 7.84658997529119, 8.3020178097512, + 8.43620003220671, 8.93458687038968, 8.88861880730088, 8.66423293406555, + 8.50004703258127, 8.41825644355621, 8.4721958254855, 8.30721262662831, + 9.88659568486591, 10.694985739443, 9.76019438270965, 9.11007795003779, + 8.79951090136887, 8.7830896717961, 8.42989086301344, 8.87877607170755, + 9.75938620856187, 8.9520876435484, 8.66112036022288, 8.58485183989005, + 8.39660622842712, 7.92371033396924, 8.08548677210285, 8.35890061242164, + 8.30350479887278, 8.27792025817214, 8.36357570275064, 8.59822003005861, + 8.08116577772543, 9.03443816698441, 10.2832245120716, 9.27322127001538, + 8.71407489954152, 8.23350314023399, 7.88419993367604, 7.81278281857758, + 7.93128476152589, 8.4144957931779, 8.15651022607997, 7.85709386490249, + 7.9098566672694, 7.80913539812054, 7.5076900778199, 8.20385137218388, + 7.82164312623998, 7.80384330353877, 7.76089319585102, 7.70345904786717, + 8.06117135969092, 7.350516171834, 7.48380668766583, 7.54062152865715, + 7.69666708152646, 7.50384074669895, 7.39817409297047, 7.04228617193974, + 7.05272104923232, 7.36264527041782, 7.6231530684769, 7.79523492900217, + 8.42683075133585, 7.9168074909376, 7.23633934275434, 7.20637729147225, + 7.55642796944025, 7.58273848891441, 7.68294316987829, 7.60688453121963, + 7.70345904786717, 7.15148546390474, 7.04053639021596, 7.33888813383888, + 7.48436864328613, 7.35179986905778, 7.42356844425917, 7.29165620917446, + 6.81673588059497, 6.91075078796194, 7.32118855673948, 7.99159228206809, + 7.71289096149013, 7.28276117960559, 7.30586003268401, 6.90575327631146, + 7.87321705486274, 7.08590146436561, 7.27100853828099, 7.21376830811864, + 7.16626597413364, 7.21303165983487, 6.82979373751242, 6.80128303447162, + 7.15773548424991, 7.04577657687951, 7.09174211509515, 7.23417717974985, + 7.28000825288419, 6.69703424766648, 7.028201432058, 7.17472430983638, + 7.22329567956231, 7.33693691370762, 7.36201055125973, 7.26332961747684, + 6.81124437860129, 7.3185395485679, 7.64012317269536, 7.40549566319947, + 7.57250298502038, 7.48549160803075, 7.33302301438648, 7.20563517641036, + 7.09090982207998, 7.32646561384032, 7.35564110297425, 7.46336304552002, + 7.56734567601324, 7.74975340627444, 7.14440718032114, 6.89972310728487, + 7.33106030521863, 7.2211050981825, 7.7376162828579, 7.36327958696304, + 7.29097477814298, 7.03878354138854, 6.93244789157251, 7.30586003268401, + 7.68616230349291, 7.47929963778283, 7.26961674960817, 7.30921236569276, + 6.74051935960622, 6.80572255341699, 7.14282740116162, 7.18690102041163, + 7.14045304310116, 8.76155013912964, 8.27944348771267, 7.43720636687129, + 7.16006920759613, 7.04141166379481, 7.17472430983638, 7.41276401742656, + 7.25629723969068, 7.2848209125686, 6.72623340235875, 6.93244789157251, + 7.07411681619736, 7.20266119652324, 7.16472037877186, 7.06731984865348, + 6.90675477864855, 6.67708346124714, 6.51767127291227, 7.04315991598834, + 7.04315991598834, 6.9177056098353, 7.05789793741186, 6.85540879860993, + 6.64378973314767, 6.52502965784346, 6.89060912014717, 6.92657703322272, + 7.00488198971286, 6.87316383421252, 6.89060912014717, 6.4425401664682, + 6.8351845861473, 7.27239839257005, 7.07749805356923, 7.34407285057307, + 7.29165620917446, 7.27170370688737, 7.454719949364, 6.69208374250663, + 6.96318998587024, 7.01660968389422, 6.79122146272619, 6.82001636467413, + 6.61873898351722, 6.47389069635227, 6.49978704065585, 6.8596149036542, + 6.88141130364254, 6.99759598298193, 7.15226885603254, 7.19668657083435, + 6.70808408385307, 6.98286275146894, 7.12849594568004, 7.08924315502751, + 7.19893124068817, 8.090708716084, 7.39387829010776, 7.05012252026906, + 7.19518732017871, 7.44132038971762, 7.41758040241454, 7.47420480649612, + 7.39264752072162, 7.18538701558042, 6.86484777797086, 6.83410873881384, + 7.28756064030972, 7.22402480828583, 7.24422751560335, 7.30653139893951, + 7.31721240835984, 6.95844839329766, 6.82546003625531, 7.18159194461187, + 7.27655640271871, 7.27100853828099, 7.82444593087762, 7.41938058291869, + 7.00760061395185, 7.07326971745971, 7.26542972325395, 7.60240133566582, + 7.55747290161475, 7.58222919427646, 7.28961052145117, 7.3304052118444, + 7.2211050981825, 7.4312996751559, 7.75018416225784, 7.62997570702779, + 7.73061406606374, 7.82404601085629, 7.22620901010067, 7.4770384723197, + 7.86326672400957, 7.94909149983052, 7.7698009960039, 7.57967882309046, + 7.54908271081229, 7.29165620917446, 7.78986855905471, 7.65681009148038, + 7.53476265703754, 7.66528471847135, 8.06652149046999, 8.14931284363534, + 7.72533003791713, 7.71735127218533, 7.67786350067821, 7.89506349809157, + 8.07992777075827, 8.1934002319521, 8.66509582133973, 7.84463264446468, + 8.77909581088053, 9.05870319731322, 8.42178300661158, 8.07215530818825, + 8.40469616018909, 9.72184576464693, 8.11402544235676, 8.43076346341785, + 8.54888563814873, 8.3228800217699, 8.00836557031292, 8.11999382772511, + 8.58260632996447, 7.60986220091355, 8.41205487329293, 9.5410100922274, + 8.55948610360649, 8.14438886554762, 7.9912539298402, 7.88532923927319, + 7.4599147662411, 8.37516869138682, 8.7268056084461, 8.07527154629746, + 7.80057265467065, 7.74975340627444, 7.91971976092457, 7.35627987655075, + 8.17301131172497, 8.26100978602383, 7.84658997529119, 7.74022952476318, + 7.83042561782033, 7.36137542897735, 8.2987883944492, 8.7417757069247, + 8.39705739017626, 7.77821147451249, 7.93379687481541, 7.86018505747217, + 7.94236223767433, 8.19808924895612, 8.42901750051251, 8.05674377497531, + 7.81116338502528, 7.78655180642871, 8.1086232683546, 7.62119516280984, + 8.09285102753838, 9.39224517527379, 8.45318786144033, 8.09437844497296, + 7.9912539298402, 8.32820949174873, 7.64108424917491, 8.48632152774915, + 9.16356318041725, 8.18841130807903, 7.82644313545601, 7.96067260838812, + 7.67229245562876, 7.16317239084664, 7.90211754627645, 9.63430006272051, + 8.84822206837138, 8.38320455141292, 8.16451026874704, 8.05293303679757, + 7.56112158953024, 8.25634777291802, 8.67282848294769, 8.30647216010058, + 8.05896001776942, 7.87245515006398, 8.19533366716287, 7.59135704669855, + 8.02158453345511, 12.1496715918794, 11.5230440984914, 8.71177264560569, + 8.05610965954506, 8.08147504013705, 7.45876269238096, 8.01400499477946, + 8.49678638163858, 7.98104975966596, 7.77779262633883, 8.2602342916073, + 7.86633892304654, 7.31055015853442, 7.71824095195932, 8.31947369244219, + 8.23668532271246, 7.80751004221619, 7.59186171488993, 7.52886925664225, + 7.17165682276851, 7.89133075766189, 8.36007143564403, 8.11042723757502, + 7.77527584648686, 7.34729970074316, 7.30182234213793, 7.12044437239249, + 8.87877607170755, 9.25061821847475, 9.24792513230345, 8.39140318535794, + 8.00469951054955, 7.58933582317062, 7.82524529143177, 8.24931374626064, + 9.29514097366865, 8.56826646160024, 8.35255436947459, 8.29579811063615, + 8.29029259122431, 7.78572089653462, 8.28172399041139, 8.4707303170059, + 8.13505390861157, 8.06714903991011, 8.02355239240435, 8.02191277898571, + 7.81722278550817, 9.27387839278017, 10.3337753460756, 9.12587121534973, + 8.89137400948464, + ], +}; + +class MSTLWorker { + constructor() { + this.worker = new Worker("./mstl.worker.js", { + type: "module", + }); + } + + static create = () => { + return new Promise((resolve, reject) => { + const worker = new MSTLWorker(); + worker.worker.onmessage = (e) => { + if (e.data === "ready") { + resolve(worker); + } else { + reject(); + } + } + }) + } + + fitPredict = async (data, opts) => { + return new Promise((resolve, reject) => { + const start = performance.now(); + this.worker.postMessage({ data, opts }); + this.worker.onmessage = (e) => { + const elapsed = (performance.now() - start).toFixed(0); + resolve({ predictions: e.data, elapsed }); + } + }) + } +} + +async function main() { + const uPlotOpts = { + series: [ + {}, + { + label: "y", + stroke: "red", + width: 1, + }, + ], + plugins: [legendAsTooltipPlugin()], + }; + + let data = [df.ds, df.y]; + const u = new uPlot( + { ...uPlotOpts, ...getSize() }, + data, + document.getElementById("mstl-plot"), + ); + window.addEventListener("resize", () => { + u.setSize(getSize()); + }); + + const worker = await MSTLWorker.create(); + + let start; + + async function runMSTL(opts) { + const { predictions, elapsed } = await worker.fitPredict(df, opts); + if (data.length > 2) { + data = data.slice(0, 2); + } + data.push(predictions.point) + if (predictions.intervals) { + data.push(predictions.intervals.lower, predictions.intervals.upper); + } + if (u.series.length === 2) { + const newSeries = [ + { + label: "yhat", + stroke: "green", + width: 1, + }, + { + label: "lower", + stroke: "blue", + width: 0, + }, + { + label: "upper", + stroke: "blue", + width: 0, + }, + ]; + + const band = { + series: [3, 4], + fill: "rgba(0, 0, 255, .2)", + dir: 1, + }; + + newSeries.forEach((s, i) => u.addSeries(s, i + 2)); + u.addBand(band); + } + u.setData(data); + document.getElementById("mstl-title").innerText = + `Forecasting with MSTL - done in ${elapsed}ms`; + } + runMSTL(undefined); + document.getElementById("mstl-interval-width").addEventListener("change", function() { + const intervalWidth = parseFloat(this.value); + runMSTL({ intervalWidth }); + }) +} + + +export default main; diff --git a/demo/mstl.worker.js b/demo/mstl.worker.js new file mode 100644 index 0000000..764e2a6 --- /dev/null +++ b/demo/mstl.worker.js @@ -0,0 +1,17 @@ +import initMstl, { MSTL } from "./dist/@bsull/augurs/mstl.js"; +import initSeasonality, { + seasonalities, +} from "./dist/@bsull/augurs/seasons.js"; + +await Promise.all([initMstl(), initSeasonality()]); + +self.onmessage = (e) => { + const { data, opts } = e.data; + const { ds, y } = data; + const seasons = seasonalities(ds); + const mstl = MSTL.ets(seasons); + mstl.fit(y); + const predictions = mstl.predictInSample(opts?.intervalWidth ?? 0.8); + self.postMessage(predictions); +}; +self.postMessage("ready"); diff --git a/demo/outlier.data.json b/demo/outlier.data.json new file mode 100644 index 0000000..abaeeea --- /dev/null +++ b/demo/outlier.data.json @@ -0,0 +1 @@ +{"data": [[1731057600, 1731057900, 1731058200, 1731058500, 1731058800, 1731059100, 1731059400, 1731059700, 1731060000, 1731060300, 1731060600, 1731060900, 1731061200, 1731061500, 1731061800, 1731062100, 1731062400, 1731062700, 1731063000, 1731063300, 1731063600, 1731063900, 1731064200, 1731064500, 1731064800, 1731065100, 1731065400, 1731065700, 1731066000, 1731066300, 1731066600, 1731066900, 1731067200, 1731067500, 1731067800, 1731068100, 1731068400, 1731068700, 1731069000, 1731069300, 1731069600, 1731069900, 1731070200, 1731070500, 1731070800, 1731071100, 1731071400, 1731071700, 1731072000, 1731072300, 1731072600, 1731072900, 1731073200, 1731073500, 1731073800, 1731074100, 1731074400, 1731074700, 1731075000, 1731075300, 1731075600, 1731075900, 1731076200, 1731076500, 1731076800, 1731077100, 1731077400, 1731077700, 1731078000, 1731078300, 1731078600, 1731078900, 1731079200, 1731079500, 1731079800, 1731080100, 1731080400, 1731080700, 1731081000, 1731081300, 1731081600, 1731081900, 1731082200, 1731082500, 1731082800, 1731083100, 1731083400, 1731083700, 1731084000, 1731084300, 1731084600, 1731084900, 1731085200, 1731085500, 1731085800, 1731086100, 1731086400, 1731086700, 1731087000, 1731087300, 1731087600, 1731087900, 1731088200, 1731088500, 1731088800, 1731089100, 1731089400, 1731089700, 1731090000, 1731090300, 1731090600, 1731090900, 1731091200, 1731091500, 1731091800, 1731092100, 1731092400, 1731092700, 1731093000, 1731093300, 1731093600, 1731093900, 1731094200, 1731094500, 1731094800, 1731095100, 1731095400, 1731095700, 1731096000, 1731096300, 1731096600, 1731096900, 1731097200, 1731097500, 1731097800, 1731098100, 1731098400, 1731098700, 1731099000, 1731099300, 1731099600, 1731099900, 1731100200, 1731100500, 1731100800, 1731101100, 1731101400, 1731101700, 1731102000, 1731102300, 1731102600, 1731102900, 1731103200, 1731103500, 1731103800, 1731104100, 1731104400, 1731104700, 1731105000, 1731105300, 1731105600, 1731105900, 1731106200, 1731106500, 1731106800, 1731107100, 1731107400, 1731107700, 1731108000, 1731108300, 1731108600, 1731108900, 1731109200, 1731109500, 1731109800, 1731110100, 1731110400, 1731110700, 1731111000, 1731111300, 1731111600, 1731111900, 1731112200, 1731112500, 1731112800, 1731113100, 1731113400, 1731113700, 1731114000, 1731114300, 1731114600, 1731114900, 1731115200, 1731115500, 1731115800, 1731116100, 1731116400, 1731116700, 1731117000, 1731117300, 1731117600, 1731117900, 1731118200, 1731118500, 1731118800, 1731119100, 1731119400, 1731119700, 1731120000, 1731120300, 1731120600, 1731120900, 1731121200, 1731121500, 1731121800, 1731122100, 1731122400, 1731122700, 1731123000, 1731123300, 1731123600, 1731123900, 1731124200, 1731124500, 1731124800, 1731125100, 1731125400, 1731125700, 1731126000, 1731126300, 1731126600, 1731126900, 1731127200, 1731127500, 1731127800, 1731128100, 1731128400, 1731128700, 1731129000, 1731129300, 1731129600, 1731129900, 1731130200, 1731130500, 1731130800, 1731131100, 1731131400, 1731131700, 1731132000, 1731132300, 1731132600, 1731132900, 1731133200, 1731133500, 1731133800, 1731134100, 1731134400, 1731134700, 1731135000, 1731135300, 1731135600, 1731135900, 1731136200, 1731136500, 1731136800, 1731137100, 1731137400, 1731137700, 1731138000, 1731138300, 1731138600, 1731138900, 1731139200, 1731139500, 1731139800, 1731140100, 1731140400, 1731140700, 1731141000, 1731141300, 1731141600, 1731141900, 1731142200, 1731142500, 1731142800, 1731143100, 1731143400, 1731143700, 1731144000, 1731144300, 1731144600, 1731144900, 1731145200, 1731145500, 1731145800, 1731146100, 1731146400, 1731146700, 1731147000, 1731147300, 1731147600, 1731147900, 1731148200, 1731148500, 1731148800, 1731149100, 1731149400, 1731149700, 1731150000, 1731150300, 1731150600, 1731150900, 1731151200, 1731151500, 1731151800, 1731152100, 1731152400, 1731152700, 1731153000, 1731153300, 1731153600, 1731153900, 1731154200, 1731154500, 1731154800, 1731155100, 1731155400, 1731155700, 1731156000, 1731156300, 1731156600, 1731156900, 1731157200, 1731157500, 1731157800, 1731158100, 1731158400, 1731158700, 1731159000, 1731159300, 1731159600, 1731159900, 1731160200, 1731160500, 1731160800, 1731161100, 1731161400, 1731161700, 1731162000, 1731162300, 1731162600, 1731162900, 1731163200, 1731163500, 1731163800, 1731164100, 1731164400, 1731164700, 1731165000, 1731165300, 1731165600, 1731165900, 1731166200, 1731166500, 1731166800, 1731167100, 1731167400, 1731167700, 1731168000, 1731168300, 1731168600, 1731168900, 1731169200, 1731169500, 1731169800, 1731170100, 1731170400, 1731170700, 1731171000, 1731171300, 1731171600, 1731171900, 1731172200, 1731172500, 1731172800, 1731173100, 1731173400, 1731173700, 1731174000, 1731174300, 1731174600, 1731174900, 1731175200, 1731175500, 1731175800, 1731176100, 1731176400, 1731176700, 1731177000, 1731177300, 1731177600, 1731177900, 1731178200, 1731178500, 1731178800, 1731179100, 1731179400, 1731179700, 1731180000, 1731180300, 1731180600, 1731180900, 1731181200, 1731181500, 1731181800, 1731182100, 1731182400, 1731182700, 1731183000, 1731183300, 1731183600, 1731183900, 1731184200, 1731184500, 1731184800, 1731185100, 1731185400, 1731185700, 1731186000, 1731186300, 1731186600, 1731186900, 1731187200, 1731187500, 1731187800, 1731188100, 1731188400, 1731188700, 1731189000, 1731189300, 1731189600, 1731189900, 1731190200, 1731190500, 1731190800, 1731191100, 1731191400, 1731191700, 1731192000, 1731192300, 1731192600, 1731192900, 1731193200, 1731193500, 1731193800, 1731194100, 1731194400, 1731194700, 1731195000, 1731195300, 1731195600, 1731195900, 1731196200, 1731196500, 1731196800, 1731197100, 1731197400, 1731197700, 1731198000, 1731198300, 1731198600, 1731198900, 1731199200, 1731199500, 1731199800, 1731200100, 1731200400, 1731200700, 1731201000, 1731201300, 1731201600, 1731201900, 1731202200, 1731202500, 1731202800, 1731203100, 1731203400, 1731203700, 1731204000, 1731204300, 1731204600, 1731204900, 1731205200, 1731205500, 1731205800, 1731206100, 1731206400, 1731206700, 1731207000, 1731207300, 1731207600, 1731207900, 1731208200, 1731208500, 1731208800, 1731209100, 1731209400, 1731209700, 1731210000, 1731210300, 1731210600, 1731210900, 1731211200, 1731211500, 1731211800, 1731212100, 1731212400, 1731212700, 1731213000, 1731213300, 1731213600, 1731213900, 1731214200, 1731214500, 1731214800, 1731215100, 1731215400, 1731215700, 1731216000, 1731216300, 1731216600, 1731216900, 1731217200, 1731217500, 1731217800, 1731218100, 1731218400, 1731218700, 1731219000, 1731219300, 1731219600, 1731219900, 1731220200, 1731220500, 1731220800, 1731221100, 1731221400, 1731221700, 1731222000, 1731222300, 1731222600, 1731222900, 1731223200, 1731223500, 1731223800, 1731224100, 1731224400, 1731224700, 1731225000, 1731225300, 1731225600, 1731225900, 1731226200, 1731226500, 1731226800, 1731227100, 1731227400, 1731227700, 1731228000, 1731228300, 1731228600, 1731228900, 1731229200, 1731229500, 1731229800, 1731230100, 1731230400, 1731230700, 1731231000, 1731231300, 1731231600, 1731231900, 1731232200, 1731232500, 1731232800, 1731233100, 1731233400, 1731233700, 1731234000, 1731234300, 1731234600, 1731234900, 1731235200, 1731235500, 1731235800, 1731236100, 1731236400, 1731236700, 1731237000, 1731237300, 1731237600, 1731237900, 1731238200, 1731238500, 1731238800, 1731239100, 1731239400, 1731239700, 1731240000, 1731240300, 1731240600, 1731240900, 1731241200, 1731241500, 1731241800, 1731242100, 1731242400, 1731242700, 1731243000, 1731243300, 1731243600, 1731243900, 1731244200, 1731244500, 1731244800, 1731245100, 1731245400, 1731245700, 1731246000, 1731246300, 1731246600, 1731246900, 1731247200, 1731247500, 1731247800, 1731248100, 1731248400, 1731248700, 1731249000, 1731249300, 1731249600, 1731249900, 1731250200, 1731250500, 1731250800, 1731251100, 1731251400, 1731251700, 1731252000, 1731252300, 1731252600, 1731252900, 1731253200, 1731253500, 1731253800, 1731254100, 1731254400, 1731254700, 1731255000, 1731255300, 1731255600, 1731255900, 1731256200, 1731256500, 1731256800, 1731257100, 1731257400, 1731257700, 1731258000, 1731258300, 1731258600, 1731258900, 1731259200, 1731259500, 1731259800, 1731260100, 1731260400, 1731260700, 1731261000, 1731261300, 1731261600, 1731261900, 1731262200, 1731262500, 1731262800, 1731263100, 1731263400, 1731263700, 1731264000, 1731264300, 1731264600, 1731264900, 1731265200, 1731265500, 1731265800, 1731266100, 1731266400, 1731266700, 1731267000, 1731267300, 1731267600, 1731267900, 1731268200, 1731268500, 1731268800, 1731269100, 1731269400, 1731269700, 1731270000, 1731270300, 1731270600, 1731270900, 1731271200, 1731271500, 1731271800, 1731272100, 1731272400, 1731272700, 1731273000, 1731273300, 1731273600, 1731273900, 1731274200, 1731274500, 1731274800, 1731275100, 1731275400, 1731275700, 1731276000, 1731276300, 1731276600, 1731276900, 1731277200, 1731277500, 1731277800, 1731278100, 1731278400, 1731278700, 1731279000, 1731279300, 1731279600, 1731279900, 1731280200, 1731280500, 1731280800, 1731281100, 1731281400, 1731281700, 1731282000, 1731282300, 1731282600, 1731282900, 1731283200, 1731283500, 1731283800, 1731284100, 1731284400, 1731284700, 1731285000, 1731285300, 1731285600, 1731285900, 1731286200, 1731286500, 1731286800, 1731287100, 1731287400, 1731287700, 1731288000, 1731288300, 1731288600, 1731288900, 1731289200, 1731289500, 1731289800, 1731290100, 1731290400, 1731290700, 1731291000, 1731291300, 1731291600, 1731291900, 1731292200, 1731292500, 1731292800, 1731293100, 1731293400, 1731293700, 1731294000, 1731294300, 1731294600, 1731294900, 1731295200, 1731295500, 1731295800, 1731296100, 1731296400, 1731296700, 1731297000, 1731297300, 1731297600, 1731297900, 1731298200, 1731298500, 1731298800, 1731299100, 1731299400, 1731299700, 1731300000, 1731300300, 1731300600, 1731300900, 1731301200, 1731301500, 1731301800, 1731302100, 1731302400, 1731302700, 1731303000, 1731303300, 1731303600, 1731303900, 1731304200, 1731304500, 1731304800, 1731305100, 1731305400, 1731305700, 1731306000, 1731306300, 1731306600, 1731306900, 1731307200, 1731307500, 1731307800, 1731308100, 1731308400, 1731308700, 1731309000, 1731309300, 1731309600, 1731309900, 1731310200, 1731310500, 1731310800, 1731311100, 1731311400, 1731311700, 1731312000, 1731312300, 1731312600, 1731312900, 1731313200, 1731313500, 1731313800, 1731314100, 1731314400, 1731314700, 1731315000, 1731315300, 1731315600, 1731315900, 1731316200, 1731316500, 1731316800, 1731317100, 1731317400, 1731317700, 1731318000, 1731318300, 1731318600, 1731318900, 1731319200, 1731319500, 1731319800, 1731320100, 1731320400, 1731320700, 1731321000, 1731321300, 1731321600, 1731321900, 1731322200, 1731322500, 1731322800, 1731323100, 1731323400, 1731323700, 1731324000, 1731324300, 1731324600, 1731324900, 1731325200, 1731325500, 1731325800, 1731326100, 1731326400, 1731326700, 1731327000, 1731327300, 1731327600, 1731327900, 1731328200, 1731328500, 1731328800, 1731329100, 1731329400, 1731329700, 1731330000, 1731330300, 1731330600, 1731330900, 1731331200, 1731331500, 1731331800, 1731332100, 1731332400, 1731332700, 1731333000, 1731333300, 1731333600, 1731333900, 1731334200, 1731334500, 1731334800, 1731335100, 1731335400, 1731335700, 1731336000, 1731336300, 1731336600, 1731336900, 1731337200, 1731337500, 1731337800, 1731338100, 1731338400, 1731338700, 1731339000, 1731339300, 1731339600, 1731339900, 1731340200, 1731340500, 1731340800, 1731341100, 1731341400, 1731341700, 1731342000, 1731342300, 1731342600, 1731342900, 1731343200, 1731343500, 1731343800, 1731344100, 1731344400, 1731344700, 1731345000, 1731345300, 1731345600, 1731345900, 1731346200, 1731346500, 1731346800, 1731347100, 1731347400, 1731347700, 1731348000, 1731348300, 1731348600, 1731348900, 1731349200, 1731349500, 1731349800, 1731350100, 1731350400, 1731350700, 1731351000, 1731351300, 1731351600, 1731351900, 1731352200, 1731352500, 1731352800, 1731353100, 1731353400, 1731353700, 1731354000, 1731354300, 1731354600, 1731354900, 1731355200, 1731355500, 1731355800, 1731356100, 1731356400, 1731356700, 1731357000, 1731357300, 1731357600, 1731357900, 1731358200, 1731358500, 1731358800, 1731359100, 1731359400, 1731359700, 1731360000, 1731360300, 1731360600, 1731360900, 1731361200, 1731361500, 1731361800, 1731362100, 1731362400, 1731362700, 1731363000, 1731363300, 1731363600, 1731363900, 1731364200, 1731364500, 1731364800, 1731365100, 1731365400, 1731365700, 1731366000, 1731366300, 1731366600, 1731366900, 1731367200, 1731367500, 1731367800, 1731368100, 1731368400, 1731368700, 1731369000, 1731369300, 1731369600, 1731369900, 1731370200, 1731370500, 1731370800, 1731371100, 1731371400, 1731371700, 1731372000, 1731372300, 1731372600, 1731372900, 1731373200, 1731373500, 1731373800, 1731374100, 1731374400, 1731374700, 1731375000, 1731375300, 1731375600, 1731375900, 1731376200, 1731376500, 1731376800, 1731377100, 1731377400, 1731377700, 1731378000, 1731378300, 1731378600, 1731378900, 1731379200, 1731379500, 1731379800, 1731380100, 1731380400, 1731380700, 1731381000, 1731381300, 1731381600, 1731381900, 1731382200, 1731382500, 1731382800, 1731383100, 1731383400, 1731383700, 1731384000, 1731384300, 1731384600, 1731384900, 1731385200, 1731385500, 1731385800, 1731386100, 1731386400, 1731386700, 1731387000, 1731387300, 1731387600, 1731387900, 1731388200, 1731388500, 1731388800, 1731389100, 1731389400, 1731389700, 1731390000, 1731390300, 1731390600, 1731390900, 1731391200, 1731391500, 1731391800, 1731392100, 1731392400, 1731392700, 1731393000, 1731393300, 1731393600, 1731393900, 1731394200, 1731394500, 1731394800, 1731395100, 1731395400, 1731395700, 1731396000, 1731396300, 1731396600, 1731396900, 1731397200, 1731397500, 1731397800, 1731398100, 1731398400, 1731398700, 1731399000, 1731399300, 1731399600, 1731399900, 1731400200, 1731400500, 1731400800, 1731401100, 1731401400, 1731401700, 1731402000, 1731402300, 1731402600, 1731402900, 1731403200, 1731403500, 1731403800, 1731404100, 1731404400, 1731404700, 1731405000, 1731405300, 1731405600, 1731405900, 1731406200, 1731406500, 1731406800, 1731407100, 1731407400, 1731407700, 1731408000, 1731408300, 1731408600, 1731408900, 1731409200, 1731409500, 1731409800, 1731410100, 1731410400, 1731410700, 1731411000, 1731411300, 1731411600, 1731411900, 1731412200, 1731412500, 1731412800, 1731413100, 1731413400, 1731413700, 1731414000, 1731414300, 1731414600, 1731414900, 1731415200, 1731415500, 1731415800, 1731416100, 1731416400, 1731416700, 1731417000, 1731417300, 1731417600, 1731417900, 1731418200, 1731418500, 1731418800, 1731419100, 1731419400, 1731419700, 1731420000, 1731420300, 1731420600, 1731420900, 1731421200, 1731421500, 1731421800, 1731422100, 1731422400, 1731422700, 1731423000, 1731423300, 1731423600, 1731423900, 1731424200, 1731424500, 1731424800, 1731425100, 1731425400, 1731425700, 1731426000, 1731426300, 1731426600, 1731426900, 1731427200, 1731427500, 1731427800, 1731428100, 1731428400, 1731428700, 1731429000, 1731429300, 1731429600, 1731429900, 1731430200, 1731430500, 1731430800, 1731431100, 1731431400, 1731431700, 1731432000, 1731432300, 1731432600, 1731432900, 1731433200, 1731433500, 1731433800, 1731434100, 1731434400, 1731434700, 1731435000, 1731435300, 1731435600, 1731435900, 1731436200, 1731436500, 1731436800, 1731437100, 1731437400, 1731437700, 1731438000, 1731438300, 1731438600, 1731438900, 1731439200, 1731439500, 1731439800, 1731440100, 1731440400, 1731440700, 1731441000, 1731441300, 1731441600, 1731441900, 1731442200, 1731442500, 1731442800, 1731443100, 1731443400, 1731443700, 1731444000, 1731444300, 1731444600, 1731444900, 1731445200, 1731445500, 1731445800, 1731446100, 1731446400, 1731446700, 1731447000, 1731447300, 1731447600, 1731447900, 1731448200, 1731448500, 1731448800, 1731449100, 1731449400, 1731449700, 1731450000, 1731450300, 1731450600, 1731450900, 1731451200, 1731451500, 1731451800, 1731452100, 1731452400, 1731452700, 1731453000, 1731453300, 1731453600, 1731453900, 1731454200, 1731454500, 1731454800, 1731455100, 1731455400, 1731455700, 1731456000, 1731456300, 1731456600, 1731456900, 1731457200, 1731457500, 1731457800, 1731458100, 1731458400, 1731458700, 1731459000, 1731459300, 1731459600, 1731459900, 1731460200, 1731460500, 1731460800, 1731461100, 1731461400, 1731461700, 1731462000, 1731462300, 1731462600, 1731462900, 1731463200, 1731463500, 1731463800, 1731464100, 1731464400, 1731464700, 1731465000, 1731465300, 1731465600, 1731465900, 1731466200, 1731466500, 1731466800, 1731467100, 1731467400, 1731467700, 1731468000, 1731468300, 1731468600, 1731468900, 1731469200, 1731469500, 1731469800, 1731470100, 1731470400, 1731470700, 1731471000, 1731471300, 1731471600, 1731471900, 1731472200, 1731472500, 1731472800, 1731473100, 1731473400, 1731473700, 1731474000, 1731474300, 1731474600, 1731474900, 1731475200, 1731475500, 1731475800, 1731476100, 1731476400, 1731476700, 1731477000, 1731477300, 1731477600, 1731477900, 1731478200, 1731478500, 1731478800, 1731479100, 1731479400, 1731479700, 1731480000, 1731480300, 1731480600, 1731480900, 1731481200, 1731481500, 1731481800, 1731482100, 1731482400, 1731482700, 1731483000, 1731483300, 1731483600, 1731483900, 1731484200, 1731484500, 1731484800, 1731485100, 1731485400, 1731485700, 1731486000, 1731486300, 1731486600, 1731486900, 1731487200, 1731487500, 1731487800, 1731488100, 1731488400, 1731488700, 1731489000, 1731489300, 1731489600, 1731489900, 1731490200, 1731490500, 1731490800, 1731491100, 1731491400, 1731491700, 1731492000, 1731492300, 1731492600, 1731492900, 1731493200, 1731493500, 1731493800, 1731494100, 1731494400, 1731494700, 1731495000, 1731495300, 1731495600, 1731495900, 1731496200, 1731496500, 1731496800, 1731497100, 1731497400, 1731497700, 1731498000, 1731498300, 1731498600, 1731498900, 1731499200, 1731499500, 1731499800, 1731500100, 1731500400, 1731500700, 1731501000, 1731501300, 1731501600, 1731501900, 1731502200, 1731502500, 1731502800, 1731503100, 1731503400, 1731503700, 1731504000, 1731504300, 1731504600, 1731504900, 1731505200, 1731505500, 1731505800, 1731506100, 1731506400, 1731506700, 1731507000, 1731507300, 1731507600, 1731507900, 1731508200, 1731508500, 1731508800, 1731509100, 1731509400, 1731509700, 1731510000, 1731510300, 1731510600, 1731510900, 1731511200, 1731511500, 1731511800, 1731512100, 1731512400, 1731512700, 1731513000, 1731513300, 1731513600, 1731513900, 1731514200, 1731514500, 1731514800, 1731515100, 1731515400, 1731515700, 1731516000, 1731516300, 1731516600, 1731516900, 1731517200, 1731517500, 1731517800, 1731518100, 1731518400, 1731518700, 1731519000, 1731519300, 1731519600, 1731519900, 1731520200, 1731520500, 1731520800, 1731521100, 1731521400, 1731521700, 1731522000, 1731522300, 1731522600, 1731522900, 1731523200, 1731523500, 1731523800, 1731524100, 1731524400, 1731524700, 1731525000, 1731525300, 1731525600, 1731525900, 1731526200, 1731526500, 1731526800, 1731527100, 1731527400, 1731527700, 1731528000, 1731528300, 1731528600, 1731528900, 1731529200, 1731529500, 1731529800, 1731530100, 1731530400, 1731530700, 1731531000, 1731531300, 1731531600, 1731531900, 1731532200, 1731532500, 1731532800, 1731533100, 1731533400, 1731533700, 1731534000, 1731534300, 1731534600, 1731534900, 1731535200, 1731535500, 1731535800, 1731536100, 1731536400, 1731536700, 1731537000, 1731537300, 1731537600, 1731537900, 1731538200, 1731538500, 1731538800, 1731539100, 1731539400, 1731539700, 1731540000, 1731540300, 1731540600, 1731540900, 1731541200, 1731541500, 1731541800, 1731542100, 1731542400, 1731542700, 1731543000, 1731543300, 1731543600, 1731543900, 1731544200, 1731544500, 1731544800, 1731545100, 1731545400, 1731545700, 1731546000, 1731546300, 1731546600, 1731546900, 1731547200, 1731547500, 1731547800, 1731548100, 1731548400, 1731548700, 1731549000, 1731549300, 1731549600, 1731549900, 1731550200, 1731550500, 1731550800, 1731551100, 1731551400, 1731551700, 1731552000, 1731552300, 1731552600, 1731552900, 1731553200, 1731553500, 1731553800, 1731554100, 1731554400, 1731554700, 1731555000, 1731555300, 1731555600, 1731555900, 1731556200, 1731556500, 1731556800, 1731557100, 1731557400, 1731557700, 1731558000, 1731558300, 1731558600, 1731558900, 1731559200, 1731559500, 1731559800, 1731560100, 1731560400, 1731560700, 1731561000, 1731561300, 1731561600, 1731561900, 1731562200, 1731562500, 1731562800, 1731563100, 1731563400, 1731563700, 1731564000, 1731564300, 1731564600, 1731564900, 1731565200, 1731565500, 1731565800, 1731566100, 1731566400, 1731566700, 1731567000, 1731567300, 1731567600, 1731567900, 1731568200, 1731568500, 1731568800, 1731569100, 1731569400, 1731569700, 1731570000, 1731570300, 1731570600, 1731570900, 1731571200, 1731571500, 1731571800, 1731572100, 1731572400, 1731572700, 1731573000, 1731573300, 1731573600, 1731573900, 1731574200, 1731574500, 1731574800, 1731575100, 1731575400, 1731575700, 1731576000, 1731576300, 1731576600, 1731576900, 1731577200, 1731577500, 1731577800, 1731578100, 1731578400, 1731578700, 1731579000, 1731579300, 1731579600, 1731579900, 1731580200, 1731580500, 1731580800, 1731581100, 1731581400, 1731581700, 1731582000, 1731582300, 1731582600, 1731582900, 1731583200, 1731583500, 1731583800, 1731584100, 1731584400, 1731584700, 1731585000, 1731585300, 1731585600, 1731585900, 1731586200, 1731586500, 1731586800, 1731587100, 1731587400, 1731587700, 1731588000, 1731588300, 1731588600, 1731588900, 1731589200, 1731589500, 1731589800, 1731590100, 1731590400, 1731590700, 1731591000, 1731591300, 1731591600, 1731591900, 1731592200, 1731592500, 1731592800, 1731593100, 1731593400, 1731593700, 1731594000, 1731594300, 1731594600, 1731594900, 1731595200, 1731595500, 1731595800, 1731596100, 1731596400, 1731596700, 1731597000, 1731597300, 1731597600, 1731597900, 1731598200, 1731598500, 1731598800, 1731599100, 1731599400, 1731599700, 1731600000, 1731600300, 1731600600, 1731600900, 1731601200, 1731601500, 1731601800, 1731602100, 1731602400, 1731602700, 1731603000, 1731603300, 1731603600, 1731603900, 1731604200, 1731604500, 1731604800, 1731605100, 1731605400, 1731605700, 1731606000, 1731606300, 1731606600, 1731606900, 1731607200, 1731607500, 1731607800, 1731608100, 1731608400, 1731608700, 1731609000, 1731609300, 1731609600, 1731609900, 1731610200, 1731610500, 1731610800, 1731611100, 1731611400, 1731611700, 1731612000, 1731612300, 1731612600, 1731612900, 1731613200, 1731613500, 1731613800, 1731614100, 1731614400, 1731614700, 1731615000, 1731615300, 1731615600, 1731615900, 1731616200, 1731616500, 1731616800, 1731617100, 1731617400, 1731617700, 1731618000, 1731618300, 1731618600, 1731618900, 1731619200, 1731619500, 1731619800, 1731620100, 1731620400, 1731620700, 1731621000, 1731621300, 1731621600, 1731621900, 1731622200, 1731622500, 1731622800, 1731623100, 1731623400, 1731623700, 1731624000, 1731624300, 1731624600, 1731624900, 1731625200, 1731625500, 1731625800, 1731626100, 1731626400, 1731626700, 1731627000, 1731627300, 1731627600, 1731627900, 1731628200, 1731628500, 1731628800, 1731629100, 1731629400, 1731629700, 1731630000, 1731630300, 1731630600, 1731630900, 1731631200, 1731631500, 1731631800, 1731632100, 1731632400, 1731632700, 1731633000, 1731633300, 1731633600, 1731633900, 1731634200, 1731634500, 1731634800, 1731635100, 1731635400, 1731635700, 1731636000, 1731636300, 1731636600, 1731636900, 1731637200, 1731637500, 1731637800, 1731638100, 1731638400, 1731638700, 1731639000, 1731639300, 1731639600, 1731639900, 1731640200, 1731640500, 1731640800, 1731641100, 1731641400, 1731641700, 1731642000, 1731642300, 1731642600, 1731642900, 1731643200, 1731643500, 1731643800, 1731644100, 1731644400, 1731644700, 1731645000, 1731645300, 1731645600, 1731645900, 1731646200, 1731646500, 1731646800, 1731647100, 1731647400, 1731647700, 1731648000, 1731648300, 1731648600, 1731648900, 1731649200, 1731649500, 1731649800, 1731650100, 1731650400, 1731650700, 1731651000, 1731651300, 1731651600, 1731651900, 1731652200, 1731652500, 1731652800, 1731653100, 1731653400, 1731653700, 1731654000, 1731654300, 1731654600, 1731654900, 1731655200, 1731655500, 1731655800, 1731656100, 1731656400, 1731656700, 1731657000, 1731657300, 1731657600, 1731657900, 1731658200, 1731658500, 1731658800, 1731659100, 1731659400, 1731659700, 1731660000, 1731660300, 1731660600, 1731660900, 1731661200, 1731661500, 1731661800, 1731662100, 1731662400], [29.95303563751022, 29.863273801887598, 29.74530909481922, 30.820551787925357, 28.598607277720664, 28.04993986829502, 28.29403407292073, 28.27844638313103, 27.19576649852163, 27.456331724634296, 27.217397865234982, 27.514561762216, 28.100707855820108, 29.080409286648, 28.96774854209461, 28.59917456792718, 29.054092458061, 30.20321953602552, 30.049120713816286, 31.161660734516037, 30.807950826641765, 30.940787547948453, 30.303247495709485, 29.97833174891068, 29.27737662612823, 29.06887825845655, 27.7703924326953, 27.73216655446883, 27.99376745244439, 26.673529371537505, 27.03079123482727, 25.861663738328662, 25.67546786601307, 26.1381018968254, 26.367870804933087, 26.146981091503275, 26.150687855431052, 25.251272120136942, 24.971657833955803, 25.049016570494864, 24.146909076619085, 24.029044879084967, 24.283391170712733, 24.70898423840648, 23.824109309415924, 23.79307543899782, 23.814198956115774, 24.03614807858634, 25.40789910021787, 25.373487185262995, 26.07907652194211, 26.36225280726735, 26.531897857546173, 26.639923256847187, 25.63863757150638, 25.517299277077505, 25.29934010132516, 26.445620823140388, 26.765567439231248, 27.136340389200125, 26.52445409484905, 27.583560436741365, 27.64822023840647, 29.29084150902583, 30.21304529232804, 30.8685423339558, 32.20665430252101, 33.00934374813259, 33.32652315676551, 34.006192789395975, 34.41200527863368, 34.60147287426082, 34.31286902388733, 33.93509753935704, 33.49818208341114, 33.36442998615002, 33.324088357656805, 33.62759791215375, 32.82527979769686, 32.28982365624028, 32.618716238728084, 32.77269979559602, 32.79886627108621, 32.62893223101463, 33.22687126455026, 33.842093282524125, 34.9003531032978, 34.94043060387489, 35.13482187414737, 35.15343338453159, 35.61403076581207, 36.07186723825085, 34.95663262690631, 36.141349826953, 36.07189071973234, 36.00615942989418, 36.0634800708061, 35.64693211733582, 34.628497796918765, 34.98107946086212, 34.70187174680984, 35.16978544493339, 35.12675279069406, 34.881740649393095, 34.51271267460317, 34.06354221732026, 34.12935250560224, 34.23096519172114, 34.28192991588858, 34.46200592071273, 35.05611878197946, 34.68594767287971, 35.32302091456583, 34.639189734593835, 34.0864164694211, 33.995515647370055, 34.26800288281979, 34.43414791106443, 34.72011426407563, 34.62203068549642, 34.03298289464676, 33.782411005757865, 33.642475630099725, 33.596953493930904, 33.176091730003115, 33.6089233058668, 33.81750602163088, 33.83296398544974, 33.76984175038904, 33.80976322338935, 33.504409440603176, 33.98205118549642, 33.854380510037345, 33.33098983496732, 32.19536714215686, 32.195491453236855, 31.319860889666984, 30.31191530462185, 29.934557712962963, 29.496193829754123, 27.970238982415182, 28.00001684749456, 27.658789600894803, 26.773564653127924, 26.428654224245253, 25.96830611601307, 25.157386397309413, 25.444824792794893, 26.005840585978834, 26.011094775816357, 25.84598265849673, 25.596641827775837, 25.67185444850947, 25.830137625612096, 25.568252246654215, 25.557462635543107, 25.567507131108, 25.924851764861497, 25.683637649159664, 25.534749995953938, 25.01063931076876, 24.840825974323064, 24.619350702692188, 24.466899899859943, 24.06399944506692, 23.79861774696545, 23.25869371690139, 22.79285178113589, 22.476787037659506, 21.614429070494865, 21.854125648070337, 21.98432185364146, 21.49076895183629, 21.21588116511049, 21.124067452523605, 20.92951476276066, 20.225114531003904, 19.577598227824467, 19.399860092826017, 19.37568616823193, 19.65219908745721, 19.740305957513748, 18.96386359928416, 18.69538046827148, 18.522187093003872, 18.495270675509005, 18.202278550575784, 18.527459956349205, 18.23835240639589, 18.40909652248677, 18.373685651416125, 18.35169219685652, 17.848618238794867, 17.55532619358855, 17.129680582399626, 17.362410895113605, 17.78700482081194, 17.847541706582636, 17.626260146436355, 17.414016638422037, 17.16611828644504, 17.84877248111708, 17.89090516635543, 17.8580062429972, 17.613188282835356, 18.153491634818188, 17.850908444989106, 17.965471032913165, 17.75756014480237, 17.623024629785245, 17.74181328413931, 17.58540116713352, 17.221494343559648, 16.91178959632742, 16.916904245331466, 16.85650740865235, 17.036334725334576, 16.404240407173983, 16.09307928371872, 16.22359039748807, 16.094488065048242, 16.071588599517586, 16.04681967732649, 16.052524661764703, 15.96977837458373, 16.201742987706197, 16.00119780124235, 15.999546109866172, 16.07154683899069, 16.059097926003737, 15.921683130217088, 15.94632245129163, 15.90779125715842, 15.71850959542484, 15.77202033146592, 15.726179993948252, 15.939666317934364, 16.143804096938865, 16.18770933232182, 16.166904010176758, 15.904480699579834, 15.943808437286028, 16.150462298756757, 16.605606048930778, 16.546311239028945, 16.606717163320887, 16.46745734049175, 16.393836884814295, 15.793753632137022, 16.432226256380332, 16.37009026521229, 16.30069493207283, 16.372235267117958, 16.326280563414254, 15.797535416558382, 15.66723042146942, 15.752634536336757, 17.108542957749766, 17.179691147136634, 17.572840839895218, 17.331188539808732, 17.41912896296296, 17.50850310356365, 17.61586773435458, 17.63557130750078, 17.758211365701836, 17.953709275124492, 18.58020508574541, 18.6157399302346, 17.16027266020853, 17.114009797619048, 16.75153771981015, 16.365364255803247, 16.723904659897293, 16.745477639709772, 16.7261548657463, 16.775858133499973, 16.60797762215997, 15.972383708527854, 15.640905713974478, 15.615036482648616, 15.696409038204171, 15.706842939931528, 15.70203697307812, 15.558468838817973, 15.34469298591659, 15.332774201137308, 15.324677888754673, 15.286677382430748, 15.42678012822907, 15.2982240281374, 15.558028704403986, 15.578224791549951, 15.521079541683996, 15.696742827264238, 15.73194824696545, 15.512766524867075, 15.713962422969187, 15.73888101198257, 15.726763535947711, 15.916383375739182, 15.930153244475571, 15.790553629500891, 16.026275746187366, 16.050241972066605, 15.983796771397447, 15.830916428727043, 15.881488170634922, 15.665264145969498, 15.99050106528167, 15.962517592592592, 15.848953131108, 15.838988146436352, 15.741511470354808, 15.547978630890588, 15.740267586756923, 15.814504308022096, 15.945720483402717, 15.893490969905464, 15.780766881855614, 15.598468843215064, 16.349898699968875, 16.26321101392779, 16.306206134531593, 16.255589608154374, 16.241397524555193, 15.79177208603049, 16.22596335227332, 16.151819750389045, 16.171208179505136, 16.327685821584186, 16.33617113398693, 16.35743944397759, 16.327289239807037, 16.539782297463432, 16.506313569297, 16.496929552832245, 16.538976984282602, 16.42404102626245, 16.465148749949815, 16.57263218191721, 16.551918147136636, 16.43848442296919, 16.441467330282578, 15.956709071163106, 16.075407759440814, 16.491280881497044, 16.673435442651257, 16.788089734593836, 17.1074782605042, 17.434960714043207, 18.395287009492687, 18.518673946978424, 18.591881351618422, 18.99378390600685, 18.9641970733738, 18.814731962026663, 19.79220148848428, 19.156718110255213, 19.143529239100275, 19.072940947868037, 18.87603148661687, 18.60243504863056, 18.04718722251271, 17.845195782057267, 17.86110615467048, 17.72402362605042, 17.75410096934395, 18.219076372082817, 17.594972222208607, 17.860385457905384, 18.25565400070028, 18.131256190908037, 18.111837153983814, 18.1747396223934, 18.161671735683164, 18.246769469641563, 18.94130278929349, 18.996576257703083, 19.085948344693435, 18.91653471747588, 19.318004814970436, 19.228231316993465, 18.69785498537193, 18.825560808123253, 18.749351485449733, 18.29543528252412, 20.03306114869281, 20.04836886169014, 19.273633238250856, 19.210570661998133, 19.186030088846746, 17.075320851274498, 16.734598128462498, 18.163879581854964, 18.50376333092126, 18.416643440242765, 18.54805604123872, 16.80106513390912, 15.19109867514784, 16.750830686323145, 16.529999624260814, 16.652114520385933, 16.47875576206038, 16.513074905929038, 16.415602921879863, 16.588177933362232, 16.441787964519143, 16.335029924914412, 16.08485037498202, 16.02439377362579, 16.06314758426704, 15.230445414643638, 15.306215451836293, 15.033510256691567, 14.986670843137254, 14.993455415074829, 14.959099673096924, 14.921933785677975, 14.991234340880796, 15.100281981792715, 15.221623879348872, 15.244688261480055, 15.093950632197322, 16.134841088049203, 16.221349057656397, 16.327889707282914, 16.45857591810548, 16.207169611111112, 16.074529205415498, 16.126420353290992, 16.339561041207332, 16.232400375057708, 16.233766994677225, 16.179139762371616, 16.061525022676513, 16.163151396047308, 16.02493578623541, 16.098288211406786, 15.985533375739186, 16.108784270538965, 16.499360942265792, 16.37577047109075, 16.80595181955792, 16.811845873707078, 16.79489208566695, 16.76394039738433, 16.743571952869853, 16.715972820339246, 16.740809038689182, 16.68534953633676, 16.665785662141435, 16.509162497000766, 16.05978813453159, 16.055756450824774, 15.636819847727333, 15.58804066775599, 15.523467827497663, 17.253858916870087, 17.545208256535947, 16.147899642110826, 15.9931104475568, 15.884401304128414, 15.784315240507317, 17.539855381553927, 17.657612168845315, 16.42872689721444, 16.27552686072207, 16.22539846747588, 15.875054106676002, 13.941797504511625, 14.710430429349517, 15.32185712830688, 15.69540503190165, 15.701383069172111, 15.66757353711485, 13.515868756100872, 14.60399975630252, 15.231637657238176, 15.319268157251788, 15.428243712418302, 15.634891500233426, 15.570254784847933, 15.416909826252724, 15.99639979520697, 15.664125891662549, 15.773115409663866, 16.28065289760349, 16.14168312495783, 15.578410523031437, 15.95892298500169, 15.932489862044818, 15.897650923202614, 15.760776364134635, 15.734370444921025, 15.775313739807032, 15.430559858525914, 15.58994109155125, 15.576222505368811, 15.158150569638968, 15.258364636357513, 15.672970119981326, 15.52750433169935, 15.537347102240895, 15.787786256380327, 15.749422585589793, 15.870705684173668, 15.735723998910675, 16.154201272486773, 16.01436661749144, 15.963097317372782, 16.043643256638397, 15.971042003920529, 15.428453119125429, 15.646671030967944, 15.61514414456894, 15.41359645059135, 15.38685767429194, 15.158174960317458, 15.299907019919075, 15.633304197089949, 15.651345776571414, 15.669427024976658, 15.675054942343603, 15.599559191565517, 15.577215380718954, 15.734193846016186, 15.898505279567384, 16.112791051742917, 16.196292476579522, 16.23682090027922, 16.108952339154087, 15.64059437192655, 15.72116629657965, 15.69698764821364, 15.692816619281048, 15.694626883101852, 16.13091309477124, 15.968828210524732, 15.99347262472767, 15.838092090246656, 15.794359347961407, 15.66431154604212, 15.604253385600163, 15.648954538068006, 15.653365155150953, 15.823983562298997, 15.79878280524432, 15.525950206403447, 15.150779772875817, 15.575611847818111, 15.491235970043576, 15.637008655539994, 15.73021386800433, 15.814642966978948, 15.733011345704949, 16.090174008247743, 16.09290387638889, 15.923140856753816, 15.927837373171489, 15.90830546978032, 15.96050227606598, 16.15209283022098, 16.191995831577447, 16.013837063725493, 16.05658222051043, 15.972243615662284, 15.765808010192965, 16.04471653960473, 15.935192740491106, 15.988276545751637, 15.924805429582946, 16.029444591658883, 16.299855418300652, 16.055676154295053, 15.90797536484594, 15.994800790149394, 15.808071067382508, 15.621368012527231, 15.71942359111422, 15.38323665281668, 15.357515135231871, 15.364476172804494, 15.369041984671648, 15.118106942627604, 14.612957563053326, 14.925202003034547, 14.964679106831625, 14.841369481170249, 14.950473323140368, 14.955285674758793, 14.857311822051043, 15.369997063725492, 15.33552246527778, 15.30956074424214, 15.512667509025832, 15.454274713352008, 15.566674187108497, 16.4841688053351, 16.543183877055455, 16.569315768985373, 16.50539888095238, 16.459510504668533, 16.934991595238095, 16.677577016651107, 16.778338013071895, 16.73889355878463, 16.612504637332712, 16.60984196705676, 16.44130551974663, 15.930104814659195, 15.817930082339329, 15.927317455097134, 16.108830345549332, 16.062900079053843, 15.425852695066917, 15.702782155773422, 15.778790347171649, 15.947172755913478, 15.955940277077495, 15.88630323175122, 15.926702646825396, 15.949168741441024, 15.955354570417056, 15.806934616090883, 15.813087967475882, 15.808628181372548, 15.713464992608154, 15.79629166941008, 15.757777477639424, 15.563070768596328, 15.665675844460008, 15.59825409056956, 15.26706152614379, 15.619170457049488, 16.08920792623716, 16.310844318316214, 16.31558521621797, 16.572413997403537, 16.371723069483348, 15.632466465063803, 15.898287828586987, 16.358722201058203, 16.22133449369748, 16.135728408700082, 16.042362723078117, 16.003836454832914, 15.564784347183318, 15.427393734593837, 15.206454386865856, 15.080231130467372, 15.340297517818238, 16.038820388502465, 16.06583143506915, 15.830732147681296, 15.819681416199812, 15.734710986727748, 15.6413193208061, 15.795192781481484, 15.869326893246187, 15.75284899922191, 15.594404798940502, 15.624948763538749, 15.709900050108931, 15.557435785091814, 15.359340510582012, 15.256679418300653, 15.20708091381627, 15.189402544193513, 15.224218146669775, 15.455127455844105, 15.325820708527855, 15.521707532990977, 15.596725178727048, 15.771263214908185, 15.490882766339867, 15.832144106687036, 16.113430639589172, 16.632300736433372, 16.956894933084342, 16.90308161160608, 16.682749958372238, 16.632823855353255, 16.660194061397707, 16.668143398307663, 16.500273537037035, 16.323788903322445, 16.44661547657952, 16.578365122860255, 16.103945292328042, 15.721491998832866, 15.82129000855898, 15.851487354227617, 16.103065050497975, 16.109219583099907, 16.473852929660755, 16.355200609477127, 16.231915105275444, 16.845853054748943, 17.101142516728913, 16.912532434562713, 16.702380941565515, 16.6403241319639, 16.74641893230626, 16.738779891767816, 16.93375659188064, 17.25330079302832, 16.974867006769376, 17.022782527155307, 16.981438659741674, 16.5731452798662, 16.44206678243464, 16.854572865740742, 16.94042488725977, 16.909778279841074, 16.66637219208045, 16.03550711286184, 15.921322209185345, 16.755360477328136, 16.71680904883369, 16.615096380520104, 16.599844290574264, 16.74787446022864, 16.523119284794664, 16.68002069187675, 16.75947101100283, 16.742359627426996, 16.723580415814013, 16.55766871945968, 16.96405793697479, 16.143725015017118, 16.1936506267507, 16.3556601589396, 16.24673270813881, 16.042395628540305, 16.462577973127814, 16.033945474814356, 15.843624850217868, 15.957205380796765, 16.038155446305375, 15.958735758325552, 15.80920001976346, 15.852504410364146, 15.801432699346408, 15.852280048008092, 15.65949207648615, 15.665890025988173, 15.194338029356002, 15.693900000428602, 15.803309455026456, 15.633533467164645, 15.522399265250549, 15.561380513227514, 15.06795383994709, 15.633615471733329, 15.665216524976657, 15.819994819546244, 16.009711243386242, 16.184713594051516, 16.337904803299097, 16.362160507270268, 16.50797301296117, 16.708475108567193, 16.594911321089306, 16.971783758199763, 17.024640698942033, 16.897511120772965, 16.884020007732936, 16.397045213448457, 16.455133324182825, 16.46571674608963, 16.029323428338, 15.752586731092435, 15.678901720158, 15.770744349673205, 15.97653549263215, 15.575747094537816, 15.70604614626582, 15.848743045898177, 15.670930224400871, 15.415007387721754, 15.346886492997198, 15.615959527933397, 15.556615479458449, 15.939207874867726, 16.215848692904483, 16.075335340569563, 16.039910509259258, 15.848209769404496, 15.728989638422034, 15.878155091503269, 16.046595601151573, 16.020167064581386, 16.482619253112354, 16.171293354341735, 16.158633708761283, 16.281297153750387, 16.126164924906565, 16.0425059946474, 15.952424522486773, 15.795642294195456, 15.810952770697169, 15.967480541549955, 15.840082992374729, 15.962275006322624, 15.474110797230002, 15.324867081543726, 15.280658617102397, 14.89814297089947, 14.718883081566778, 14.856665356364772, 15.087540991129789, 15.016998266028631, 14.923100258558978, 14.77540385702984, 14.807435861655774, 14.64809642063492, 14.591777553376906, 14.66608788593215, 14.552516475023342, 15.26362413966698, 15.27617082638046, 15.127000713844795, 14.937672232259573, 14.93178331233854, 15.624447475979744, 15.520852602466544, 15.51872981808279, 15.5968528846094, 15.493388807578588, 15.379295736383442, 15.455803889666978, 15.933148471684756, 16.008211747432306, 16.13731753859322, 16.139586441798944, 16.26385581016802, 15.950944014703287, 16.14201804679168, 16.288656823295987, 16.373246261982572, 16.37290313600996, 16.503083671335197, 16.751898161142233, 16.442639133488306, 16.61099144972767, 16.862056506069095, 16.989940200941486, 17.25737960130719, 17.015005668845316, 17.33300877194211, 17.704407293013944, 18.08944948436041, 18.5930607464986, 18.77788117746266, 18.652963170337305, 19.04258231582633, 19.61942861157797, 20.65924917242453, 21.383894861111116, 21.48186834381875, 23.209179607142858, 24.19647005384376, 24.5214955522221, 24.98303681847379, 25.12500682244009, 25.81259219018832, 26.69195484064737, 27.181494441643327, 27.23263100202304, 26.83017046451914, 26.91854621171802, 26.705622142545906, 25.80605634897292, 25.726396034780574, 25.49669879824152, 25.244466792172425, 25.244587575291828, 24.94070331696365, 24.47721357454093, 24.532549092135465, 25.441538929582943, 25.29817629520697, 25.1362140026455, 24.805212766339867, 25.07915541900093, 25.192079268489348, 25.232303295751635, 25.12024762838404, 25.30774912560024, 25.782652155314487, 26.18651306177383, 26.39936209274821, 25.774044771086214, 25.97110584150327, 26.297513341658888, 26.73970202458761, 26.252155010270773, 26.769535225801437, 26.824729704784605, 26.787241030226177, 26.613074315203864, 26.01204807202556, 25.32043274346405, 25.31940421645334, 25.0582257281357, 24.95397961780268, 24.45608493448491, 24.15081576361656, 24.03161615289449, 24.504549139044503, 25.176910941643325, 26.002173037270463, 26.242481537503892, 26.590075022807408, 27.02431280554461, 27.44500764874013, 27.83917443576227, 28.284174551217657, 28.855722243397462, 28.547293153286947, 29.44415284072129, 29.81445275342359, 29.964548243075004, 29.82077820284781, 30.36672373723934, 31.326497464052288, 31.182774545518207, 31.93450909718332, 31.94773055073141, 31.45765542250233, 31.070918881886087, 30.839865427878344, 29.90568724618736, 29.825897404839715, 28.996993888811083, 28.55440255897915, 28.2989449370526, 27.17912277619372, 26.550067385309685, 26.303895424680984, 26.66516079995332, 26.82646347268908, 27.22654947456494, 27.43881026027077, 27.612922985371924, 28.11432561554622, 28.7910508505291, 29.878905585511987, 30.652839040616247, 31.989178864923748, 32.591856319094305, 33.006937964737006, 33.172184068160604, 33.79789118145036, 34.18817149774354, 35.061667306008154, 35.37494464316838, 35.49579809228136, 35.444021282446315, 34.41277051696234, 33.18777731652596, 31.906656082321817, 31.84804050622471, 31.573171003657016, 31.00188013328665, 29.772398182228446, 29.00536911258948, 27.72081820012449, 26.8440208802521, 26.39049785348584, 26.130775098083973, 26.11139108667912, 25.60692098329792, 24.85254959574039, 24.56086913671024, 23.290570220432617, 22.849228726495877, 22.53708572128852, 22.233742922580145, 22.014494287581694, 22.030337230547776, 21.969601938658712, 21.283787370837228, 21.247130050575787, 21.54530237132613, 21.43420982748276, 20.95057503625895, 21.63306590506072, 22.45365236694678, 22.479683783688024, 22.209711630174294, 21.82540693907237, 21.175493624183005, 21.21679579475698, 21.76771847908772, 21.39529282356313, 21.26245653625895, 21.106861509276268, 21.112944654139437, 20.260393246019422, 19.46302126867414, 19.66103017320261, 19.70667216394336, 19.799422294108577, 19.88412544063181, 19.59325005734516, 18.96468321100996, 18.831971181061316, 19.027530584733896, 18.908606491468912, 19.05710377964519, 18.94984087283498, 18.797077038671024, 18.712378199346407, 19.659089674136325, 19.642245752878928, 19.81671344814815, 19.69948399720342, 19.762548899315284, 20.01591502816682, 20.64571238756613, 21.12030365087146, 21.154666449424216, 21.735726419856835, 21.91166285768752, 21.920285634842195, 21.11153186609088, 21.356249038982256, 21.72814919187675, 22.03842023179272, 21.993448536258956, 22.413816895022823, 22.020754450577734, 21.719279260024383, 21.73694043674136, 21.92774360484166, 21.94870998381575, 21.9750309335512, 22.001090681683788, 21.532187566096376, 20.954508151338317, 21.26567032026144, 21.41374213220317, 20.713415560613136, 20.40877250606909, 20.134661798675022, 19.84822645673825, 19.440354624649864, 20.082077490786133, 20.25600144817927, 20.225053532547477, 20.385310981130694, 20.501970646591968, 20.62069577318705, 20.749377198801746, 20.972647519919075, 21.06650566588858, 20.961461780656705, 21.02215985589791, 21.2462769166135, 20.898642050264552, 20.72713162698413, 20.698429204403983, 20.243511259063755, 19.95164396066371, 19.76764227521009, 19.53309764620293, 19.45406651828509, 19.26709387138189, 19.672119872099028, 19.715884932228445, 19.86074717701525, 19.67366026953004, 19.62476885192059, 19.7741549719888, 19.827140925459076, 19.81451488374248, 20.03717791643324, 19.88069762262683, 19.61092430474181, 19.61376492920894, 19.43015660348584, 19.29714577304635, 19.3122946206038, 19.064078506689626, 19.032203836990355, 18.753546028011208, 18.789695273653905, 18.625894785558664, 18.70606760235467, 18.93073123381575, 19.10551179497355, 19.18202209157005, 18.525505272331152, 18.733719684694996, 18.63060704816371, 18.73923255944536, 19.01112311290072, 19.070838653610984, 18.919540971848093, 19.373163832436585, 19.94378007817137, 19.814827790694057, 19.633144747976967, 19.595201439620293, 19.772977002256457, 19.644022835200744, 19.69374471397448, 19.57751686752711, 19.099664513849984, 19.20295792934952, 18.95163239417728, 18.448602624795104, 17.98906895762292, 18.040238431683782, 18.008927158666616, 17.859937890979644, 17.6189108952569, 17.590971904917524, 17.907110499922194, 17.99377952544351, 17.910653818047777, 17.828156230625584, 17.66028085783341, 17.864858731325864, 18.20381284271125, 18.57404345518207, 18.780373729147215, 19.090191743495176, 19.53459700590765, 19.7694760830221, 19.715810490429504, 19.945540071039527, 20.589202382041705, 21.11833922868036, 21.69763626788827, 21.87414477754435, 22.42980729843929, 22.390358587393013, 23.09285842532876, 23.519531891839144, 24.22542042553688, 26.00741676968565, 28.12112738383131, 28.41898211159873, 28.38402894164333, 28.418249322984757, 28.25845947945845, 28.8282337605042, 30.040350805567893, 30.537068798169543, 30.42826366145347, 30.97012893050628, 30.633389854735324, 29.258431924914408, 29.127843441176477, 29.94667897525677, 30.48722529046063, 31.99304218589389, 32.434969916122, 32.087657569716775, 32.16097693596328, 32.11973950381069, 31.98126356450358, 31.22355839122316, 30.718044557422967, 31.37401508302209, 32.26878918814192, 33.13392691308746, 33.4286263530968, 33.06332738515407, 34.077594599673205, 33.790105509803915, 34.29178034632742, 34.41367359391534, 34.89562024221912, 35.31303631302521, 35.036466559134766, 35.13735108761801, 33.95437970510426, 33.10701106084657, 32.74687451590349, 32.18692372058823, 31.020462861655773, 31.547220375350136, 31.618947578509182, 32.458175925225646, 32.02902069950203, 32.63893456637099, 32.810597094070964, 32.492282185029566, 32.2644156388889, 32.5640096896981, 32.71382762527234, 32.324408789371304, 32.127316678338, 31.15009263040772, 31.322034554440293, 30.696703190554004, 31.03989573700591, 31.0047587718643, 31.448713940475542, 31.6882036293962, 32.06467450816994, 31.670598644257705, 31.731466753657017, 32.055815940476194, 32.6176546014628, 34.21164674027324, 36.39588707835356, 36.98506761756017, 37.26260232559784, 37.48737604147215, 38.11322594903516, 39.09390352435418, 39.92957592966076, 41.11814798996265, 41.53633400342358, 43.75433233076564, 45.22210823358232, 45.94716945938375, 44.28613132835357, 44.08080764861501, 44.58453748801743, 45.68711489183334, 45.50579194291939, 45.70428879925303, 46.14371431061314, 46.0271807368503, 45.99982757469655, 43.9383786215375, 42.064431036757874, 40.51262016355431, 40.21728166348948, 42.164950206115776, 41.872314192810464, 40.805037980067326, 40.460362021475255, 40.27919512605042, 39.907757060224085, 39.97441747945845, 39.66202409124132, 39.554811855586685, 39.8236985776008, 40.17393125981948, 40.20105151523498, 38.15939844973545, 38.10388060270775, 38.10868795238095, 37.76667838409586, 38.1944354309835, 39.9600233680361, 40.48861186515717, 41.17232629396203, 42.06883916441021, 42.40268050077808, 43.35455748109244, 44.64866233948023, 46.06030304427327, 46.39649157057268, 47.07272701859633, 46.870113418611886, 47.00390210488639, 46.49541227528789, 46.162699520074696, 46.49174940499534, 47.80194981637099, 48.6670579124735, 48.48589286335461, 48.67077304992305, 48.14738923039216, 48.25628076556178, 47.39642288437598, 48.12888048101463, 46.855573381108, 45.90683067460317, 45.915639956115776, 45.85207522012138, 43.85625430904269, 42.770546748473016, 41.92172086966944, 41.30457763420025, 41.44105074859879, 41.46675462480548, 41.609936009492685, 40.64718111328976, 40.49218833333333, 39.99093476182695, 39.53363980834371, 39.25350038157485, 39.36005271615313, 39.16527436476812, 39.26088350490196, 40.1482201258948, 39.686102025695405, 38.90356809974971, 38.95167733566761, 39.02081540810769, 41.86242601081543, 42.1164606844071, 42.57756492857144, 43.07263250739185, 42.97024921256681, 42.83954898487539, 42.18741412393207, 41.36052337235966, 41.49958240793361, 42.05350534547153, 41.78209721949892, 42.03346025225645, 39.80099284644941, 39.86415566417679, 39.28880759401016, 38.50853915273887, 38.29308131320224, 38.66008671560846, 38.74606056862745, 39.42475649528875, 38.91906947191098, 37.9472488648011, 37.46243230960162, 36.74198946459695, 36.43356956029346, 35.98886308387668, 35.21337107386075, 35.42994861389262, 34.83581327380952, 33.802001726012215, 33.14040012145969, 32.54854235122938, 31.9538156118892, 31.36296682761358, 31.01836448443822, 30.287022473622784, 29.63925874585541, 29.29317321887644, 29.315871385620916, 28.80939217366688, 28.4976237765082, 28.060925107920944, 28.326372941076613, 27.441111176781824, 27.40896594740118, 27.386246560301903, 27.185116652289526, 26.942544723674736, 26.68810303478058, 26.632564558989525, 26.139316497472198, 25.872865568436225, 25.94036224146386, 25.652967456193583, 25.33545361264006, 25.578626960161845, 25.62954491900093, 25.797884430905693, 25.9094277316371, 26.642493093183944, 26.659961012449426, 26.6767689439776, 26.875826175984937, 26.63963282173981, 26.31558172805789, 25.98300252820082, 26.192967403906003, 26.264670581646836, 26.268780526143797, 26.148956555258167, 26.06740394701214, 25.206765047463428, 24.97855108709693, 25.17686198988484, 25.281059788448623, 25.09777258708502, 24.95140701206038, 24.67220289923088, 24.31220947650171, 23.991345796884403, 23.919994543417367, 24.096093622626828, 23.97507769113361, 23.70829725334578, 24.043864481240924, 23.35279107107231, 22.886684686896984, 22.9184446328198, 22.772214547696866, 22.366506410831654, 22.56385730734516, 22.772715370502, 22.41419770276923, 22.656588457049487, 22.88909072792535, 23.132387247043265, 22.94394824867725, 23.248895373482725, 23.3663066691814, 23.54494789887263, 23.972925707885604, 23.910260038327376, 24.26200141332088, 24.36061792211329, 24.773200006610526, 24.50664064985995, 24.541120028067915, 24.595486469109865, 24.27913287453869, 24.258958230859008, 24.17626172004228, 23.83595275306874, 23.65997054648984, 23.808828818238403, 24.198824425692496, 24.02968686391223, 23.70801264799253, 23.45279582983193, 23.39261137138189, 23.249921823373796, 24.00490839302577, 24.14104297316582, 24.464310736227823, 24.7184077683629, 24.762711090826983, 24.275658887099283, 24.11906483232182, 24.68590482114912, 25.212377521475258, 25.443180975801432, 25.838308494700573, 25.7893401075319, 25.27496361204481, 25.424686377922377, 25.760958820417056, 25.83637879520697, 26.573176231379687, 27.21173482446312, 28.334426429582944, 29.75764543249884, 30.37115616098662, 31.105745666122004, 32.91334886399004, 34.78783257625272, 36.29673115818549, 37.88398959094564, 39.30899731691565, 42.23859194654528, 43.49946764122316, 44.25163316058396, 45.39835158378398, 47.14825232586369, 47.186279976582966, 49.74730297263904, 49.36005032819794, 49.24778413972404, 48.73659258975257, 49.428605851384994, 49.48578742514784, 48.471441337461165, 48.67029517345054, 49.58609072541703, 49.90196191270141, 48.21413834078129, 51.09894176589449, 51.60006177728051, 52.487380544804736, 52.16715187174725, 53.78550170869117, 52.5894160467314, 52.39657928702507, 51.710352110527545, 50.87115098854475, 49.36149983735545, 48.17157061995738, 48.57326721924154, 45.83262865909526, 42.39195559207048, 40.56406306385717, 39.7143027113901, 37.44514583146592, 36.86321826844071, 35.612993041466005, 36.13280289273265, 36.52636471439835, 35.432434779798214, 34.71801588849984, 36.81785581592177, 36.82784093432929, 37.7547408275222, 38.147507677015255, 38.48848565297516, 39.53633211601307, 41.35579270533768, 41.54676385566449, 41.646476865468415, 41.4223828033668, 42.694538720887, 43.89042413688163, 42.49709295541551, 45.36052033488952, 46.559948898848425, 47.925975052754445, 48.30738190849673, 48.40923505695611, 48.69136640219422, 49.37178644339663, 49.16038840079365, 49.43457452046374, 48.67392278563648, 49.18116621397448, 48.85711542156862, 47.23825045953937, 46.23982721101775, 45.555362409197016, 45.77490714707309, 46.96165437908496, 47.41456376198257, 49.41840357796452, 51.45634375412453, 52.65055057010583, 53.85409703719265, 54.75834083512294, 56.11755640149393, 57.13260375217865, 57.82272517343605, 58.5444857633747, 59.80774717055712, 59.74678828018986, 58.69939659668663, 56.77340684461562, 54.88521253976035, 53.59145656092438, 52.51846669382196, 51.12716500809212, 49.2678949798462, 47.60717607570805, 46.66741428602552, 45.31504959773512, 42.895719403205725, 42.078847984360415, 41.35122172362278, 40.63232206022408, 39.89006223404918, 38.672230211406784, 37.15137598708372, 36.59264821537504, 36.34777349151884, 36.29007297144414, 35.654052683706816, 35.05637063795518, 34.7885655874572, 34.40977468565204, 34.32285001365288, 34.23532670432618, 34.48986219351074, 34.71150121700902, 35.0629820235761, 34.910187818783065, 35.02336001291628, 35.20272896288515, 35.82997719115183, 35.82525039371305, 35.47235785675382, 35.66051245066915, 35.92107202256459, 36.070047241752256, 35.838564787659514, 36.12436073910676, 35.7259557787666, 36.50720230205416, 36.509081299875504, 36.01479087745098, 35.36973208426704, 35.06930468695127, 34.727690006475, 33.20413966355431, 31.94603036842515, 31.411618722222222, 31.631869100840333, 31.32795141013072, 31.491674578197944, 30.720355754655056, 30.50187770393713, 30.31525091386555, 30.077274925225648, 30.17703682996617, 30.243908692265794, 31.34132037620604, 32.33078625412387, 32.07779101991908, 31.401569506691565, 31.11000867079053, 30.5443076432008, 30.43915386320224, 30.725048240974168, 31.13512280610022, 30.96563149758793, 30.93439926626206, 31.557279228213503, 31.10961384975101, 31.53576246175045, 31.70323704956427, 32.35429677731092, 32.54694870767196, 32.057977512060376, 32.29619608937521, 31.865596893324, 31.251012293650795, 31.46241264744787, 31.29308487643947, 30.321214473155926, 30.11489618222845, 30.563252474867728, 30.98556315735424, 30.27556312814348, 30.16241906185808, 29.60766402588029, 29.35835735262994, 28.995941086212262, 30.37577113912232, 29.916048992452534, 29.728144940476195, 29.74356293177716, 28.652657278089013, 26.263917763538743, 25.523330776377215, 26.360224060457515, 26.69911988118581, 26.414377854415655, 25.52290155034236, 24.50161645035792, 22.595677798630565, 24.23895374066293, 24.58643521321779, 24.262346924369748, 24.278022629162773, 24.23464258364457, 23.99668387013629, 23.950841263227517, 23.80886238468721, 23.4541607219888, 23.583923409041397, 23.32333983644569, 23.26908677832245, 22.974828418460813, 23.344450956427018, 22.830894603935185, 22.7905619160442, 22.964173071662, 23.07462359735799, 23.845640568316217, 24.124320450980395, 24.18875691289326, 24.455284602474325, 24.626330398303768, 24.633118175114767, 24.41079257578587, 23.99278446685341, 24.574858743588543, 24.378151036181137, 24.185006745331464, 23.972486583717195, 23.110318068082787, 22.705006332944286, 22.1392865638033, 22.49766711904762, 22.53765045393713, 22.54989190522876, 22.30147154587159, 22.41702473315437, 22.05471604614068, 22.41000625031124, 22.69278411064426, 22.97273726906318, 23.044599705026453, 23.627242596249616, 24.35937529320534, 24.52309035976025, 24.82063925575786, 25.07713584025833, 25.646450587924058, 26.353340671879863, 26.324419660753183, 26.38019941061443, 26.45754913056334, 26.60714560457517, 26.70387766417678, 26.747553309290385, 25.84988819992376, 26.322156330555558, 26.315893762479504, 26.368263986100736, 26.108516099361967, 25.98677602653284, 26.22856374891067, 26.26393970824969, 25.96143746162125, 25.52694369353297, 25.389925906850426, 25.266855014628074, 24.722659003034547, 24.311457229069404, 23.776992792889573, 23.373458825396828, 22.60020190094927, 22.5317731984127, 21.99819671234049, 21.65472825855898, 21.390612615953422, 21.599597446959624, 21.16857727108621, 21.498010084523813, 21.301282574465063, 21.737155888247614, 28.941519378053144, 30.683325622266835, 30.10672652678386, 30.342811931156216, 31.18028617490149, 32.04195342106439, 32.67427847105948, 33.07506722216928, 34.11548636046872, 35.687232192478085, 36.61099612202504, 38.07003860742663, 31.33421437968978, 31.341021234474702, 32.81750915369659, 33.42009787269247, 33.51584828537921, 34.82027475208247, 35.72584330357143, 36.77830609259513, 36.612629537101874, 37.53986060189562, 37.21786295580454, 37.32792532288749, 38.23609606294741, 38.69930116223156, 40.16258098845251, 43.10860418199503, 43.06576481411453, 42.27689291285403, 41.98435512527233, 41.43259898297542, 40.78623344327731, 39.179202198412696, 39.166901099050726, 39.63499159321506, 38.740876140678495, 38.371520157874265, 36.316609068458895, 34.64305476353875, 34.38826739083412, 34.583611309368194, 34.84495106193589, 34.94191446615313, 35.24561090196078, 35.50791810729848, 35.32929853376906, 34.708683642857146, 35.54792278018985, 38.13360967857143, 37.39278815289448, 37.24195483551199, 38.33855358280034, 38.150463419934646, 37.64831801151572, 37.798801106231856, 36.579282069716776, 36.0713801992686, 35.85510867304699, 38.6449288504513, 38.43794044693433, 37.49687819343293, 38.78656974410468, 38.893579520074695, 39.53655079341736, 42.006981234282605, 43.58947669125428, 44.38410089075631, 45.33721998078121, 47.18701480555556, 48.82210844615559, 49.00227917981638, 50.04410459228136, 50.145150208286, 50.07533922938064, 50.77371721567461, 51.95491781924992, 51.83780849557462, 52.51051064316837, 53.59569798887332, 54.31590329474013, 54.359801736694685, 54.59526468121693, 55.076255975568, 55.8000795112823, 56.32548859165889, 56.29014255656707, 55.74937262854031, 55.1600782142079, 55.6956282491441, 56.7931471765484, 58.51953660029568, 59.29646032189543, 59.64451045961787, 60.49986027380952, 59.758455841036415, 60.0169401769499, 62.47193526369437, 64.25345477961083, 65.15533455578898, 65.29349541370992, 63.76451453789294, 64.03442365678494, 64.20112469600062, 63.68688397354498, 62.68592639166741, 61.23934605555555, 61.507429628384685, 60.02641491493032, 58.71985655851229, 58.28219560776533, 56.74402686002178, 56.995057124183006, 57.21578334088079, 55.3941797858699, 54.460482613834415, 55.056609129863055, 54.87578277863368, 53.24555933394737, 52.35314615639589, 50.83593094771242, 50.02183197984749, 49.624878035636485, 49.62305981286959, 48.56729803127918, 47.76180798784431, 47.79112803353564, 47.216991773965134, 46.41029189711978, 46.79852942966075, 47.79166498918456, 48.452717780112046, 49.6942540208528, 49.40555872556801, 48.37815424891068, 47.99062614534704, 46.90910889908185, 46.78408291993465, 45.860680444911296, 46.16305443627451, 45.89038259228136, 44.38720359158108, 42.63181636935885, 41.63106481668223, 40.51809575778088, 40.82716892436975, 40.37373300163398, 39.972239143868656, 39.838756389044505, 39.55341045432618, 38.70255616970121, 37.55137538951136, 36.3544600645814, 36.52478681100218, 36.3036486171024, 36.49216072704638, 36.07410381290979, 35.92358574782135, 35.989703703937124, 35.706097228446936, 35.48809784111422, 36.08925472922502, 37.54149428252218, 38.18512871872082, 38.52994407874261, 38.9663893914566, 39.1348089309835, 39.20948040206, 38.94065032103952, 38.65833714394647, 38.27459481076876, 37.66037073177979, 36.791864775018354, 36.176603826409234, 34.253947305186685, 33.62910438193321, 33.04709697589838, 31.88685326392779, 31.331123684329285, 31.08102568199502, 30.708833811391223, 30.632624754435103, 30.35980950742947, 30.38994977682636, 30.152671463858443, 29.92257080299406, 29.993215339604525, 29.83656750121216, 30.107286024601763, 31.18444142759658, 30.80441029924385, 30.68309658679184, 30.105453858315308, 29.367361014161222, 30.147412355119823, 30.23743372564581, 30.294253633831307, 30.736016323840648, 30.33779947362278, 30.238448669856837, 29.99853747633183, 28.836513139355745, 28.645005974730918, 28.757488991207595, 28.9120738155929, 29.97955305143168, 29.662877003616185, 29.57024124812287, 29.56932205510067, 29.446095569375284, 29.505650070975246, 29.934819192615294, 29.811716671869483, 29.728058882432567, 29.156978097554266, 29.072683149926, 29.92309394204197, 29.685036386251305, 29.369783741129787, 29.077412506700217, 28.757709143099216, 28.356968827739745, 27.81872714084276, 27.636077187294678, 27.274139675088406, 26.9755682244186, 26.846516654928223, 26.621107724044464, 25.32656001898537, 24.87756408839091, 24.474266545985063, 24.348820924998705, 24.04505455708527, 23.79244593464053, 23.854179590958605, 23.505184995953936, 23.10082746739807, 22.77156258574541, 22.123093134220355, 21.87031804092748, 21.295922551976343, 20.965330042561465, 20.79353702178649, 20.38957380921258, 19.925428181670167, 19.95686806170246, 19.246737766262054, 19.16979782024977, 19.55583878913788, 20.07028337745098, 20.26058436025521, 20.86595349577822, 20.75224879761905, 21.15287445043573, 21.078668310768755, 21.993339466931214, 22.657715618908863, 22.646563256847184, 22.642692663476502, 22.81727716985683, 22.841175586523494, 22.44124780150949, 21.995666380485527, 22.06267161469032, 21.861700284936195, 21.48733536476813, 21.492718399315283, 20.555411660274014, 20.136782106777357, 20.250075441247148, 20.241643933629007, 20.509505761126672, 20.6313757316371, 20.778894685029567, 20.59953656667445, 21.01500586414566, 21.18762231535948, 21.489331384998444, 21.476968823685027, 21.969039700746965, 21.8024728756925, 22.27065682741986, 22.26045610613134, 22.06303080967943, 21.947689870872885, 21.86945254668534, 21.69858373459384, 22.07662584033613, 22.087491632897603, 22.689501820883912, 22.942856237239344, 23.037209333955808, 23.0887938837535, 23.43776733814452, 24.65037444051023, 25.41984600642522, 26.29556289568204, 27.374771511717007, 28.178831560311625, 29.32782085459162, 30.586069889069083, 31.873897776628837, 32.9154709297235], [0.3041666678338002, 0.3044444456893868, 0.3041666678338002, 0.3044444456893868, 0.3044444456893868, 0.3044444456893868, 0.3052777792561469, 0.3050000014005602, 0.3044444456893868, 0.3052777786336756, 0.3044444456893868, 0.3044444456893868, 0.3041666678338002, 0.3033333342670401, 0.3033333342670401, 0.3030555564114535, 0.3027777785558668, 0.3036111121226268, 0.3036111121226268, 0.3036111121226268, 0.3038888899782135, 0.3030555558667911, 0.3033333342670401, 0.3030555564114535, 0.3030555564114535, 0.3033333342670401, 0.3041666678338002, 0.3044444456893868, 0.3055555571117335, 0.3047222235449735, 0.3044444456893868, 0.3047222230781201, 0.3050000014005602, 0.3050000013966699, 0.3052777792561469, 0.3050000014005602, 0.3050000014005602, 0.3058333349673202, 0.3052777792561469, 0.3050000014005602, 0.3041666678338002, 0.3050000014005602, 0.3050000014005602, 0.3061111128177198, 0.3055555571117335, 0.305833334344849, 0.3052777792561469, 0.3055555561002178, 0.3063888906784936, 0.3061111128229069, 0.3058333349673202, 0.3061111128229069, 0.3055555571117335, 0.3047222235449735, 0.3044444456893868, 0.3030555564114535, 0.3030555564114535, 0.30277777855457, 0.3041666678338002, 0.3038888899717296, 0.3030555564114535, 0.3022222228446934, 0.3022222228446934, 0.3022222228446934, 0.3022222228446934, 0.3022222228446934, 0.3022222228446934, 0.3022222228446934, 0.3025000007002801, 0.3033333342670401, 0.3022222228446934, 0.3025000007002801, 0.3027777785558668, 0.3027777785558668, 0.3027777785558668, 0.3025000003112356, 0.3033333342670401, 0.3036111121226268, 0.3036111121226268, 0.3036111121226268, 0.3038888899782135, 0.3030555564114535, 0.3050000014005602, 0.3047222235449735, 0.3052777792561469, 0.3091666692343604, 0.8241668134920634, 0.8241668122802299, 0.8247223692032368, 0.8247223692032368, 0.8263890363367569, 0.8263890363367569, 0.8263888910675381, 0.8275001477591036, 0.8252779249144102, 0.8252779249144102, 0.8244445913476501, 0.8208334792250234, 0.3061111128229069, 0.3061111128229069, 0.3052777792561469, 0.3050000014005602, 0.3030555564114535, 0.3030555557889822, 0.3027777785500313, 0.3016666667444755, 0.3016666671335201, 0.3016666671335201, 0.3025000007002801, 0.3025000000778089, 0.3025000007002801, 0.3025000007002801, 0.3027777785558668, 0.3033333342670401, 0.3036111121226268, 0.3036111121154946, 0.3041666678338002, 0.3044444456809578, 0.3044444456893868, 0.3044444453781512, 0.3038888899782135, 0.3041666678279647, 0.303888889589169, 0.3052777786336756, 0.3055555571117335, 0.3050000014005602, 0.3050000014005602, 0.3058333349673202, 0.3058333344226579, 0.3188888941798942, 0.3188888889666977, 0.31944444552534, 0.3194444498910675, 0.3191666720354808, 0.3205555613036884, 0.3194444489969148, 0.3188888941798942, 0.3188888941798942, 0.3194444498910675, 0.3188888941798942, 0.3183333334111422, 0.3058333349673202, 0.3080555577938588, 0.3077777799454044, 0.307777779956427, 0.3075000021008403, 0.3066666685340803, 0.3063888906739549, 0.3061111128229069, 0.3066666685340803, 0.3058333349673202, 0.3055555571117335, 0.3052777787808645, 0.3050000014005602, 0.3030555564114535, 0.3027777785558668, 0.3025000002334267, 0.3033333342670401, 0.3027777785558668, 0.3030555564114535, 0.3027777785558668, 0.3022222228446934, 0.3022222228446934, 0.3025000007002801, 0.3025000006963897, 0.3025000007002801, 0.3025000007002801, 0.3027777785558668, 0.3027777785526248, 0.3027777785558668, 0.3033333342670401, 0.3036111121226268, 0.3044444456893868, 0.3044444456893868, 0.3044444456893868, 0.3052777792561469, 0.3058333349673202, 0.3061111128229069, 0.3055555571117335, 0.3055555571117335, 0.3083333356676003, 0.3080555578120136, 0.3080555578120136, 0.3083333356676003, 0.307777779956427, 0.3083333356676003, 0.3083333356676003, 0.3075000021008403, 0.3069444463896669, 0.3063888906784936, 0.3066666685340803, 0.3069444463896669, 0.3041666678338002, 0.3038888899782135, 0.3038888899782135, 0.3033333342670401, 0.3033333342670401, 0.3044444456893868, 0.3052777783224401, 0.3055555571117335, 0.3058333349673202, 0.3063888906784936, 0.3069444463896669, 0.3069444463896669, 0.3069444463896669, 0.3066666685340803, 0.3061111128229069, 0.3058333349673202, 0.3055555571117335, 0.3041666678338002, 0.3033333342625014, 0.3030555564114535, 0.3033333342670401, 0.3027777785558668, 0.3022222228446934, 0.3025000007002801, 0.3033333342670401, 0.3041666678338002, 0.3061111128229069, 0.3066666685340803, 0.3066666685340803, 0.3072222242452536, 0.3072222242452536, 0.307777779956427, 0.3080555578120136, 0.3091666692343604, 0.3105555585122938, 0.3105555577342048, 0.3105555576563958, 0.3111111142234671, 0.3094607864145658, 0.3091666692343604, 0.3100000028011204, 0.3102777806567071, 0.3105555585122938, 0.3097222249455337, 0.3097222249455337, 0.3083333356676003, 0.3066946788048553, 0.3063888906720097, 0.3061111128157747, 0.3052777792561469, 0.3047222228446934, 0.3050000014005602, 0.3044444456893868, 0.3038888899782135, 0.3041666678338002, 0.3044444456893868, 0.3047222235449735, 0.3047222235449735, 0.3044444456893868, 0.3041666678338002, 0.3038888899782135, 0.3033333342670401, 0.3033333342631498, 0.3041666678338002, 0.3038888899782135, 0.3036111121226268, 0.3033333342670401, 0.3030555564114535, 0.3019444449891067, 0.3025000007002801, 0.3041666678338002, 0.3047222235449735, 0.3050000014005602, 0.3050000014005602, 0.3052777792561469, 0.3055555571117335, 0.3061111128229069, 0.3063888906784936, 0.3061111128229069, 0.3069444463896669, 0.3080555578120136, 0.3075000021008403, 0.3061111128229069, 0.3058333349673202, 0.3052777785558668, 0.3063888906784936, 0.3061111120448179, 0.3052777792561469, 0.3047222235449735, 0.3041666671335201, 0.3052777792561469, 0.3047222235449735, 0.3036111121226268, 0.3038888899782135, 0.3036111121226268, 0.3036111121226268, 0.3036111121200333, 0.3027777785558668, 0.3030555564088599, 0.3025000007002801, 0.3025000007002801, 0.3027777785519764, 0.3022222228446934, 0.3019444449891067, 0.3025000007002801, 0.3025000007002801, 0.3027777782446312, 0.3030555564114535, 0.3030555564114535, 0.3041666678338002, 0.3050000014005602, 0.3050000014005602, 0.3052777792561469, 0.3075000021008403, 0.3072222242452536, 0.307777779956427, 0.308611113523187, 0.3083333356676003, 0.3080555578029362, 0.3080555578120136, 0.308611113523187, 0.3075000021008403, 0.3066666685340803, 0.3069444463896669, 0.3075000021008403, 0.3052777792561469, 0.3063888901331829, 0.3119444477902272, 0.3105555585122938, 0.3108333363678804, 0.3108333363678804, 0.3105555585122938, 0.3105555585122938, 0.3102777806567071, 0.3102777806567071, 0.3116666699346405, 0.3105789004046063, 0.3105555585122938, 0.3097222249280273, 0.3038888899782135, 0.3044444456893868, 0.3044444456893868, 0.3047222235449735, 0.3047222235449735, 0.3044444456893868, 0.3050000014005602, 0.3055555571117335, 0.3038888899782135, 0.3038888899782135, 0.3041666678338002, 0.3036111115779645, 0.3036111115779645, 0.3036111121226268, 0.3038888899782135, 0.3036111121226268, 0.3033333342670401, 0.3038888899782135, 0.3041666678338002, 0.3066666685340803, 0.3066666685340803, 0.3075000021008403, 0.307777779956427, 0.3083333356559294, 0.3088888913664543, 0.3088888913787737, 0.3083333356676003, 0.308611113523187, 0.3088888913787737, 0.3083590117491441, 0.3080555578120136, 0.3050000014005602, 0.3052777792561469, 0.3047222235449735, 0.3041666678338002, 0.3036111121226268, 0.3030555564114535, 0.3027777785558668, 0.3027777785558668, 0.3030555564114535, 0.3166666713352007, 0.3161111156240274, 0.3169444491907874, 0.3186111163243075, 0.3322222312480548, 0.3325000091036414, 0.3327777869592281, 0.3341666762371615, 0.3338888983815749, 0.3344444540927482, 0.3355555655150949, 0.3352777876595082, 0.3213888948801743, 0.3216666727357609, 0.3211111170245876, 0.3191666720354808, 0.3061111128229069, 0.3058333349673202, 0.3058333349673202, 0.3050000014005602, 0.3058333349673202, 0.3050000014005602, 0.3047222235449735, 0.3050000014005602, 0.3052777792561469, 0.3047222235449735, 0.3055555571117335, 0.3055555571117335, 0.3055555571117335, 0.3058333349673202, 0.3055555571117335, 0.3050000014005602, 0.3052777785558668, 0.3066666685340803, 0.3061111128229069, 0.3055555571117335, 0.3061111128229069, 0.3069444463896669, 0.3061111113445378, 0.307777779956427, 0.308611113523187, 0.3083333356676003, 0.3083333355119825, 0.3091666692343604, 0.3083333356520391, 0.3069444463896669, 0.3066666685340803, 0.307777779956427, 0.3069444463896669, 0.3058706819950202, 0.306944446377996, 0.3058333349673202, 0.3044444456893868, 0.3041666678338002, 0.3041666678299098, 0.3036111121226268, 0.3036111121226268, 0.3036111121226268, 0.3038888899782135, 0.3027777785558668, 0.3027777785558668, 0.3027777785558668, 0.3016666671335201, 0.3016666671335201, 0.3025000007002801, 0.3030555564114535, 0.3033333342670401, 0.3033333342670401, 0.3030555564114535, 0.3033333342670401, 0.3038888899782135, 0.3044444456893868, 0.3055555571117335, 0.3055555571117335, 0.3055555571117335, 0.3050000014005602, 0.3039075628643616, 0.3050000008558979, 0.3050000014005602, 0.3075000021008403, 0.3075000021008403, 0.307777779956427, 0.3072222242452536, 0.3066666685340803, 0.3066666685340803, 0.3066666685340803, 0.3080555578120136, 0.3083333356676003, 0.308055557804233, 0.3066666685237061, 0.3066666685340803, 0.3041666678338002, 0.3044444456893868, 0.3047222235449735, 0.3044444456893868, 0.3044444456893868, 0.3033333342670401, 0.3036111121226268, 0.3027777785558668, 0.3025000007002801, 0.3033333342670401, 0.3033333342670401, 0.3030555564114535, 0.3027777785558668, 0.3025000007002801, 0.3016666671335201, 0.3019444449891067, 0.3019444449891067, 0.3019444449891067, 0.3016666671335201, 0.3019444449891067, 0.30277777832244, 0.3022222228446934, 0.30222222237784, 0.3030555564114535, 0.3033333342670401, 0.3033333342670401, 0.3044444456887384, 0.3044444456893868, 0.3063888906784936, 0.3066666685340803, 0.3069444463896669, 0.3061111128229069, 0.3066666685288932, 0.3080555578120136, 0.3083333356539842, 0.3075000021008403, 0.307777779956427, 0.3088888913787737, 0.3077777786336756, 0.3100000028011204, 0.3088888913787737, 0.3088888913787737, 0.308611113523187, 0.3091666692343604, 0.307777779956427, 0.3063888906784936, 0.3063888906784936, 0.3066666685340803, 0.3066666685340803, 0.3063888906784936, 0.3063888906713614, 0.3041666678338002, 0.3033333342670401, 0.3036111121226268, 0.3036111121226268, 0.3030555564114535, 0.3033333342670401, 0.3030555564114535, 0.3030555564114535, 0.3030555564114535, 0.3044444456893868, 0.3047222235449735, 0.3050000014005602, 0.3052777792561469, 0.3052777792561469, 0.3055555571117335, 0.3069444463896669, 0.3069444463896669, 0.3069444456115779, 0.3075000021008403, 0.3075000021008403, 0.3083333356676003, 0.3075000021008403, 0.306388889589169, 0.3069444463896669, 0.3072222242452536, 0.3072222242452536, 0.3063888906784936, 0.3058333349673202, 0.3091666692343604, 0.3108333342670401, 0.3122222256458138, 0.3119444477902272, 0.3108333363678804, 0.3108333363678804, 0.3108333363639901, 0.3100000028011204, 0.3091666692343604, 0.3091666692343604, 0.3091666692343604, 0.3088888913787737, 0.3058333349673202, 0.3038888899717296, 0.3019444449891067, 0.3022222228446934, 0.3027777785558668, 0.3016666671335201, 0.3016666671335201, 0.3022222228446934, 0.3027777781668223, 0.3033333342670401, 0.3033333342670401, 0.3030555564114535, 0.3033333342670401, 0.3036111121226268, 0.3050000014005602, 0.3047222235449735, 0.3044444456893868, 0.3044444456893868, 0.3044444450669156, 0.3052777792561469, 0.3052777792490146, 0.3047222235449735, 0.3052777787114846, 0.3061111128229069, 0.3061111128229069, 0.3058333341892312, 0.3047222229225023, 0.3058333349673202, 0.3055555571117335, 0.3061111120448179, 0.3069444463818863, 0.3058333341892312, 0.3080555578120136, 0.3083333356676003, 0.3083333356591713, 0.3069654540927482, 0.3080555578120136, 0.3083333356539842, 0.308055557799046, 0.3075000021008403, 0.3077777793339558, 0.3077777799428109, 0.3069444463896669, 0.3069444463857766, 0.3041666678338002, 0.3041666678338002, 0.3038888899782135, 0.3038888899782135, 0.3030555564114535, 0.3030555564114535, 0.3030555564114535, 0.3025000007002801, 0.3022222228414515, 0.3016666671335201, 0.3016666671335201, 0.3013888892779334, 0.3025000007002801, 0.3025000007002801, 0.3022222228446934, 0.3025000007002801, 0.3025000007002801, 0.3027777779333955, 0.3036111121226268, 0.3038888898225957, 0.3044444456893868, 0.3044444456893868, 0.3047222235449735, 0.3050000014005602, 0.3047222235449735, 0.3047222235449735, 0.3052777788671024, 0.3058333338779956, 0.3055555571117335, 0.3069444459104942, 0.3063888906784936, 0.3063888906739549, 0.3061111124338624, 0.3066666672891379, 0.3080555578120136, 0.307777779956427, 0.307777779956427, 0.3077777794117647, 0.3077777799505915, 0.3080555578003427, 0.3080555578120136, 0.3061111128157747, 0.3063888906784936, 0.3061111128229069, 0.3061111128157747, 0.3055555571046013, 0.3055555571117335, 0.3063888906784936, 0.3055555571117335, 0.3088888913632124, 0.3130555592125739, 0.3119444477902272, 0.3116666699346405, 0.3130555592125739, 0.3127777813569872, 0.3133333370681606, 0.3136111149237472, 0.3138888927793339, 0.3125000035014005, 0.3116666699346405, 0.3127777813569872, 0.3097782454870837, 0.3052777792561469, 0.3052777792561469, 0.3058333349673202, 0.3044444456893868, 0.3041666678338002, 0.3044444456893868, 0.3041666678338002, 0.3041666678338002, 0.3041666678338002, 0.3041666678338002, 0.3033333342670401, 0.3030555563336445, 0.3041666678338002, 0.3044444456893868, 0.3050000014005602, 0.3052777792561469, 0.3058333349673202, 0.307777779956427, 0.307777779956427, 0.3075000021008403, 0.3080555578120136, 0.3100000028011204, 0.3100000028011204, 0.309463120586939, 0.309444447089947, 0.309444447089947, 0.3083333349673202, 0.3222222284469343, 0.3216666727357609, 0.3188888941798942, 0.3194444498910675, 0.3197222277466542, 0.3191666667444756, 0.3180555606131341, 0.3177777827575475, 0.3175000049019608, 0.3166666713352007, 0.3163888934796141, 0.3169444491538294, 0.3036111121226268, 0.3036111121226268, 0.3038888899782135, 0.3027941178804855, 0.3027777785558668, 0.3027777785493829, 0.3025000007002801, 0.3027777785558668, 0.3027777785558668, 0.3030555564114535, 0.3036111121226268, 0.3044444456893868, 0.3036111121226268, 0.3036111121226268, 0.3033333342670401, 0.3041666678338002, 0.3047222235449735, 0.3044444456893868, 0.3038888899782135, 0.3041666678338002, 0.3041666678338002, 0.3058333349673202, 0.3052777792561469, 0.3044444456893868, 0.3047222235449735, 0.3050000014005602, 0.3050000014005602, 0.3044444456893868, 0.3038888899782135, 0.3038888899782135, 0.3041666678338002, 0.303888889589169, 0.3047222235449735, 0.3027777785558668, 0.3027777785558668, 0.3030555564114535, 0.3030555564114535, 0.3027777785558668, 0.3030555564114535, 0.3036111121226268, 0.3036111121226268, 0.3036111121226268, 0.3038888899782135, 0.3036111121167913, 0.3030555564114535, 0.3036111121226268, 0.3055555571117335, 0.3047222235449735, 0.3044444456893868, 0.3044444456893868, 0.3041666678338002, 0.3033333342670401, 0.3036111121226268, 0.3036111121226268, 0.3030555564114535, 0.3030555564114535, 0.3036111121226268, 0.3033333342670401, 0.3013888892779334, 0.3019444449891067, 0.3019444449891067, 0.3022222228446934, 0.3022222228446934, 0.3025000007002801, 0.3022222228446934, 0.3030555564114535, 0.3036111121226268, 0.3041666678338002, 0.3033496735916589, 0.3036111121226268, 0.3036111121226268, 0.3033333342670401, 0.3033333342670401, 0.3033333342670401, 0.3041666678338002, 0.3044444456893868, 0.3058333349673202, 0.3050000014005602, 0.3052777792561469, 0.3050000014005602, 0.3058334183006536, 0.3061111961562403, 0.307222307578587, 0.307222307578587, 0.307222307578587, 0.307222307578587, 0.307222307578587, 0.3066667518674136, 0.3055556404450669, 0.3058334183006536, 0.3052778625894802, 0.3050000847338935, 0.3038888899782135, 0.3030718957360722, 0.3025000007002801, 0.3022222228446934, 0.3030555564114535, 0.3027777785558668, 0.3022222228446934, 0.3033333342670401, 0.3030555564114535, 0.3027777785558668, 0.3027777785558668, 0.3030555564114535, 0.3033333342670401, 0.3036111121226268, 0.3041666668222844, 0.3050000014005602, 0.3044444456893868, 0.3047222235449735, 0.3052777792561469, 0.3044444456893868, 0.3044444456893868, 0.3075000021008403, 0.308611113523187, 0.3091666692343604, 0.3091666692343604, 0.3088888896669779, 0.3086111135082741, 0.307777779956427, 0.3075000021008403, 0.3075000021008403, 0.3075000021008403, 0.3077777783224401, 0.308611113523187, 0.3058333349673202, 0.3044444456893868, 0.3038888899782135, 0.3041666678338002, 0.3041666678247228, 0.3036111121226268, 0.3038888899782135, 0.3041666678338002, 0.3044444456893868, 0.3036111121226268, 0.303055556405618, 0.3022222228446934, 0.3019444449891067, 0.3019444449891067, 0.3016666671335201, 0.3013888892779334, 0.3016666671335201, 0.3022222228446934, 0.3019444449891067, 0.3500000140056022, 0.352777792561469, 0.3530555704170557, 0.3530555704170557, 0.3538889039838157, 0.3541666818394024, 0.3544444596949891, 0.3547222375505758, 0.3547222375505758, 0.3544444596949891, 0.3538889039838157, 0.3544444596949891, 0.3027801121226268, 0.3030555557111734, 0.3033333342670401, 0.3033333342670401, 0.3033333342670401, 0.3033333342670401, 0.3033333342670401, 0.3030555564114535, 0.3027777785558668, 0.3027777785558668, 0.3033333342670401, 0.3027777785558668, 0.3030555558667911, 0.3036111121180881, 0.3030555564114535, 0.3030555564114535, 0.3022222228446934, 0.3022222224556489, 0.3027777785558668, 0.3030555564114535, 0.3030555564114535, 0.3016526619981325, 0.3010971062869592, 0.3010971062869592, 0.3008193284268338, 0.3002637727201991, 0.3005415505757858, 0.3013748841425459, 0.3013748841425459, 0.3010971062811237, 0.3008193284313725, 0.3008193278089013, 0.3013748841425459, 0.3027777785558668, 0.3033333342670401, 0.3036111121226268, 0.3038888899782135, 0.3041666678338002, 0.3038888899782135, 0.3038888899782135, 0.3038888899782135, 0.3024859955648926, 0.3019304398537192, 0.3016526619903519, 0.3010971062869592, 0.3010971062869592, 0.3005415505757858, 0.3002637727201991, 0.3002637727201991, 0.3008193284313725, 0.3010971062869592, 0.3002637727201991, 0.3091667528011204, 0.3108333363678804, 0.3111111142234671, 0.3111111142234671, 0.3127777813569872, 0.3150000042016807, 0.3150000042016807, 0.3150000042016807, 0.3150000042016807, 0.3138888927793339, 0.3136111149237472, 0.3138888927793339, 0.3052777792561469, 0.3050000014005602, 0.3052777792561469, 0.3052777792561469, 0.3041666678338002, 0.3019444449891067, 0.3019444449891067, 0.3019444449891067, 0.3016666671335201, 0.3022222228446934, 0.3025000007002801, 0.3022222228446934, 0.3019444449891067, 0.3022222228446934, 0.3016666671335201, 0.3016666671335201, 0.3011111114223467, 0.3011111114223467, 0.3013888892779334, 0.3016666671335201, 0.3016666671335201, 0.3019444449891067, 0.3016666671335201, 0.3016666671335201, 0.3022222228446934, 0.3036111121226268, 0.3036111121226268, 0.3036111121226268, 0.3066666685340803, 0.3066666685340803, 0.3069444463896669, 0.3080555578120136, 0.3083333356676003, 0.3075000021008403, 0.3075000021008403, 0.3075000013227513, 0.3116666699346405, 0.3100000028011204, 0.3100000028011204, 0.3100000028011204, 0.3072222242452536, 0.3072222242452536, 0.3066666685340803, 0.3058333349673202, 0.3055555571117335, 0.3055555571117335, 0.3061111128229069, 0.3061111128105876, 0.3063888906784936, 0.3069444463896669, 0.3072222242452536, 0.3072222242452536, 0.307777779956427, 0.308611113523187, 0.3088888913774769, 0.308611113523187, 0.3088888913787737, 0.3088888913787737, 0.3083333348895113, 0.3088888913787737, 0.3041666678338002, 0.3036111121226268, 0.3036111121226268, 0.3036111121226268, 0.3027777785558668, 0.3025000007002801, 0.3022222228446934, 0.3025000007002801, 0.3038888899782135, 0.3038888899782135, 0.3038888899730264, 0.3030672273576097, 0.3041666678338002, 0.3044444449112978, 0.3047222235449735, 0.3055555571117335, 0.3058333349673202, 0.3052777792561469, 0.3052777792561469, 0.3047222235449735, 0.3030555564114535, 0.3033333342670401, 0.3072222242452536, 0.3075000021008403, 0.3066666685340803, 0.3066666685230577, 0.3061111128229069, 0.3052777792561469, 0.3052777792561469, 0.3052777792561469, 0.3052777792561469, 0.3055555571117335, 0.3058333349673202, 0.3069444463896669, 0.3030555564114535, 0.3027777785558668, 0.3025000007002801, 0.3022222226112667, 0.3030555564114535, 0.3063888906784936, 0.3066666673669467, 0.3072222242452536, 0.3075000021008403, 0.3072222242452536, 0.3072222242452536, 0.3061111123560535, 0.3063888906784936, 0.3063888906784936, 0.3066666685340803, 0.3066666685237061, 0.3061111128229069, 0.3027777785558668, 0.3027777785526248, 0.3022222225334578, 0.3022222228446934, 0.3022222228446934, 0.30194444475568, 0.3030555564069148, 0.3033333342670401, 0.3036111121226268, 0.3041666678338002, 0.3044444449891067, 0.3047222235449735, 0.3052777792561469, 0.3058333349673202, 0.3058333349588912, 0.3058333349673202, 0.3072222233115468, 0.3313888975392956, 0.3308333419701214, 0.3305555633364457, 0.3322222236227824, 0.3319444533924681, 0.331666675527804, 0.331111119825708, 0.3308333419701214, 0.3297222305477746, 0.3305555641145347, 0.3308333419701214, 0.3308333419091731, 0.3066666685334319, 0.3058333338001867, 0.306944446377996, 0.3055555571058981, 0.3052777792561469, 0.3052777792561469, 0.3072222242452536, 0.3075000021008403, 0.307777779956427, 0.3072222242452536, 0.3069444463896669, 0.3055555571117335, 0.3066666685340803, 0.3075000020904661, 0.3061321205259881, 0.3061111128229069, 0.3058333349673202, 0.3063888906784936, 0.3047222235449735, 0.3041666678338002, 0.3041666678338002, 0.3038888896669779, 0.3038888899782135, 0.3038888899782135, 0.3030555564114535, 0.3027777785558668, 0.3027777785558668, 0.3025000007002801, 0.3025000007002801, 0.3022222228446934, 0.3025000007002801, 0.3038888899782135, 0.3036111115001556, 0.3041666674447557, 0.3044444456893868, 0.3047222235449735, 0.3044444456893868, 0.3038888899782135, 0.3036111121226268, 0.3050000014005602, 0.3050000014005602, 0.3061111128229069, 0.3186111163243075, 0.3183333347338935, 0.3186111163139333, 0.3188888941461781, 0.3186111163243075, 0.3186111163243075, 0.3194444498910675, 0.3194444498910675, 0.3255555627139744, 0.324722227902272, 0.3250000070028011, 0.3236111177248677, 0.3108333363678804, 0.3097222249267305, 0.3102777806567071, 0.3100000028011204, 0.3158333377684407, 0.315555559912854, 0.3147222258792406, 0.3161111156240274, 0.3100000028011204, 0.3100000027972301, 0.3097222249455337, 0.3102777806567071, 0.3105555585122938, 0.3111111142234671, 0.3105555585122938, 0.3102777806567071, 0.3047222235449735, 0.3050000014005602, 0.3050000013953731, 0.3050000014005602, 0.3072222236227824, 0.3069444463896669, 0.307500001556178, 0.3077777792561469, 0.3119444477902272, 0.3116666699346405, 0.3116666699346405, 0.3122222256458138, 0.3125000035014005, 0.3122222256458138, 0.3136111149237472, 0.3125000035014005, 0.3102777806392007, 0.3102777806567071, 0.3097222249280273, 0.3094444470737374, 0.3050000014005602, 0.3050000014005602, 0.3047222228446934, 0.3044444453781512, 0.3041666678338002, 0.3080555578120136, 0.3075000021008403, 0.3075000021008403, 0.3075000021008403, 0.3075000021008403, 0.307777779956427, 0.3075000021008403, 0.307777779956427, 0.3075000007002801, 0.3086111135179999, 0.3080555577983975, 0.307777779956427, 0.3038888899782135, 0.3030555564114535, 0.3027777785558668, 0.3030555564114535, 0.3050000014005602, 0.3047222235449735, 0.3050000014005602, 0.3047222235449735, 0.3052777792483662, 0.3052777792561469, 0.3055555571117335, 0.3058333349673202, 0.3058333349673202, 0.3063888906784936, 0.3066666685340803, 0.3066666685340803, 0.3044444454559601, 0.3050000014005602, 0.3047222235449735, 0.3050000014005602, 0.3044444456893868, 0.3041666678338002, 0.3041666678338002, 0.3036111121226268, 0.3038888899782135, 0.3038888899782135, 0.3038888899782135, 0.3036111121226268, 0.3036111121193849, 0.3041666678338002, 0.3038888899782135, 0.3038888899782135, 0.3038888899782135, 0.3033333342670401, 0.3030555559446, 0.3038888899782135, 0.3036111121226268, 0.3033333342670401, 0.3036111121226268, 0.3041666678338002, 0.3047222235449735, 0.3036111121226268, 0.3036111121226268, 0.3030555564114535, 0.3030555564114535, 0.3041666678338002, 0.3044444456848481, 0.3041666678338002, 0.3044444456893868, 0.3050000014005602, 0.3047222235449735, 0.3050000014005602, 0.3052777792561469, 0.3075000021008403, 0.3088888913787737, 0.3088888913787737, 0.3100000028011204, 0.308611113523187, 0.308611113523187, 0.3083730168845315, 0.3083333356676003, 0.3091666692343604, 0.309444447089947, 0.3088888913787737, 0.3080788997043261, 0.3061111128229069, 0.3055555571117335, 0.3066666685340803, 0.3069444457671957, 0.3075000021008403, 0.307777779956427, 0.3075000021008403, 0.3080555578120136, 0.3080835680827886, 0.3083333356676003, 0.3083333356676003, 0.3083333356676003, 0.3083333356676003, 0.307777779956427, 0.3069444463896669, 0.3058333349582428, 0.3052777792561469, 0.3052777787892934, 0.3052777792561469, 0.3050000014005602, 0.3030555564114535, 0.3030555564114535, 0.3033333342670401, 0.3036111121226268, 0.3036111121226268, 0.3036111121226268, 0.3050000014005602, 0.3061111128229069, 0.3072222242452536, 0.3072222242329343, 0.3069444463896669, 0.3072222242452536, 0.3075000021008403, 0.307777779956427, 0.307777779956427, 0.3091666692343604, 0.3108333363678804, 0.3113888920790538, 0.3097222249455337, 0.3083333356676003, 0.3072222242290514, 0.3066666685340803, 0.3072222242452536, 0.3069444463896669, 0.3066666685340803, 0.3066666685340803, 0.3063888906784936, 0.3047222235449735, 0.3038888899782135, 0.3041666678338002, 0.3047222235449735, 0.3052777792561469, 0.3058333349673202, 0.3069444463896669, 0.3066666685340803, 0.3063888906784936, 0.3066666685340803, 0.3061111128229069, 0.3058333349673202, 0.3055555571117335, 0.3047222235449735, 0.3036111121226268, 0.3030555564114535, 0.3022362279800809, 0.3019444449891067, 0.3011111114223467, 0.30083333356676, 0.30083333356676, 0.30083333356676, 0.30083333356676, 0.30083333356676, 0.30083333356676, 0.30083333356676, 0.3013888889666978, 0.3025000007002801, 0.3030555564114535, 0.3038888899782135, 0.3041666678338002, 0.3050000014005602, 0.3055555571117335, 0.3055555571117335, 0.3066666685340803, 0.3080555578120136, 0.308611113523187, 0.3088888913787737, 0.3086111135134612, 0.3080555578120136, 0.307777779956427, 0.3069444463896669, 0.3066666685340803, 0.3061111128229069, 0.3058333349673202, 0.3061111128229069, 0.3050000014005602, 0.303067226965296, 0.3038888899782135, 0.3041666672891379, 0.3052777792561469, 0.3047222235449735, 0.3052777792561469, 0.3061111128229069, 0.306417139273977, 0.3061111128229069, 0.3066666685340803, 0.3063888906784936, 0.3066666685340803, 0.3069444463838315, 0.3072222242452536, 0.3066666671296297, 0.3058333349673202, 0.3061111128229069, 0.3052777792561469, 0.304444445533769, 0.3050000014005602, 0.3058333349673202, 0.3058333349673202, 0.3066666685340803, 0.3063888906784936, 0.3061111128229069, 0.3058333349673202, 0.3061370073629312, 0.3058333349673202, 0.306111111967009, 0.3069444463896669, 0.3077777799454044, 0.3072222242452536, 0.3075000021008403, 0.3069444463896669, 0.3063888906784936, 0.3063888906784936, 0.3069444463896669, 0.3066666685340803, 0.3066666685340803, 0.3075000021008403, 0.3075000020937081, 0.3072222242452536, 0.3063888906784936, 0.3072222242452536, 0.3061111128229069, 0.3063888906784936, 0.3058333349673202, 0.3055555571117335, 0.3050000014005602, 0.3044444456893868, 0.3041666678338002, 0.3030555564114535, 0.3033380026455026, 0.3033333342670401, 0.3036111121226268, 0.3030555564114535, 0.3030555564114535, 0.3025211871468926, 0.3027777785558668, 0.3027777785558668, 0.3047222235449735, 0.3047222235449735, 0.3061111128229069, 0.3066666685340803, 0.3063888906784936, 0.3069444463896669, 0.3072222242452536, 0.3063888906784936, 0.3066666680672268, 0.3069444463896669, 0.3072222242452536, 0.3080555578120136, 0.3069750490347739, 0.3080555578120136, 0.3069444463969203, 0.3066666674447557, 0.3072222234671646, 0.3069444463896669, 0.3069444463896669, 0.3080555578120136, 0.3086111125000004, 0.3091666692343604, 0.3091666692343604, 0.3100000028011204, 0.309444447089947, 0.309444447089947, 0.3091666692468889, 0.3091666692246346, 0.3086440702068951, 0.3091666692343604, 0.3086111122782446, 0.3051828343612299, 0.3083333356578746, 0.3088888913787737, 0.3084133720096325, 0.3034938586802538, 0.3072222242452536, 0.3063888906784936, 0.3069444463896669, 0.3049859962651727, 0.3006980902723251, 0.3033050861463229, 0.3007983207256978, 0.2996872091503268, 0.3002427650171179, 0.2988538753501401, 0.2991316535947712, 0.2994117854954428, 0.2996872093059446, 0.3002427650171179, 0.2996872093059446, 0.3019234365079365, 0.3022012151416122, 0.3050000014005602, 0.3063888906784936, 0.3069444463786444, 0.3063888906784936, 0.306666667989418, 0.3063888906784936, 0.3058333349673202, 0.3052777781668223, 0.3047222235449735, 0.3050000014005602, 0.3050000010037351, 0.3055555571117335, 0.3058333349673202, 0.3044444456893868, 0.3038888899782135, 0.3036111121226268, 0.3036111121187365, 0.3047222235449735, 0.3055555571117335, 0.3055555571052497, 0.3052777792561469, 0.3049929980547775, 0.3036088007754876, 0.3022245570339247, 0.3027637734204793, 0.3027637734204793, 0.3024859955648926, 0.3027637734204793, 0.3024859955648926, 0.3013843003410403, 0.3005415505757858, 0.301082862912585, 0.2988538757391846, 0.299444527854334, 0.3005345480370122, 0.2965457595561333, 0.2999789922969187, 0.3002567701525054, 0.3002567701525054, 0.3002567701525054, 0.3005345480080921, 0.3002567701525054, 0.3005345480080921, 0.3025000006963897, 0.3022222228446934, 0.3019444449891067, 0.3022222228446934, 0.3027777785558668, 0.3027777785558668, 0.3030555564114535, 0.3033333342670401, 0.30333333356676, 0.3033333342670401, 0.3033333342670401, 0.3030555564114535, 0.3036111121226268, 0.3041666678338002, 0.3038888899782135, 0.303888889589169, 0.3036111121226268, 0.3038888899782135, 0.3038888899782135, 0.3047222235449735, 0.3047222230781201, 0.3055555571117335, 0.3055555571117335, 0.3055555571117335, 0.3050000014005602, 0.3047222235449735, 0.3047222235449735, 0.3047222235391381, 0.3047222235449735, 0.3055555571117335, 0.3047315603012501, 0.3044444456893868, 0.305277778400249, 0.3061111128229069, 0.3061111128229069, 0.3063888906784936, 0.3069444457671957, 0.308611113523187, 0.3088888913787737, 0.308611113523187, 0.3083333356676003, 0.3075000021008403, 0.3075000021008403, 0.3075000021008403, 0.3066666685275964, 0.3052777792561469, 0.3055555571117335, 0.3055555571117335, 0.3058333349562976, 0.3038888897447868, 0.3038888899782135, 0.3038888899782135, 0.3036111121226268, 0.3036111121226268, 0.3038888899782135, 0.3033333337223778, 0.3038888896669779, 0.3047222235449735, 0.3055555571117335, 0.3055555571117335, 0.3050000014005602, 0.3050000013940763, 0.3047222235449735, 0.3050000014005602, 0.3050000007002801, 0.3063888906784936, 0.3069444463896669, 0.3080555577996943, 0.3077777799499431, 0.3069444463896669, 0.3058333349673202, 0.3058333349673202, 0.3055555571117335, 0.3066666685340803, 0.3075000021008403, 0.3069444463896669, 0.3083333356546326, 0.308611113523187, 0.3083636801276065, 0.3080555578120136, 0.3075000007002801, 0.307777779956427, 0.307777779956427, 0.307777779956427, 0.307777779956427, 0.3072222242452536, 0.3063888906784936, 0.3072222242452536, 0.3066666685340803, 0.3047222235449735, 0.3038888899782135, 0.3041666672891379, 0.3175000048967736, 0.3166666713352007, 0.3180555606131341, 0.3180555606131341, 0.3186111163243075, 0.3186111163243075, 0.3191666720354808, 0.3181792726423902, 0.3188888941798942, 0.3188888941798942, 0.3188888941798942, 0.3180555605800664, 0.3050000014005602, 0.3050000014005602, 0.3041666678338002, 0.3038888899782135, 0.3030718957360722, 0.3041666678338002, 0.3052777792561469, 0.3052777792561469, 0.3041666678338002, 0.3044444451447246, 0.3052777792561469, 0.3052777792561469, 0.3055555564114534, 0.3061111128229069, 0.3058333349673202, 0.3061111128229069, 0.3061111128229069, 0.3050210091036414, 0.3039052293028322, 0.3050000014005602, 0.3050000014005602, 0.3047222235397864, 0.3038888899782135, 0.3038888899782135, 0.3036111116512347, 0.3033333342670401, 0.3030555564114535, 0.3027777785558668, 0.3038888899782135, 0.3033333342670401, 0.3036111118892001, 0.3033333342670401, 0.3033333341892312, 0.3038888899782135, 0.3038888893557422, 0.3047222235449735, 0.304444445682903, 0.3047222235449735, 0.3047222235449735, 0.3047222235449735, 0.303888889589169, 0.3041666678338002, 0.3038888894335512, 0.3033333342670401, 0.3033333337995383, 0.3036111121226268, 0.3036111121200333, 0.3033333342670401, 0.3038888899782135, 0.3036111121226268, 0.3044444456893868, 0.3047222235449735, 0.3044444456809578, 0.3044444456893868, 0.3063888906648775, 0.3063888906784936, 0.3066666685198158, 0.3058333349673202, 0.3058333349673202, 0.3052777792561469, 0.3047222235449735, 0.3047222235449735, 0.3038888899782135, 0.3036111121226268, 0.3038888899782135, 0.3038888899782135, 0.3022222228446934, 0.3019444449891067, 0.3019444449891067, 0.3019444449891067, 0.3033333342670401, 0.3033333342670401, 0.3033333342670401, 0.3036111121226268, 0.3041666678338002, 0.3044444456893868, 0.3044444453003423, 0.3047222235449735, 0.3038888899782135, 0.3041666678338002, 0.3080555578120136, 0.3080555578120136, 0.3069444463896669, 0.3075000021008403, 0.3080555578120136, 0.3083333356676003, 0.307777779956427, 0.307777779956427, 0.3075000020975983, 0.3072222242452536, 0.3080555578120136, 0.3080555578120136, 0.3038888899782135, 0.3041666678338002, 0.3041666678338002, 0.3039028951136009, 0.3038888899782135, 0.3030555559446, 0.3033333342670401, 0.3033333342670401, 0.3033333342670401, 0.3033333342670401, 0.3025000007002801, 0.3030555564114535, 0.3033333342670401, 0.3033333342670401, 0.3030555564114535, 0.3025000007002801, 0.3030555564114535, 0.3038888899736748, 0.3041666672113289, 0.3047222235449735, 0.3055555571117335, 0.3058333349673202, 0.3058333349673202, 0.3052777792561469, 0.3052777792561469, 0.3052777792561469, 0.3058333349673202, 0.3063888906784936, 0.3063888906784936, 0.3055555571117335, 0.3058333349569461, 0.3052777792561469, 0.3047222224556489, 0.3044444454559601, 0.3061111128229069, 0.3063888906784936, 0.3066666685340803, 0.3066666685340803, 0.3069444463896669, 0.3066666685340803, 0.3061111128229069, 0.3066666685340803, 0.3058333349673202, 0.3058333349673202, 0.3055555571026561, 0.3055555571078432, 0.3050000014005602, 0.3047222235449735, 0.3047222235449735, 0.3044444456893868, 0.3038888899782135, 0.3036111121226268, 0.3033333342670401, 0.3027777785558668, 0.3033333342670401, 0.3033333342670401, 0.3036111121226268, 0.3036111121226268, 0.3025000003890445, 0.3030555564114535, 0.3027777785558668, 0.3036111121226268, 0.3033333342670401, 0.3033333342670401, 0.3036111121226268, 0.3038888899782135, 0.3036251172580143, 0.3050000014005602, 0.3061111128222585, 0.3061111128229069, 0.3063888906733065, 0.3058333349673202, 0.3063888906784936, 0.3055555571117335, 0.3055555571117335, 0.3055555567226891, 0.3058333345004668, 0.3088888913787737, 0.3088888913787737, 0.3075000021008403, 0.3063888906784936, 0.3061111128229069, 0.3058333336445689, 0.3061111128229069, 0.3052777779333955, 0.3058333349673202, 0.3061111128229069, 0.3061111128099392, 0.3055555571000626, 0.3025163400248988, 0.3022222228446934, 0.3025000007002801, 0.3027777785558668, 0.3027777785558668, 0.3030555564069148, 0.3025000007002801, 0.3027777785519764, 0.3027777785558668, 0.302777778400249, 0.3033333342670401, 0.3038888899782135, 0.3033333337223778, 0.3041666678338002, 0.3041666678338002, 0.3038888899782135, 0.3038888899782135, 0.3038888899782135, 0.3038888899782135, 0.3041666678338002, 0.3041666674447557, 0.3052777792503114, 0.3052777792561469, 0.3047222235449735, 0.3063888906733065, 0.3058333349673202, 0.3055555571117335, 0.3058333349673202, 0.3066666685340803, 0.3063888906784936, 0.3069444463896669, 0.3066665826330767, 0.287130284016575, 0.2607392895386114, 0.2351856678674326, 0.2101916094212593, 0.1832407416441646, 0.1582486246637518, 0.1332597355889246, 0.1077138888729649, 0.0818922304286509, 0.0569383453060783, 0.0315022553005243, 0.0070833333333333, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null], [23.5380183401319, 23.357389521319643, 23.268815843137254, 22.939981505202173, 22.996245802638374, 22.699379477591037, 22.408662835595024, 22.44233507990456, 22.333434807111733, 22.45897141946779, 22.590059841036418, 22.370803333634843, 22.669486841503268, 22.68431266036415, 22.679063174214136, 22.62941452521008, 22.55303372307812, 22.65384490771864, 22.802425746709982, 22.712746643596976, 22.633444334811703, 22.679587484827263, 22.62004810980752, 22.712770955648924, 22.762745589402424, 22.85147217203548, 22.916579507314037, 22.94861878683344, 22.99272562869592, 22.71592924424214, 22.81342714122316, 22.870515024150198, 22.64111452387696, 22.53646207111733, 22.510248946331323, 22.010107820339243, 21.755539639974323, 21.726422588546534, 21.66771345168068, 21.424629156515557, 21.4263688749611, 21.050695769763458, 20.90810005882353, 21.25219285996084, 21.57149520953937, 21.976669171101776, 22.246579404531747, 22.448062868034807, 22.94867519374417, 23.5721960210084, 23.919154378546192, 24.477692797973106, 24.79518195525988, 25.10085551027077, 25.69641630411156, 25.71758411196701, 25.75792717164644, 25.69652360297061, 25.611118236073505, 25.58443107632729, 25.669725095860564, 25.460733824628548, 25.54820920927288, 25.65333729292848, 25.63332868938687, 25.85339895510426, 25.92640307812013, 25.746692294658423, 25.45574660559317, 25.17043806279633, 25.12878585192966, 24.84361623700591, 24.80908047167756, 24.33571772822907, 23.77061940522876, 23.081060208450044, 22.493803625739183, 21.878690570022176, 21.39632862605042, 21.21742170829443, 21.073229397992527, 20.89701463671024, 20.75460192802677, 20.353375725334576, 20.10321906146903, 20.28154596475257, 20.30491459103641, 20.312138141845622, 20.336380266651105, 20.142346113600997, 20.68567511546841, 20.910434990740743, 20.98910938849985, 20.969556684484903, 20.79332752545, 20.89112146444133, 22.335794238250852, 22.116593141456583, 22.119578903609696, 22.08159250015562, 22.02791454537232, 21.664176310301897, 23.095859092203547, 22.942781495720517, 22.692517713507623, 24.559265908583622, 24.51947902342048, 24.056622472398587, 22.84061954723, 22.550535869358857, 22.703644710625458, 22.648496535394862, 22.61937962733128, 22.10225179461264, 20.40052253034547, 20.359891007547464, 20.14185205298786, 18.631811785239652, 18.56967359220355, 18.488947602941177, 18.30373283348895, 18.58923011565905, 18.25853676758481, 18.25961324591568, 18.241951792561476, 18.306407954248364, 18.28049983636788, 18.21945878890445, 18.179750365079368, 18.13254279380641, 18.133614158318423, 17.93504236896981, 18.035525499688763, 18.125308422474223, 18.10648723186469, 18.187979237628383, 18.176991455493308, 18.12550433138811, 18.13060021016184, 18.212124449502024, 18.26542965678493, 18.27258185239652, 18.268681461470976, 18.364941978991595, 18.35538757461873, 18.383851936322504, 18.520478922346715, 18.673854313414253, 18.362434994086524, 17.87490234749455, 17.524001122565885, 17.19599519810146, 16.79216718215064, 16.49146203446286, 16.11119085702874, 15.627603070961715, 15.2486277237784, 14.987001350762526, 14.513047167989418, 14.06655023583878, 14.046745162854034, 14.051653019452225, 13.95965954956427, 14.073323201213816, 14.100887742997198, 14.006102694366636, 14.236953042405853, 14.11762613488173, 14.320747622938065, 14.23603012877373, 14.285566500778089, 14.394144748910676, 14.447431386632427, 14.434204312402738, 14.552301896669778, 14.487218274343162, 14.325420838624336, 14.70786117454104, 14.700872174421647, 14.62725057089948, 14.5623320235663, 14.727128170937515, 14.810937544216682, 14.747120274090834, 14.770982114047102, 14.743777250464916, 14.863214512142283, 14.915178866676404, 14.93542192419045, 14.66129796540488, 14.53961395624546, 14.585254813114988, 14.793382767165864, 14.707064435232342, 14.657898246558313, 14.670830278341526, 14.90126203850676, 15.182455803503744, 15.249143412965587, 15.422646617902238, 15.682693169324258, 16.11770265655564, 16.22737584500467, 16.310658708527853, 16.10942382998755, 16.086082803218048, 16.097402946700903, 16.158329731990484, 15.91465320245876, 15.606333325241208, 15.65168806940554, 15.690033667832502, 15.351345517351383, 15.181956768829751, 15.11488973319328, 15.014514937752878, 15.138935713585433, 15.255125583800188, 15.292739641145351, 15.283616820432618, 15.3121934484127, 15.209442576875194, 15.234288202769996, 15.367389554077189, 15.608283671101775, 15.65037047798008, 15.748611801198257, 15.666489788048551, 15.634720408418923, 15.722823828820417, 15.856227513998476, 15.851952499704977, 15.81813197821351, 15.881134943666355, 16.022462759553495, 16.24930649992219, 16.216596108309993, 16.341427296918766, 16.428713335823222, 16.726282052754435, 16.90609522812917, 17.086054701680673, 17.181453901571743, 17.32003973661687, 17.57861600163399, 17.66100656254929, 17.770233596402633, 17.902827021164025, 18.08648486749144, 18.185649218005636, 18.25778711352319, 18.44743280431061, 19.00402675302353, 19.12364136445689, 19.197957730859013, 19.71734901182696, 19.73784851890756, 20.00539731707127, 20.21353681838685, 20.343007430594454, 20.31462740795207, 20.367451887383304, 20.25838330111915, 19.888149152272018, 19.51655504455598, 19.43437270104006, 19.246188311749798, 18.80838049533082, 18.65011762254902, 18.17960326591711, 17.99144761249482, 17.605551878462496, 17.31277784858388, 17.07573986929347, 16.952691105353253, 16.68973164363523, 16.46723638886036, 16.4001211826953, 16.388064407329598, 16.158787966153128, 16.05646768143075, 16.041384371459692, 15.888641795751631, 15.9820489891742, 16.154138443043887, 16.187154278887203, 16.23073604590725, 16.559701584138008, 16.615966479675016, 16.815095568172275, 16.94080506162011, 17.00885385410831, 17.061869551602232, 16.95623051984127, 16.977903966075317, 17.158768259726113, 17.400108132664176, 17.490046855119825, 17.637251957961155, 17.555273477746653, 17.597348444288826, 17.59259585200747, 17.454516961251166, 17.571125293028324, 17.737740396348816, 17.68277330088842, 17.914913797057526, 18.004005902255813, 17.778541111033306, 17.89732513319652, 17.78952148941799, 17.78428611321195, 17.87053722961407, 17.867873678182384, 17.92304416511049, 17.870035212712033, 17.749216561157795, 17.624031465841902, 17.38565835823218, 17.528228342433092, 17.440180393090568, 17.38462654660753, 17.459318554809894, 17.327806167247644, 17.364843766585622, 17.708286815336788, 17.69510033442266, 18.102456000389047, 18.360619000233427, 18.62061647321817, 18.53646162970744, 18.39960127684407, 18.33426730835668, 18.34132161126673, 18.30117914254591, 18.18595014028945, 18.108857195689385, 17.94182776188856, 17.882552126261153, 17.498861851462806, 17.31118588655462, 17.262173602318704, 17.332729128618112, 17.476356160441956, 17.610819536959234, 17.709505306644882, 17.89875579551821, 18.08575191192032, 18.15150605796763, 18.268247038671024, 18.40576131395892, 18.48681876268285, 18.48748637636166, 18.494932483737937, 18.415324918322053, 18.323856481325866, 18.067712628953345, 17.995350379785247, 17.73382095883909, 17.47570275132275, 17.196746167444754, 16.98342868962029, 16.746042108699033, 16.56622768277311, 16.763064502645502, 16.748634596638656, 16.63218734850218, 16.668515341736697, 16.83468926268285, 16.60361253944911, 16.49576991557734, 16.367336997121072, 16.407808456582632, 16.443274589713663, 16.431773051509495, 16.357105079598508, 15.960161715608466, 15.532273992296918, 15.405201168767508, 15.32857242981637, 15.080412575708062, 15.117235484827267, 15.075769528478055, 15.214762324835306, 15.233233121107617, 15.268792413151656, 15.323713103096797, 15.411859800964832, 15.491320551820726, 15.50156891853408, 15.657245932461873, 16.037697941954562, 16.18358741044196, 16.327049333800186, 16.4382793059446, 16.222192004979767, 16.15897777902272, 16.35899126906318, 16.359995006691566, 16.398141747821352, 16.415319483660134, 16.42486235496421, 16.46069121537504, 16.25301027754435, 16.263064477201993, 16.30130925160611, 16.309761631497043, 16.553300446234047, 16.753396205536102, 16.53175989021164, 16.530653445611577, 16.64148681037971, 16.626981524743883, 16.589159809757234, 16.555616581543728, 16.605513397759108, 16.49376736181139, 16.414845774581778, 16.38477325793651, 16.098048617569248, 16.00685134765017, 16.147880248210395, 16.07243542328042, 15.949752117413633, 15.895809612900717, 15.845030626283846, 15.798681201503008, 15.708337692187987, 15.740517860934098, 15.70106873669468, 15.668237198332946, 15.574192549253032, 15.5762932456427, 15.598230177481456, 15.475027449346406, 15.329474129162776, 15.20755320059135, 15.02337795883909, 14.856881687830688, 14.800158133597884, 14.676238707205105, 14.523068076719577, 14.372478281045751, 14.23572152482104, 14.091333161764704, 13.983261682850918, 13.919345517195769, 13.970192722689076, 13.96204381512605, 13.925219717942731, 13.957866781355042, 13.999492568646255, 14.026570139511362, 14.266999670712728, 14.28331145277, 14.326989089324618, 14.28333341239496, 14.257534272408964, 14.265251287970749, 14.264735489417989, 14.38977987457205, 14.44960339659197, 14.72227147852474, 15.190015611500158, 15.29631024844382, 15.34170125225646, 15.70254624657641, 15.900600192265795, 16.078305558979146, 16.20625324704326, 16.282555754643248, 16.55926440328354, 16.63820226898537, 16.83791170821662, 16.79594317849362, 16.62160344794455, 16.444070609514394, 16.595334565613655, 16.52284525356754, 16.627385790194133, 16.7096849440554, 16.920282486539058, 17.0871451765484, 17.10628149782135, 17.17643791713352, 17.251898052054155, 17.228385055399936, 17.34684185846561, 17.501953896317048, 17.41022964345692, 17.53887022019919, 17.527780333333332, 17.564475056116432, 17.484418878073452, 17.670315287442293, 17.715000091503267, 17.767481420483843, 17.385861664346667, 17.28300920175848, 17.354383810535325, 17.183667980469966, 17.21065109508248, 16.836047765639588, 16.593391837223777, 16.43154094498327, 16.33026126276066, 16.05002602699969, 15.854347360799876, 15.65768996661998, 15.908867967475878, 16.21265203244631, 16.40871126397578, 16.802233848039215, 17.21387256232493, 17.760004925925926, 18.091620407670664, 18.321536422502334, 18.63568407648615, 19.06129753384623, 19.45184686048864, 19.63656205291005, 19.170878241907875, 18.81436071576408, 18.8610858517721, 18.60751020222533, 18.26490919667868, 18.12257552636296, 17.80618395518207, 17.770175381886087, 17.533027661404198, 17.039514138499843, 16.505524814737004, 16.283297895238743, 16.262427221988798, 16.31440729170557, 16.01516668681917, 15.75962980804544, 15.493819566249748, 15.213378437752878, 14.986890931216932, 14.830084391767818, 14.833579924387903, 14.793638446156242, 15.005158193277314, 15.106229585589796, 15.233914898413348, 15.370112357939758, 15.463683047852475, 15.504992512293803, 15.65540111118892, 15.623650404917525, 15.672234331076874, 15.713324427170868, 15.718456442421417, 15.720986784906122, 15.718636167055712, 15.980424228291318, 16.081624907878965, 16.189542877139743, 16.43556233006536, 16.799343763927794, 17.073323933162154, 17.464446945066914, 17.540796137021474, 18.02229239363329, 18.783845007236227, 19.079122683913013, 19.49527611087769, 19.49080831100218, 19.3657800716432, 19.258387184546507, 19.161699904057738, 18.816074241818395, 18.492381250904536, 18.2132075052132, 18.013202938141923, 17.59339441977902, 16.952225294117646, 16.645698685574228, 16.426447992452538, 16.185509553524746, 16.034614943030917, 16.061536107998755, 16.041243663665192, 15.973529078275751, 15.87049923023654, 15.79696272167756, 15.631083239573607, 15.61086867421413, 15.60190184765017, 15.598449481321325, 15.281514421646436, 15.252354750544663, 15.260527859632742, 15.17468260838261, 15.146512106598196, 15.223998096794274, 15.405678846483038, 15.55718201563959, 15.540000150404603, 15.648576232570806, 15.681943963040773, 15.689588109554936, 15.841787773415296, 15.863568794195457, 15.770082041238716, 15.666877124727668, 15.698178742608157, 15.52973950638033, 15.502035111733582, 15.350377711251168, 15.2534293872549, 15.266351903906006, 15.369261936274508, 15.370354327419856, 15.2448982167756, 15.401166447868036, 15.69966655454404, 15.915310553843758, 16.025316962651726, 16.06788725645814, 16.215090867798786, 16.27575127692188, 16.415747072664434, 17.018253178182384, 17.579675651416125, 17.874797216308746, 17.983604235371928, 18.038664217705417, 17.81946106792717, 17.72104587029256, 17.720140212418304, 17.955100419545598, 18.17699617421413, 18.358543802832244, 18.46426952823231, 17.97209392704897, 17.347124329520696, 17.122266661220046, 17.226095762371614, 17.047886897447867, 16.892108213585434, 16.89628894459163, 17.117297000903886, 17.097333707127298, 16.96330754368817, 16.74745190367258, 16.521907270852786, 16.486627158418923, 16.54433461554622, 16.560123625661376, 16.405139625038906, 16.445968278925466, 16.41913883818926, 16.37867191503268, 16.124678843837533, 15.850716126053094, 15.700221195110364, 15.644768581310304, 15.383749028166822, 15.381445071661997, 15.42852657217554, 15.402644225044098, 15.306971930438843, 15.247184396578303, 15.155835788281978, 15.09680705096483, 15.171052052365392, 15.156939044743364, 15.087128324385311, 15.078769304466231, 15.245403994475568, 15.09664813165266, 15.023963047209904, 14.921898091581076, 14.90503534827264, 14.799453180886244, 14.612612183933113, 14.6335318881108, 14.654716868164492, 14.669292094070965, 14.628372172424529, 14.651516459433036, 14.57599940429505, 14.61908511476813, 14.634093605119826, 14.661315901493932, 14.743281144491128, 14.746098770697168, 14.685177694833488, 14.715621075241208, 14.849053739651415, 15.087798063881106, 15.031143191487706, 14.966673118419315, 14.852241003321147, 14.798060576019296, 14.809123853572151, 14.78178251034858, 14.692882133286648, 14.714686606131345, 14.773534400051224, 14.684698969032056, 14.556985788631472, 14.288122514628071, 14.397044112433862, 14.498141245876129, 14.49291818899782, 14.55601103540305, 14.846110553861926, 14.872555210862124, 14.935489406419237, 14.915281927637723, 14.893522753112354, 14.906459278478057, 14.938517171179583, 14.985734556956116, 14.96522821747588, 14.872723499968878, 14.7573953208061, 14.94340373288204, 14.974221368191722, 14.955251352163089, 15.010074089480238, 15.133965365234983, 15.145560598895113, 15.13371421514161, 15.198239478745208, 15.202585877217556, 15.240113241752256, 15.231768818082788, 15.211956453392467, 15.040068073840644, 14.992051262994089, 15.150281953544845, 15.132146783769066, 15.18906319460006, 15.248798036336757, 15.361340027310924, 15.524170984360412, 15.568458730092308, 15.846225197556802, 16.02682505111526, 16.098830719576718, 16.2378574851385, 16.261857628929352, 16.27128128898226, 16.377957321505736, 16.420174827030813, 16.43854125427949, 16.70003072222222, 17.005910062636165, 17.16557732340492, 17.450308223609166, 17.731914029333957, 17.97672074618736, 18.390474329598504, 18.681141910997, 18.791725573218176, 18.86769657928727, 19.04945197799241, 19.26416916744476, 19.13361162198231, 19.110714848817302, 19.207346530189856, 19.20047976976346, 19.51423327940074, 19.404806922107404, 19.47906406792586, 19.69812580376595, 19.90092931862745, 20.109514775443508, 20.425586313025214, 21.021242071739803, 21.74920241635543, 22.235264738717717, 22.64040728018985, 23.26668901976346, 23.795178825630256, 24.709016013600348, 25.43833229502801, 26.11786167186949, 27.059839071039526, 27.993205348751825, 28.749416867413636, 29.06173681926937, 29.773258652269423, 30.83644144459812, 31.410011961981013, 31.769994183938945, 31.989966322572364, 32.26142645778769, 32.55679153060397, 32.973689854745565, 33.189262064120896, 33.20240304901961, 33.20557410768752, 33.19889843767507, 33.17716680711173, 32.78121077163088, 32.564355257080614, 32.93027923700591, 33.04148810473078, 32.8951078523187, 32.99450799545013, 32.81374304371628, 32.431658634220355, 32.400403036414566, 32.252340595980925, 32.065691096137435, 31.650745222839504, 31.720269744786805, 31.823880807166848, 31.440519081777158, 31.224602276221603, 30.937058920400844, 30.772138255291004, 30.726599846716464, 30.595636272752625, 30.558166609477126, 30.479116560036704, 30.28330779853053, 30.33163456255836, 30.615915914721445, 30.588359963641203, 30.498406957127298, 30.516700230536102, 30.505268656073632, 30.32789038873327, 30.277979428493623, 30.400465487239344, 30.24150334866168, 30.27733797798008, 30.29594105582984, 30.06757021179583, 29.804676327108627, 29.45662338087457, 29.214162956642937, 28.70042566549953, 28.237357791549957, 28.11168589090609, 27.82013086881419, 27.53702039017598, 27.3451365445845, 27.485485942265804, 27.65553461348558, 28.01323121700902, 28.18600695883909, 28.646819783182902, 28.83593186150016, 29.348535292472647, 29.25151784926665, 29.474125265795205, 29.60759641201057, 29.432337548460684, 29.608086663320886, 29.56212051844071, 29.434402490770218, 29.060028194366637, 28.87585752116402, 28.45873295051354, 28.792743662386528, 28.55373279092748, 29.00636129738562, 28.976634260037347, 28.81584793803105, 28.894587794973543, 28.522652460550887, 28.03485812488328, 27.40223411639305, 27.166578246109555, 26.709164447478997, 26.403464883597884, 25.55895536609088, 25.21119530220977, 24.806440447478987, 25.91494884726048, 25.980338220743857, 26.041594415343912, 25.951413630174297, 26.227453593059447, 26.006307615896684, 26.0092347788671, 26.403632341036417, 26.393713913320884, 26.389473628695924, 26.143746286094903, 25.77494673366013, 24.21538290437286, 24.09425459895153, 23.798523497043263, 23.70856865323232, 23.299534783136867, 23.39024333721016, 23.21215229310613, 22.72140170697168, 22.582566474004047, 22.77749219428818, 22.873673390756306, 22.89814718261749, 23.216590089246807, 23.705660170168077, 23.73833490343915, 24.043440388888893, 24.18317898350451, 24.318609383364453, 24.76599234609399, 25.12880209648304, 25.40734132321818, 25.60373445985061, 25.836232667055715, 26.14818690507314, 25.95445203742608, 25.87067245238095, 26.123975441721136, 26.282607461951446, 26.31565610605353, 25.968282491679638, 25.480252263538745, 25.511302075319016, 25.421087703625894, 25.76902197672024, 25.885784336912543, 26.196470829754123, 26.451391737784, 26.630917292794894, 26.81401835309679, 26.888443286948853, 26.96231807306256, 27.267618908263305, 27.61072190748521, 27.7286001185477, 27.74446744467787, 27.25320709554933, 27.15641471992751, 26.67077044130097, 26.434505236150013, 26.261954549719885, 26.19226040154581, 26.13041057490923, 26.331005697478997, 26.369178663466776, 26.50211270199191, 26.650698245183637, 26.61661775041304, 26.532815461888564, 26.79572638219732, 26.535007578275756, 26.46291102077497, 26.43929588383131, 26.270172879318395, 25.89311387745098, 25.608538058431243, 25.620189251478365, 25.38174638600996, 25.12598956781629, 25.101792664332404, 24.82283029474012, 24.25847992102397, 24.040694321739807, 23.69115562558357, 23.350533907796454, 22.98731426260504, 22.8328205532777, 22.770799843602816, 22.33554658123249, 21.830948051431683, 21.448107726112667, 21.279513251945225, 21.10123364301276, 20.96717645985061, 20.875709763227512, 20.83770101984127, 20.72934744382197, 20.594727933784625, 20.477986305555557, 20.169036888655462, 19.98955218487395, 20.059402798474945, 20.164405442574445, 19.956305653516317, 19.975654281275293, 19.97008723031435, 19.933301007236228, 19.9442369921413, 19.9511490865235, 19.959291025550502, 19.91291386157797, 19.96172582485217, 20.000084224129186, 20.278686038021743, 20.437832404061627, 20.43558690343915, 20.448247809290383, 20.46077348957361, 20.233810033457825, 20.222442153205726, 20.42001500108932, 20.447241901182696, 20.498401980158736, 20.48811486266016, 20.36997232431078, 19.976403082286154, 19.86483036305504, 19.919713669312173, 19.84819341674448, 19.57150396864301, 19.363896251556177, 19.028394152738876, 18.897001242794897, 18.521380420090257, 18.133432296062868, 17.822358538671022, 17.517497930672267, 17.207532949346405, 16.957552285792094, 16.731447401104887, 16.556718878462497, 16.59303906154684, 16.718886959060846, 16.81228780577797, 16.664430394880174, 16.778597093059446, 16.978597149393092, 17.05118108504513, 17.14220602194211, 17.39855783208839, 17.400653796299565, 17.34431789145658, 17.494063877450984, 17.52918054088534, 17.420908376828507, 17.44246066409897, 17.525604701914098, 17.570056150326796, 17.86825891028634, 18.005315368625507, 18.18995107213923, 18.4088239429343, 18.617505127061936, 18.842515046218487, 19.263331666822285, 19.551475931995014, 19.541139697012134, 19.65832458884869, 19.97064510690943, 20.03717191924474, 19.93434050303065, 20.00330613422036, 19.981615828742605, 20.190996835823217, 20.36564734635142, 20.6132311940554, 20.676109911064422, 20.94052394631186, 21.439501355735167, 21.960808318394022, 22.481903985851105, 22.857524504519464, 23.186493287121337, 23.61517870999845, 23.91668842989418, 24.59316130656707, 25.085482639074343, 25.19984824400872, 25.451920896747588, 25.519807628384687, 25.588329330143164, 25.554005743554185, 25.471491799097414, 25.571923084403217, 25.364072238795515, 25.20865015351697, 24.93711550407552, 24.82527328384687, 25.21181075941488, 25.32787236749144, 24.96729382306256, 24.63421415213261, 24.334472743152816, 24.19373962947401, 23.75807491853408, 23.625886383131032, 24.014952729952544, 24.00944352139745, 23.580976325651005, 23.17475728902673, 22.43532511417509, 22.204097958216625, 22.39744307237667, 22.591047346865608, 22.698181852285, 22.745950785636477, 23.24459792943706, 23.656749316760035, 23.658584054621848, 24.12813915445067, 24.36375965950825, 24.78353507194082, 25.12268666290981, 25.085812129629637, 25.23598502446443, 25.325377428882664, 25.564766953003424, 25.974440678899523, 26.38754225443511, 26.510116477902272, 26.78240689845939, 26.76557041993464, 27.15221842125739, 27.419783081854963, 27.946232512506487, 28.7946246249611, 29.388562662464984, 29.94358431761594, 30.08103908737939, 30.57149408698321, 30.5283626330068, 30.56755206434796, 30.62679586756925, 30.64193178092192, 30.5567700804544, 30.479267346675613, 30.54329216503268, 30.509883570494868, 30.618201059056958, 30.45508942857143, 30.011720607595443, 29.87862064659197, 30.59219096012164, 31.73354710668316, 32.019382757697244, 32.22754606014629, 32.48804694824476, 32.63635160784313, 32.88723250124494, 32.85795652340872, 32.919350689231244, 33.35333035161843, 33.90265011227824, 34.056809855742294, 33.24224248373794, 32.53515373397137, 32.82248973498288, 34.21435230516651, 33.91807258629007, 33.735593587223775, 33.52183890686275, 33.54529280118011, 33.12434497136632, 32.611457956114485, 32.116004059446, 31.807449104730782, 31.289580983815757, 30.78913528983816, 29.614144377172813, 28.190217020774977, 28.02489521949891, 27.76153154682956, 27.362771701715687, 26.991403717398068, 26.86024120782757, 26.880700437675067, 26.823070086679117, 26.686615413202876, 27.236776528089013, 27.50601366546777, 27.62081953750389, 27.512846000022243, 27.47249334228136, 27.90801155139537, 28.47615827871148, 28.51432828089014, 29.21949190320573, 29.067498563492062, 28.87276192763772, 28.70546968464052, 28.16855309928416, 27.97691472766885, 28.591440816682223, 28.715423321195143, 28.29346682531901, 27.61820774766573, 27.016562680899227, 26.412459045653737, 25.766095559679425, 25.581918633597883, 25.16298570540772, 25.311508297852477, 25.398032963660008, 25.276768924214128, 24.689459512527232, 25.269436989340186, 25.24792026975568, 25.35831015631808, 25.61857822004357, 25.750095621926548, 25.27748366098662, 25.255781864049705, 25.18302099276377, 24.835812499922188, 24.918066714207903, 24.91586784387515, 24.88867043565204, 25.70605955808629, 25.445408607142856, 25.25468284399315, 25.17575837830688, 25.18513982010582, 25.258629576252726, 25.263928399004044, 25.323148217086832, 25.333912258376778, 25.135262723622784, 25.02431797043262, 23.612715666577188, 22.85760661031864, 22.922547051809705, 22.8774046171024, 22.652503722290305, 22.401606914488017, 22.26502660239456, 22.32714655625584, 22.387796763071893, 22.35381677598493, 22.38392953888824, 22.811565393946477, 23.09388277256458, 23.10053521503917, 22.914239207049487, 22.944372106364767, 23.15077876509493, 23.123376795518208, 23.225393870116847, 23.072129597494552, 22.81564460270775, 22.86277113313103, 22.943964512760655, 22.926805703548087, 22.92937983649497, 23.089445936430128, 23.370840708450046, 23.391433431216928, 23.3111405332244, 23.366839508246446, 24.10499835278556, 24.31882015289449, 24.3870585226252, 24.38753996904005, 24.517234249267556, 24.325075801738954, 24.687793682128422, 25.47908593727367, 25.21558139130548, 25.26957781401605, 25.262871151501805, 25.333716180317023, 25.326584674186293, 25.50766781442448, 25.52471327748616, 25.33654783815748, 25.060743858131683, 24.96427536118892, 24.461259098566373, 24.90557273188965, 24.71550791418309, 24.536728908284104, 24.50635198361225, 24.45803344289115, 23.24551880756653, 23.42862585413127, 23.25137864634428, 23.181662160519764, 23.14445545525988, 23.02076007492997, 21.885418150054463, 21.21142921084839, 21.29496768230625, 21.34292514954871, 21.477789787270464, 21.39982117534949, 21.35554027046374, 21.22427513764395, 21.225166019996887, 21.3851657605042, 21.565608037348277, 21.55815449875506, 21.511634945767195, 22.946023695144724, 23.38009376128229, 23.34366491204157, 23.304942677559914, 23.208423385678454, 23.202599576641767, 23.251574653805505, 23.06268213976944, 22.887974235527544, 23.073434375505755, 23.19899299194842, 23.224506545284783, 21.361408347442037, 21.18108317958294, 21.18762625692499, 21.14955195253657, 21.16792093196455, 21.13733292086835, 22.75121043905863, 23.28241296887644, 23.40764489180606, 23.103655860644256, 23.052589318914706, 23.06200139343609, 23.0999872386399, 23.09398738743096, 23.199167084344847, 23.374435024129998, 23.554076977746657, 23.735835183006536, 22.577909623560533, 22.825186956037967, 22.855674838157483, 23.12121268425148, 23.31838169366636, 23.413904216464367, 24.838906305866796, 24.9648228350354, 25.118886792417825, 25.75294589982969, 26.167949074632265, 27.03153170880019, 26.864453863624878, 26.96641941050338, 27.46767503566382, 28.339753413771533, 28.91722045523639, 29.477307424491823, 28.756523955581414, 29.52839253944911, 30.280131174068888, 30.48000371093993, 30.4813942612993, 30.637027458470147, 30.943985611111117, 31.38873802684407, 31.48310492180205, 31.75777706473701, 31.909079699089247, 32.52370630929039, 32.98922399447557, 33.16915799998055, 33.22850622035481, 33.51534291526611, 33.87542645560614, 33.88370892973856, 33.9189176457257, 34.33158321389073, 34.547507192654834, 35.37345678664799, 35.42830804418405, 35.1102102900816, 35.14059424110869, 34.84341797922502, 34.92129794436664, 34.798564501711795, 34.82602494871485, 35.104603028944915, 35.37098345549072, 35.24642223054777, 35.30936057438531, 34.631572671490815, 34.78088025295674, 34.79945625661376, 34.73321384998444, 34.600926962029256, 34.410513766532446, 34.32849877443199, 33.90482053882081, 33.567321396436355, 33.14907183138357, 32.759925425225646, 32.66883108224271, 32.524566709928415, 32.06736394911298, 32.08000787768441, 32.09490073263395, 32.69528579009664, 33.073221859554934, 33.68107136834345, 34.16277307586368, 34.788645898770625, 35.574675258257635, 36.04639211647992, 36.20971321451914, 36.56912727832243, 37.11925819864613, 37.25805187457205, 37.12396165555831, 36.70725329343451, 36.40886343339558, 36.80780713192684, 37.74236273184524, 37.83080568407122, 37.37112884321506, 36.96099353016327, 36.85392457578587, 36.96127771840959, 36.84573492267289, 36.51729209220355, 36.586494170817296, 36.54432606356987, 36.36290190689387, 35.23662997939038, 34.00519384158497, 33.14406893529961, 32.95735541892312, 32.936792892918135, 32.49934187044818, 32.41059422300031, 32.07598394281046, 32.0542850445845, 31.91980788867191, 31.32355331083792, 31.30784100775211, 31.388180855620423, 31.426915526795263, 31.425585112763024, 31.06626831723817, 30.773216821195145, 30.545681818160595, 30.31051249789916, 30.1197043982707, 29.93709470269681, 29.6754685750302, 29.69762855664488, 29.581795163243072, 29.46113071825397, 29.199384219421106, 28.99035810962087, 28.876298672890737, 28.86006087099284, 28.61194230303802, 28.34497040981948, 28.08201274089636, 28.040560219965105, 27.778115136087767, 27.640742857298477, 27.33841095697168, 27.405313144102088, 27.32001719829988, 27.39055617729488, 27.512107936430127, 27.25715464409949, 27.2253134735819, 27.577383795985057, 27.77240614219772, 27.9849680148615, 28.133241151486747, 27.89650614444833, 27.903569357220665, 27.78444898848428, 27.3325979783711, 27.015096569576983, 26.62862810378626, 26.459582287192653, 26.26297900918145, 25.903740309324107, 25.88214957920946, 25.730507723622782, 27.05261476136529, 26.989865069016496, 27.108046435185184, 26.98038792374728, 26.947223484837814, 26.9258781625428, 27.204281403079538, 26.938858731762256, 26.89855331961325, 26.87474052897086, 26.832073974167443, 26.580032627295367, 24.5891884221911, 24.42573807524121, 24.080502300031124, 24.316674183862432, 24.419817289739605, 24.63436480687831, 25.394693456387024, 25.52711504365079, 25.525751792561465, 25.585562550031128, 25.30627193666356, 25.371117900560225, 26.18333590634032, 26.504141252334264, 26.810707568860877, 26.879170848661687, 26.96227616269841, 26.764888272169053, 25.48882587947401, 25.664468120448177, 25.851085895184923, 25.876918665888574, 26.08122427894491, 26.052896577108623, 25.344669642001243, 25.09495811375661, 24.79676051672891, 24.632505743075008, 24.30219373054777, 24.06625424787128, 24.321662245953934, 24.128524875038902, 24.172150216464363, 24.33398389678974, 23.999880247587924, 23.822902228520203, 23.448927952225336, 23.262484068394023, 23.24599713873327, 23.16275586398096, 23.267760716285867, 23.2416784239807, 23.770807083878, 23.441744040616246, 23.124883631419237, 22.93494561258948, 22.937319568705263, 23.0472726100996, 24.301508974803536, 24.39852268043884, 24.34136800420168, 24.28275844584501, 24.156400127991105, 24.36892359835045, 24.595342800809213, 24.613891496576407, 24.51775485823218, 24.42284274867725, 24.353372639044508, 24.13598193386243, 23.21455946814412, 22.921900203314657, 22.771319161297853, 22.857257817693743, 22.7799171645096, 22.53031614379085, 21.319940320417054, 21.29359747580143, 21.28310468954248, 21.35869388009648, 21.375451251479024, 21.431774975334577, 21.039830537317805, 20.86008469607843, 20.86869118759726, 20.86916505610021, 20.917540594116357, 20.81441948576097, 20.821127761048864, 20.45190740873016, 20.223403434329285, 20.49092294810146, 20.437112860396567, 20.36068958488951, 20.32250331279178, 20.43003763390912, 20.42447512068161, 20.42908591441021, 20.338570098506068, 20.353282987939615, 20.32897368549642, 20.32460796537504, 20.525378433566768, 20.41589198008092, 20.39631054629629, 20.352517104419544, 20.474659931683785, 20.441470643635228, 20.38191441052108, 20.25802621023965, 20.249968067382508, 20.24377686928105, 20.255274105353248, 20.4524356302521, 20.34590409453781, 20.161985051353877, 20.17934504606287, 20.196447326174912, 20.16470887247121, 20.08498404684096, 20.435696081392656, 20.860955257780887, 21.09591133722377, 21.41794716293184, 21.76170773809524, 21.849288627450974, 22.187178522175536, 22.33317843899782, 22.351128734957594, 22.312412772096422, 22.28262522735761, 22.06121873264861, 21.896890775832556, 21.90734192545907, 21.693016529952537, 21.658997149704327, 21.305600574175223, 21.16589193829754, 20.93855767685963, 21.02142651104627, 21.11852340873016, 21.28992626637035, 21.43072229209461, 21.642697103563645, 21.648093278011206, 21.64651831091724, 21.823938879240583, 21.792447283691256, 23.82372721864301, 24.07560931862745, 24.27586142981637, 24.908867575396823, 25.6694874991441, 26.332843308206897, 26.94434431372549, 27.313161089246808, 27.87559808341114, 28.25036185473078, 28.84013393107234, 29.39840445141807, 27.8557621945041, 28.3753503583878, 28.73660444179894, 28.86411425, 28.700456521475253, 28.56703448856209, 28.962690101156124, 29.210472167678184, 29.25397822494553, 29.64409015802599, 29.78827584701668, 30.38658359158108, 30.489438282835355, 30.82463391129785, 31.39454025661245, 32.04870113569872, 32.57795917717087, 33.038276084150326, 32.77635561546841, 33.12878405322129, 33.968802905462184, 34.630840039858924, 35.01492868362901, 35.53152454863057, 36.02938641705571, 36.13115407275132, 36.2580284850947, 36.44913215639589, 36.38474703478707, 36.38552908107688, 37.008135708204215, 37.26698025544273, 37.5886703155929, 37.67056572813569, 37.29066646467476, 36.99571118635232, 37.11869116619982, 37.493735657485225, 37.27033218030592, 37.09983112542795, 37.36375658325552, 37.44330681932773, 37.06307045168067, 36.41135463141923, 35.93789062721755, 35.98885029948646, 36.24285934539371, 37.08196895088767, 37.66975985932151, 37.39796096623093, 37.25525000676937, 38.20693628812636, 38.20811806710953, 38.14771599276377, 38.01985477890084, 40.384113505835664, 43.50551615390601, 46.33783920323685, 47.52215575914968, 47.48980709220355, 46.99869352170868, 47.34676099727669, 47.97303138352007, 47.39030434337069, 47.5597726428351, 47.86578589347961, 48.512760310846566, 46.220857535014005, 43.54917687962963, 40.49610214464675, 39.9748236110333, 39.80061531854964, 39.9155616293184, 40.113210237531774, 40.13300249058512, 39.96951594545595, 40.32067839978214, 40.46505791635543, 40.28972242009933, 40.2298119221911, 39.747001202847805, 39.45677990087145, 38.697948766750976, 37.99142673486423, 37.537623899004046, 37.40514726976346, 37.02822422851956, 36.87893653159041, 36.11766207417395, 35.572534140101794, 37.02759923924875, 37.06269629442758, 37.11116537581699, 37.77947323809524, 37.79770414169001, 37.55289357827576, 40.00734467835227, 42.06598101034858, 45.13490023583878, 48.38323221957672, 49.34336804038282, 49.66456319957984, 47.80512280275444, 47.41140655812325, 47.503290217709306, 46.89170743343124, 46.86615900155618, 46.74085263165267, 43.57868610578963, 40.25760102620735, 36.78327049198568, 33.05845017117958, 31.774134583722372, 31.272916710852392, 30.932869572138014, 30.489246582399623, 30.037406779333956, 29.920609442810456, 29.88010874004046, 30.23315969817927, 30.25753144207422, 30.359993610255213, 30.520427749066293, 30.737674181061312, 30.906637801276062, 31.041689080298784, 31.00097047266963, 31.068978808278864, 31.26142252080044, 34.40526315196015, 34.27812747004357, 34.45657990258326, 34.746472205803904, 34.81345723544973, 35.410567981637094, 38.0257154379085, 38.38465298303765, 38.61411352521009, 38.80527402831918, 38.922694189931526, 39.022017032206406, 36.03367178485839, 36.35248414958309, 36.23431606458139, 35.90960307314037, 35.99463609866168, 35.52480893751945, 33.31394147783419, 33.3681875035014, 35.03721311982571, 37.83440584041395, 39.363819169234354, 39.81103271895426, 40.15342010333022, 40.43081614814815, 40.94831664394647, 41.43364827606599, 43.61722511811391, 44.11020791363213, 44.09177549645152, 44.39359735543106, 42.76698090616443, 40.44002950511529, 40.0684715901027, 39.958327829754126, 39.5494943565982, 38.94096786500156, 38.43139371685341, 37.84500251244943, 37.18574718744164, 36.96224416153128, 36.92211267045403, 36.57158391168689, 36.09963907170157, 35.298701070494864, 34.71016352778955, 34.24194919786803, 34.05118331255836, 34.05745782314037, 34.02248314137878, 33.9771683548864, 31.87310939270152, 31.70443521163372, 31.526408072595704, 31.417571393650142, 31.3359440593865, 31.27902551774043, 30.72085677438725, 30.661499120544796, 30.740778779800813, 30.60037434207257, 30.22695030644387, 30.02945491215375, 30.24267089021164, 30.03887566293184, 29.669571687203028, 29.497982038126363, 29.263229424519533, 29.07796528869718, 30.89536008986928, 31.14313088322116, 31.09724465756303, 30.997897927248683, 30.94725635255213, 30.922284353909543, 30.655217160364145, 30.69779192173397, 30.74969932119514, 30.69438967573724, 30.67759679116091, 30.63984687830688, 29.74422510806684, 30.466484609243697, 30.412125433940243, 30.37273693557423, 30.401446081388112, 30.407594239729228, 30.24658540919701, 30.266452282757545, 30.360400518440706, 30.36408746257392, 30.319767931294745, 30.374917205571123, 28.553438829598505, 28.18125358426704, 28.306766992063498, 28.29046991837846, 28.325803718954248, 28.2588830284761, 28.246685798474942, 28.199372186663552, 28.214393982103957, 28.15784190787426, 28.168250118347338, 27.965906261593528, 27.88331935683162, 27.54117889768129, 27.138772901397815, 26.81781586184641, 26.439536542950517, 26.1263760383559, 26.10644032633053, 25.756456651805166, 25.364720598972923, 25.067175972300028, 24.750829105664486, 24.54976959453781, 24.395403922891376, 24.43118590662932, 24.466175735880288, 24.464985234905075, 24.644385852458115, 24.66660572790228, 24.533016366324308, 24.70498652544351, 24.76933880538373, 24.776021748582583, 24.768244367413637, 25.03335408208839, 25.275467322571064, 25.481995918845318, 25.86337313803299, 26.27196562535014, 26.65708017016807, 26.84280510275716, 26.783627775393224, 27.09398235690943, 27.567565829174807, 28.053903592203547, 28.60142469833489, 28.945997510348587, 28.637577122237783, 28.51946584679104, 28.507888147292253, 28.21052600186676, 28.234442769207128, 28.33303496863665, 28.34051411776657, 28.26161195214753, 28.36004960972482, 28.559382633675693, 28.332080412062773, 28.21858614627166, 29.065787344957982, 29.88936636846528, 30.34657189619774, 31.013737543747546, 31.428423184329294, 31.84207162615612, 32.49835588756614, 33.04101320942756, 33.59966301626206, 34.14256273926237, 34.80581723117025, 35.28013325326408, 35.18510107983193, 35.71811469491129, 36.04610477474064, 36.19781997580143, 36.37579390653856, 36.74351857026144, 36.56300736500155, 36.107231711320125, 35.951688217654635, 35.618236141082434, 35.408144563922065, 35.196942231921625, 35.188674678826075, 34.94845296850349, 35.23127532970439, 35.011714219240034, 34.853339507399824, 34.270469277933394, 34.36575822237784, 34.73372405449108, 34.64857355259882, 34.294282073947635, 34.320964066526614, 34.409039311546834, 34.17123532477435, 33.72391988383131, 33.58841637099284, 33.55373416791161, 33.63679503983816, 34.28626254065256, 34.23366319614716, 34.41240504376103, 35.05756806753813, 35.21974179156487, 35.38047198825086, 35.646209128020935, 35.98603036609088, 36.74152306126284, 37.10537125280113, 37.30955038798242, 37.29171729567383, 37.15269699455338, 37.2397301643324, 37.22617039083411, 37.116609272953625, 37.42303952380953, 37.99648196799287, 38.69095606333178, 39.40024317316937, 39.204341880874566, 38.79964596529723, 38.70575243238407, 39.03818217787115, 38.952963018736384, 39.70781856978421, 39.88798663974479, 39.97259251532836, 39.921009464986, 40.22425223451603, 39.83325546397448, 38.94040404933084, 38.38424438600996, 38.412703880743145, 38.20482067351385, 38.056814394491134, 37.76389684326607, 36.80619068034741, 36.30415519203237, 35.64467651539579, 35.12007916479926, 33.59829050031124, 32.648089470277, 32.31551842615935, 32.30156653874883, 32.0064414850354, 31.38543028392468, 30.592923689309053, 30.07026694208424, 29.434295289137225, 29.10172516767818, 29.134737284080305, 29.247267233815748, 29.22780148008092, 29.17339961013008, 29.18399680438842, 29.22667871802054, 29.41301913453159, 29.619347702692185, 30.20981173135505, 30.938140784891463, 33.19681873093682, 33.90772437174953], [11.468929372123668, 11.47731869561158, 11.37980449821948, 11.266748987005917, 11.192397872562644, 11.233093597493903, 11.396716368698783, 11.461230208061002, 11.607781023031436, 8.97926481652661, 8.999799302676626, 9.036218588928444, 9.121669215764085, 9.172946020541549, 9.31450297437299, 9.31837552637722, 9.411517450980392, 9.324722376283848, 9.177248036025524, 9.094836868169676, 8.942628521164021, 8.8906165210512, 8.862383484905072, 9.015558066004, 9.220558126984129, 9.262614537857925, 9.185698160519763, 9.183945045284782, 9.014596264550264, 8.998058068178755, 9.005109812555775, 9.01454735370565, 9.085558087904616, 9.164628902738873, 8.532852370681606, 8.28416174591698, 10.159575496265171, 10.02379583924681, 9.959725000233428, 9.862425588313103, 9.515854432384064, 9.504787778784106, 9.46687692343604, 9.367182844142937, 9.152875790694056, 9.064855331224065, 8.955044377840025, 9.027138271215248, 7.154033260348584, 7.382684044117648, 7.579481416177768, 7.684934300964831, 7.786480160441954, 7.659114902107258, 7.588804437217298, 7.57971538514693, 7.832429795977281, 7.963468578898227, 8.574229654139433, 8.586543202112512, 10.9061701437098, 10.764505757391849, 10.459729712807349, 10.281760376361657, 10.175628256691567, 10.541114056102169, 10.72460840787426, 10.763774720277, 10.64080814721444, 10.441503687006229, 9.944402644957984, 10.215885179582944, 7.89837081932773, 8.050788859399315, 8.622761421802055, 8.88404300715842, 9.186136922813567, 9.171563996333257, 9.500002659119204, 9.83916695813881, 9.805280516417678, 10.096655372441385, 10.80823114176782, 10.777442163476504, 10.591454739335646, 10.545077591505873, 10.243842694366634, 10.145499964752569, 9.62461737620604, 9.410140259881729, 8.938389783846873, 8.60682575140056, 8.596113514472457, 8.446893051898538, 8.464719751633988, 8.28100864371304, 8.202952630096483, 8.060016036823713, 7.973888650949268, 7.932315351041356, 9.892691757236229, 9.85805830960162, 10.005002796763147, 9.996389209072518, 10.00289250778089, 9.884124938847506, 9.477355412698412, 9.358480559290385, 9.36084993934926, 9.9629672042791, 9.805336460862124, 9.733336046374108, 7.963891114125558, 7.959014669234362, 7.82250218713041, 7.752397069514346, 5.946747662698413, 5.873825056680554, 5.739063152349829, 5.621609777135856, 5.553068680769249, 5.0073892585589785, 5.075834748988485, 5.040001356442577, 5.192762831463975, 5.117495466775599, 5.049198403050109, 5.006390285325241, 4.970778602941177, 4.9640816494709, 4.83089415227202, 4.892235192265796, 4.792515231567732, 4.532908594746603, 4.462706608505163, 4.445602417082788, 3.969752670168067, 4.030568293495175, 4.003110285325242, 4.028014626128229, 4.026070180292953, 4.001179843993153, 4.2485995284002485, 4.156635109010271, 4.204137422502335, 4.275187833499962, 4.288486197323373, 4.318012372231308, 4.434409599751011, 4.487183755524431, 4.496348092592593, 4.464130528400249, 4.43962073015484, 4.4477275895580455, 4.704099144024276, 4.73416795899471, 4.733098788339689, 4.802223556800499, 4.778948494395814, 4.764298690943043, 4.869709546840959, 4.778056857843138, 4.7516422762994095, 4.800251069794585, 4.813589058667912, 4.863276296338444, 5.3695906146125125, 5.46330914410404, 5.415750665809482, 5.279571893785662, 5.373334835122939, 5.348675579442889, 5.590108864456894, 5.620279343543819, 5.691948332269947, 5.644161147136633, 5.633890461951448, 5.564073503345782, 4.9105837087612825, 4.8463505223311545, 4.893612476968566, 4.913610106598196, 4.821817296680773, 4.868404667678183, 5.564379272720199, 5.640375016284109, 5.681238715764084, 5.95797544645453, 5.954579133986929, 5.989723893557422, 5.9905572299253045, 5.899987602863368, 5.794168276143791, 5.822310185541811, 5.726878314537317, 5.677678963507626, 5.087565540227201, 4.985818363367569, 4.793236583411142, 4.442270108465609, 4.331658529326826, 4.151178945845005, 4.221620119436663, 4.1985515187519455, 4.164765225472044, 4.020278902116402, 3.972379695845005, 4.027783567849362, 3.4348483807189543, 3.4796110603797072, 3.5783343339914686, 3.684366102240897, 3.802778840491752, 4.04579004684681, 3.1190967677404293, 3.3031591554621844, 3.352778715375039, 3.384167613056334, 3.373974675743081, 14.061115037970744, 14.19672425941488, 14.121222339091194, 14.06354497440087, 13.967307766339868, 13.893103773062824, 13.6932694186897, 13.99688519545596, 13.857604106753811, 13.942921714130096, 14.172503968409588, 14.265965612577569, 3.50660222270853, 3.7767648732493, 7.484334486480073, 7.7155577132742, 7.88367159667304, 7.8680577431184675, 8.001946681061312, 7.93361333076564, 7.9997734309056945, 7.910235630796763, 7.715590327342049, 7.715279936741364, 7.856668859632743, 7.615279895189316, 4.0268403903672585, 3.910934793495176, 3.79548406092437, 3.969723331522985, 3.896714334967321, 3.727265131107999, 3.725397761793621, 3.8402788506847183, 3.8322232418300657, 3.7846974789915966, 3.789239209523164, 4.454071034780578, 4.334895211562403, 4.406112341814503, 4.445050181683785, 4.346560339713663, 4.463912453481302, 4.833226072513357, 4.894611415786783, 4.935752933317771, 5.028334736653835, 5.075001415499534, 5.052779187363835, 4.437490897251412, 4.670556859793552, 4.606763617880486, 4.69184066721133, 4.971282743047127, 4.93144623871771, 4.661828106286959, 4.658334632741987, 4.672664521319638, 4.709114163320884, 4.779027838079677, 4.77580653330221, 4.76172066293184, 4.657830383753502, 4.730474934640522, 4.632277200746965, 4.425731853641457, 4.38518306442577, 4.387965571117336, 4.48416536686897, 4.368250360933451, 4.314205161336759, 4.206114526921881, 4.1771290066137565, 4.19681622162893, 4.312969268907563, 4.339433798941799, 4.831814995253657, 4.900349050575786, 5.021000459928416, 5.412032250911019, 5.277354348661688, 5.306273624649861, 5.243334797541239, 5.284904563648993, 5.238666190475542, 4.935122673669468, 5.118334762138189, 5.263716427680539, 4.953377856053533, 4.836763639432903, 4.702641351670947, 4.730758663943355, 4.875556859127637, 4.8650666409119205, 5.01666806800498, 5.151112535091816, 5.250297894880175, 5.863709378468995, 5.602811944366635, 5.366367023187053, 5.201112563336446, 5.324079426003735, 5.382902918456272, 5.441867558561573, 5.448890363832484, 5.421789465287433, 5.395650338313103, 5.334359417397439, 5.20399063453159, 5.083757174058513, 5.03189206843229, 4.968871567226891, 4.933021908963585, 4.757508301976347, 4.7894550781486736, 4.531045766495487, 4.340771416785333, 4.292062340956018, 4.127284031644886, 3.9731897008247743, 3.901706488095238, 3.346412305986845, 3.318334258636789, 3.2918216354387235, 3.316270710670544, 3.405834284547152, 3.342991120214753, 3.5483343234684632, 4.015624295985061, 4.304058073762839, 4.39222344973545, 4.464723469965764, 4.533890044195457, 5.001789364098332, 5.235232396514162, 5.356371656605331, 5.414775030881062, 5.296973914877063, 5.249305826019297, 4.934437591269841, 4.478454789021176, 4.330762159872659, 4.382144046218488, 4.388612336756925, 4.405722426312383, 3.9776915185185184, 3.751063054429273, 3.68520631660442, 3.5275009849050742, 3.4895853990818546, 3.4238898412477963, 3.625278788748833, 3.638888974437832, 3.538934176470589, 3.432547558667912, 3.359041503968254, 3.229115453003424, 3.1247830223311546, 3.188236146903206, 3.2301922819016498, 3.305451431683785, 3.366667607723194, 3.4314645323698025, 2.996557741752257, 3.0409438418923123, 3.0027318673358234, 3.035278626206038, 3.088889752085928, 3.2036189504357298, 3.891723679253562, 3.903987158617339, 3.829234575708061, 3.9041163855431065, 3.914825961251167, 3.950095967009026, 3.71065920961718, 3.788044877139745, 3.8584688617335834, 4.685456440553999, 4.673425635306438, 4.6471114409430445, 4.190148192343604, 4.22295632508559, 4.166340976875196, 4.084167807500778, 4.050120137488329, 3.976523042290774, 4.800207882352941, 4.7785354065515095, 4.769529773252851, 3.965682667211329, 4.069919393323997, 4.091277914021165, 4.9232856795829445, 4.924674478524743, 4.987779171595863, 5.115834763383131, 5.225834793806412, 5.301668147643693, 5.062326262371616, 5.208890342826019, 5.218859930283225, 5.328514484162648, 5.408612622938064, 5.403612619358855, 5.32833482010582, 5.28139036048864, 5.2255570137721765, 5.108070893246187, 5.007242089013383, 5.0191680676159365, 4.988166528944912, 4.775150551276066, 4.711861652894491, 4.546156543650794, 4.361847590024899, 4.34524851206038, 3.537199040071584, 3.5136540584137363, 3.535607867802677, 3.5102927350386457, 3.4860466995020234, 3.408537350295674, 3.805134092981637, 3.7944455005459616, 3.790157430205416, 3.7775010554777473, 3.7481499516806727, 3.6772232425303457, 3.5005369938530966, 3.459342584422658, 3.467746039137878, 3.5309416735916583, 3.5311120972611274, 3.4753253380796765, 2.6378345252878925, 2.6640570708061, 2.6494848048552755, 2.657498379940866, 2.721417612511672, 2.6979721641508463, 2.862210680438842, 2.956399002256459, 2.908056339548976, 2.85176077474323, 2.8463896558512296, 2.846233232848045, 3.027500845315904, 3.053334184718332, 3.0472230731202754, 3.0746063529411765, 3.0452786283068782, 3.041066977746654, 2.925301880563337, 2.8878975139252, 2.903042313336446, 2.954207126283847, 3.0088897289915963, 3.027500820243937, 3.254445346638655, 3.2028930174291945, 3.226704886865857, 3.148492890989729, 3.068670284313726, 3.0329396812947405, 2.976433324929972, 2.917358400638033, 2.84377060200747, 2.732878901805167, 2.6422276186585747, 2.6213983802462706, 2.129288099339273, 2.165432010270775, 2.132981448879552, 2.1102783681139123, 2.1258338732427617, 2.168366105820106, 2.233433815515095, 2.351291463741052, 2.4494451265950827, 2.4869263761282294, 2.5024632410519763, 2.4817205064536, 2.6055277145191407, 2.536111771553066, 2.637222960084034, 2.6588896300964837, 2.6553618694610925, 13.512503782446313, 13.47653262192655, 13.5433113881108, 13.542753544428882, 13.610524334661935, 13.60413538258637, 13.58694824859944, 13.608007914488017, 13.62155135496098, 13.977818861733583, 14.517504053297806, 14.827872809738237, 3.936945538671024, 4.240263979302832, 4.463876092275522, 4.496889607055971, 4.574200463818861, 4.951131104618612, 5.456945971366324, 5.933860158185497, 6.026483828976034, 5.52807660540688, 4.96662489210633, 4.698444289449113, 4.676434452545206, 4.227014477655229, 3.905981396825397, 3.824564552332045, 3.7089707143567776, 3.5787582894419803, 3.1372386922657958, 2.683723902583256, 2.757222992685964, 3.051389740532612, 3.278959768751945, 3.393889792481718, 3.6397232367796297, 3.889001940709617, 4.142501155265073, 4.804627798080084, 5.788057173264218, 6.152459547230003, 6.120281806068447, 6.016280794039838, 6.002695342981638, 5.840382064503579, 5.698927798021701, 5.750435645344435, 5.845861608232181, 5.658510981481481, 5.594990997354497, 5.0413727472766885, 4.253608974556489, 3.924086020074697, 4.165278943164489, 4.324248520385932, 4.876352826719577, 4.95166805174292, 5.027195609314375, 5.161825650304117, 5.106633016028633, 5.317819849247545, 5.370200946000622, 5.295241902661065, 5.2372236830681365, 5.184597526610645, 5.016621345627141, 4.770060801602217, 4.241820958061002, 4.072829289760349, 3.9208451590413937, 3.594292914098973, 3.357696208575198, 3.0410972461581864, 2.96951990935263, 3.0197230649704325, 2.8845216731248056, 2.816667453470277, 2.8197509522791617, 3.660144827951448, 3.600122365001557, 3.6233343470277, 3.636667682773109, 3.63473489141768, 3.614586987784002, 3.609841335924706, 3.9979889118425143, 4.332753266082452, 4.742519910908808, 4.791411177948957, 4.837886430516652, 4.076567349125947, 4.51662122455649, 4.983395354263929, 5.412779292756641, 5.941995034313726, 6.499152103185628, 6.931970296647111, 6.951946376984127, 6.95255092343604, 6.945359006380331, 7.353890947012139, 7.465828351403167, 7.3473717816682225, 6.9019089692654845, 6.435620358309991, 6.092691606242223, 5.61899173723934, 5.152325071242487, 5.132535077964518, 4.980961903828198, 4.803193450202303, 4.302194389355742, 3.771515113367569, 3.8552788546555967, 4.076625685963275, 4.07339513180828, 4.152515156784937, 4.157998177248677, 4.33755485760971, 4.368871408107688, 4.40785356940554, 4.102215473155929, 3.897139242491443, 3.972407734049176, 3.965556664721445, 3.642227840549461, 3.5188898704481795, 3.568740338391569, 3.576655986616869, 3.635757190631809, 3.624685803522816, 3.593961405617802, 3.302556163865546, 3.513334314650136, 3.5453276937234315, 3.761989846794274, 3.7804142183317775, 3.825001065748521, 3.817412181372549, 3.8440462416452807, 3.763406727201992, 3.6154071120448186, 3.495673183239963, 3.4208342859477123, 3.840390821311211, 3.687795050108933, 3.571945443043884, 3.2730564427326487, 3.321945373015873, 3.288662599673202, 4.247588861237551, 4.250267213974479, 4.293612312013695, 4.3009441409897295, 4.305201882897604, 4.331080941332088, 4.520559056907486, 4.560258016651105, 4.902132532368504, 5.296007525400077, 5.31708831800498, 5.344922080376596, 5.083817921867544, 5.094746933118069, 5.058880673980704, 5.0564042793339565, 4.989445838134801, 4.9230418369093005, 4.165418145269219, 4.141210275754747, 3.953614426081544, 3.7109627217553687, 3.7010000384375976, 3.776742326330532, 3.3580650388519317, 3.415736184772172, 3.4538891660370656, 4.244723408341115, 4.3384021998910685, 4.378964778944912, 4.547781249844383, 4.5697024542483655, 4.580355892312481, 4.580555899061755, 6.2440213204948645, 6.13044028491091, 6.6090587047930285, 6.54291715802988, 6.545480318945601, 5.77574144047619, 5.693327838001868, 5.694165876828509, 6.229611746654219, 6.195519899548709, 6.063475023313493, 6.04861127409223, 6.15673605174292, 6.202501726968565, 5.481672760893247, 5.536458971336501, 5.577566882041707, 5.656740579520696, 5.683414254668534, 5.687041705960163, 5.21583237535014, 5.218890346872082, 5.274868391534392, 5.260396981121638, 5.1675551118892, 5.175311854280792, 5.682480545362589, 5.65496876704015, 5.549042095892346, 5.454256843993154, 5.405486994319951, 5.402471130874573, 5.221204524509804, 5.162622773187053, 5.013364968561681, 4.959848424603175, 4.991079796607532, 4.94206017981637, 4.911987813979677, 4.865272117601027, 4.876252473389356, 4.843444356598195, 4.859585802054155, 4.856355147525677, 7.307364213521895, 7.674927434951758, 7.726325674371053, 7.709047713352007, 7.633697221444134, 7.586299921176342, 7.2068786683784625, 7.186855392623718, 7.1826630680224905, 7.191309175925926, 7.178706430302682, 7.114240995020229, 4.421468276597676, 5.303360436430128, 7.360468887643946, 7.386907207334143, 7.401981481714908, 7.432000161764705, 7.252324529411764, 7.273890922969189, 7.316668713663243, 7.34784983854653, 7.402779848583878, 7.439493186430129, 7.426839081197488, 6.285466950709811, 4.643056853330221, 4.67111131283264, 4.83395557928727, 4.874723579987551, 5.360521974089637, 5.301390370992841, 5.272162977824464, 5.175344481666928, 5.106502337768441, 5.050848727473676, 5.597124295673825, 5.553276368163194, 5.385283886321196, 5.331902484980937, 5.145314195066916, 5.084450445845005, 4.628528286881418, 4.643376576252724, 4.66361241643324, 4.716602601569149, 4.73166799081855, 4.767562020852785, 4.175200844996245, 4.208203739184563, 4.287064669265093, 4.352936664923749, 4.39661653487007, 4.423315857941697, 4.56568277237849, 4.606166017896048, 4.767512994008715, 4.9038902607376285, 5.015000233971366, 15.797854550964828, 15.965615969187676, 16.946190472672235, 20.595659291521425, 23.732329134507413, 24.40566972447868, 24.539572654917528, 25.04400790328354, 25.346015384453786, 25.468643819638963, 25.64544828509181, 25.842035552694117, 16.273615628618117, 17.847665869878877, 18.63544140198673, 17.151361097961406, 14.663732782835355, 17.256802210473083, 18.72495848996265, 19.504151079209464, 19.471296224789917, 19.49096944891003, 19.461228419300497, 19.43167206022409, 18.587841140319284, 17.538886798319325, 15.836459072673511, 13.952801460161842, 11.12061369097063, 11.144594058979148, 10.043044008948025, 9.471912000155616, 9.639033862430631, 9.641391580298786, 9.993865789760347, 10.10139171249611, 10.039246380053044, 10.165738029256149, 10.081113890170146, 10.181669512449425, 10.244344330652178, 12.896392487005912, 12.994842505540651, 13.067221126439463, 13.063971770152506, 14.774908240974169, 14.512331088634069, 14.835760330298788, 14.912504136243385, 15.249418131030192, 15.424096879474668, 17.384640565592907, 17.95115567664956, 15.30516753898226, 15.244761299875508, 15.105281997899162, 15.149705414799252, 13.706392719724557, 13.672097463228164, 13.508059329520698, 13.660003805907005, 13.432830260727917, 13.895554544514136, 12.061693207644089, 11.421407703098309, 11.249237261671334, 11.53555877342048, 12.011947798397138, 12.077038748832868, 12.065836702225331, 12.258009924405414, 12.366289496420793, 12.722887677065827, 13.036464635973664, 12.680313929271708, 12.617781261593526, 12.691039122385634, 12.547235041316528, 12.323126541238716, 12.084715522175536, 12.150691934640523, 12.331936030967944, 12.404373143790853, 12.185677755991286, 11.675082501711795, 11.561017915363538, 11.47304235636477, 11.504604032231049, 11.67013329691683, 11.641837933815363, 11.630778080134093, 11.61705486632431, 11.393200903983816, 10.961078940631811, 10.67934451003735, 10.825131219187677, 10.906268041005292, 10.960936714860214, 11.187902216386554, 11.171242456816062, 11.219334820494865, 11.133308375816997, 11.149986643090571, 11.20027595113601, 11.234305062709437, 11.325558605664488, 11.702503269530036, 11.736504042335827, 11.657689888188608, 11.301426436663554, 10.97750306364768, 10.944442747879716, 10.70253531319812, 10.67000752986047, 10.506767458878125, 10.002967098235043, 10.10802786835539, 10.07518479716711, 9.776727677019242, 9.505289723521988, 9.371477773687252, 9.388578534836636, 9.640898947791545, 9.726274810678625, 9.881944712340491, 10.037225025754749, 10.336039251885571, 11.35053052603551, 11.07373788671024, 10.86278078898226, 10.912612671257392, 11.06489336266729, 10.933336386554622, 10.119528829598504, 9.759295403205728, 9.566529213473911, 9.16028494510027, 8.794145843759726, 8.271262710084034, 7.03741778828198, 6.963547620915033, 6.888802048505427, 6.422051888533566, 6.196248139744787, 6.16288685060691, 6.177746756452961, 6.079016571039528, 5.930557151409639, 5.970473909967971, 6.044313026610644, 5.984873200746966, 6.5491894406318085, 6.495176847261128, 6.650835188686586, 6.823890777466542, 6.913659670428087, 7.046642895566074, 7.131094864223466, 7.270573808228295, 7.296668705259882, 7.251136939211153, 6.638335185885466, 6.797824008247744, 6.176339190554, 6.292973218253969, 6.265534818160598, 6.2106024800582285, 6.241516609700185, 6.125603864299984, 6.18074006302521, 6.10166836904762, 6.161390602163088, 6.212297084080317, 6.536719766184252, 6.643766933551198, 6.588358399081855, 6.527606761299569, 6.493095434562714, 7.171113111025535, 6.997140092203549, 6.956799266255577, 6.64162876633987, 6.706670704170556, 6.706288008610206, 6.658265774350299, 6.980926816448801, 6.793729618191723, 7.381589344382198, 7.633891021007128, 7.865954489292066, 7.178057552987863, 7.18793617646994, 7.166668668767508, 7.546750397202122, 7.425002073751167, 7.315963718565205, 7.273611436896981, 7.144026200280112, 7.113778747043262, 6.53057128470277, 6.205515066059758, 5.873309259414878, 5.761553843340208, 5.8574758837535015, 5.867501638188609, 5.909308269374416, 6.000835008792407, 5.9996514632742, 6.011690160986617, 6.05074624805478, 6.026124412387178, 5.939324666181658, 5.94481246739807, 5.925923575474634, 5.966465230703393, 5.837863352863367, 5.838334963896671, 5.4110411272720205, 5.33630866285403, 5.394009391845628, 5.418473505969894, 5.382158330143168, 5.369445940737501, 5.375669023000312, 5.35609857228447, 5.372431408496732, 5.361112607765328, 5.396140551587302, 5.430725091114224, 5.479882340430804, 5.476943611577964, 5.391063557500778, 5.357049655462185, 5.347443035636478, 5.411287675925927, 5.751091593059446, 5.811343817849362, 5.75420557228318, 5.69332323295985, 5.59079983434485, 5.509298876592489, 5.425315327671443, 5.497727916433241, 5.480328307775706, 5.41389732285642, 3.712692429894181, 3.620681719343292, 3.1465384107531897, 3.0312909362745093, 3.0624470751633983, 3.0374051271397446, 3.0760956209150323, 3.125278649237473, 3.022486083644569, 2.8939689989813675, 2.948847637099284, 2.988142059311157, 4.65385049859944, 4.535503116713353, 5.461600490429506, 7.132861381850445, 7.141944647447867, 9.517780440709616, 9.45703570113601, 11.663892151260509, 11.497426116657593, 13.786383376862227, 13.72413309551238, 15.386316081999398, 16.036227605431062, 16.24093383722378, 16.998963740896357, 15.69932502635826, 17.995539497907636, 15.726414281045754, 17.02549492747173, 15.853181362978528, 15.861276930119828, 15.883683219576724, 15.878615555633363, 12.911768404556891, 14.283318621615312, 14.553594109482743, 12.830248585823222, 13.57226098684058, 14.40141852320651, 14.821395370992844, 13.494532092331392, 23.40470074688764, 23.45167318239359, 21.38583932158419, 21.583792110644254, 21.4029950323685, 20.98419344483349, 20.769167762994087, 20.473805757858702, 20.04399470409275, 16.958459408963588, 16.58139352482104, 16.637504601899085, 6.162501722346718, 6.262676748132588, 6.568720277388733, 6.694803331896464, 6.939167040849673, 7.094383147292251, 7.243057577749925, 7.406110793820684, 7.560258805633365, 7.905585695300343, 8.454463033112228, 9.02396374473494, 9.14893337799564, 9.351391498288203, 10.003538834731966, 10.28263577832244, 10.46583379691358, 10.65725538515406, 10.669360738017428, 10.66191919615624, 11.284767305555556, 11.25443550575786, 11.178938481170247, 11.067474944833489, 11.154440409041394, 11.577580256691563, 11.715885536336758, 11.5914341232493, 11.926111512449426, 12.875423686741366, 13.081562872082165, 13.17713706122264, 13.776170809134769, 13.937867958294428, 13.639490170479302, 13.34780698540824, 13.162774275676938, 12.931618755991288, 13.025966631341424, 13.168446589169005, 12.772833984914811, 11.664521794876128, 11.859923754046063, 11.95388958636788, 12.627455935596275, 14.204170610799878, 14.622004550031123, 14.761815175536883, 14.772744493775289, 14.721502574151884, 14.582542451798368, 14.49028645557112, 14.490556126283847, 14.740870105165223, 14.391745275054468, 14.186717124483868, 12.136797855797411, 12.113448690591625, 11.98883832391846, 12.053021312013696, 12.28305898591659, 12.724690642934952, 11.895182382028738, 11.99211326851852, 12.019083006613757, 11.791525137021477, 12.065101136037196, 12.141464462227033, 11.520065799408652, 11.397171585978835, 12.12637814215686, 12.13150141237356, 12.21625883994709, 11.86384067656721, 12.643068092981638, 12.684158286959228, 12.713672089480236, 12.867433228133764, 12.894842149470898, 13.109877344460008, 14.121426479769683, 16.79113905602241, 15.859518878970864, 15.722051258169936, 15.529240693510738, 15.524896785792096, 15.664764599439776, 17.519864801276068, 18.18164377466542, 18.83388220593228, 19.09682586025521, 19.38510545059135, 18.66281779199153, 16.47109918220705, 17.215200735449738, 17.505249851462807, 20.10416730866791, 20.57987951423903, 21.921919792872703, 20.41356751735139, 19.692747794973545, 18.93615578801652, 18.40767079186119, 17.8498063588527, 17.958550617180205, 18.010947898926236, 17.169645096716465, 16.423828346258045, 14.01222592787115, 13.33163184414877, 12.14865328890445, 12.773761494319952, 12.834439913320884, 12.868371681655914, 12.839770024821044, 12.905257969533931, 11.774288353485838, 11.543868700902586, 11.580404546218489, 11.66833659212574, 11.62750324587613, 11.589601685279872, 10.0023905638033, 9.3535669003268, 9.12172993104642, 9.05530821249611, 9.078984863678803, 8.9820144624183, 9.18093855189854, 9.114516964285714, 8.982626136087768, 9.000023502878928, 8.981281577497667, 8.99680903555867, 9.048811891208787, 9.034685008403365, 9.098384879940866, 8.931974875194523, 8.812033231092437, 8.778027753657017, 8.530557936430128, 8.707556071039527, 9.000291877840027, 9.036337651338313, 9.172745111344538, 9.185133011204485, 9.661134754562214, 9.920485807267353, 10.03947287815126, 10.27028059489444, 10.3123182989418, 10.22800202614379, 10.951583054777466, 10.813555593681915, 10.506106797930284, 10.200310795086668, 10.090565254046064, 9.850957367413631, 9.357138402580018, 9.075317532368503, 8.862469824618737, 8.66649622805789, 8.580049021086213, 8.74890297105509, 9.060238217086836, 9.520243043106133, 10.229456622393403, 10.229055054180298, 9.986113890522876, 9.965450949891068, 9.6305255445845, 9.682224925770308, 9.66524986406785, 9.529106287348272, 9.498819152816685, 9.30571481040775, 7.682063631860152, 6.68995338801289, 6.676668531201369, 6.681390706816059, 6.9581158251634, 7.055279748910676, 8.30839842754358, 9.20889146179583, 9.137880787348273, 9.12903611756925, 8.964446908643922, 8.772261960006226, 8.811094879863056, 8.641045785014008, 8.65804625560224, 8.560305702005538, 8.340476089751272, 8.286496077108621, 7.967301900123237, 7.991871954870837, 7.94796937107065, 8.144056860177404, 8.171659557458641, 8.20666895905177, 8.830688630641147, 8.873092992296916, 8.751461359943978, 8.762168632119513, 8.777880536934596, 8.731564041059771, 6.904369900248988, 6.501390704248366, 6.506389086990352, 6.3836128942389, 6.451963206738251, 6.362439356817115, 7.205485176392779, 8.01897503338002, 8.252224527077498, 8.332605029927658, 8.426946799719888, 8.48902421055089, 9.67202650708061, 9.951235159897292, 9.992208398537192, 9.907551749533148, 9.97333609072518, 10.211235323295984, 8.74763079318394, 8.366029379457164, 8.150163315748523, 8.055235632819796, 7.9826819171335215, 7.940557774575298, 6.645203319541058, 6.50902372517896, 6.568841284896959, 6.706362677248678, 6.517742150401376, 6.237665039293495, 5.691721875038905, 5.525043528555867, 5.553890439775911, 5.50861264999222, 5.425344596483038, 5.3565677682850925, 5.414112128151261, 5.387357824668016, 5.411620147836913, 5.253869320572674, 5.256997243308435, 5.399312807467068, 7.716488457380842, 7.751668828197946, 7.694376553065672, 7.80389107026079, 7.805774810449738, 7.793665055159277, 7.796323291861189, 7.636022156940555, 7.4269448334467505, 7.428057630252101, 7.397502067600374, 7.198972504920275, 5.027837458061002, 4.9758743729633546, 4.92361245113601, 4.850349146903207, 4.811058740818551, 4.79927763663243, 4.892779144880175, 5.457984655695611, 5.5642749552083135, 5.527779322671569, 5.591170983582321, 5.621782555134742, 5.50750153960473, 5.575956211458218, 5.527779321277507, 5.520151923543033, 16.22090790024899, 16.487737967242452, 16.292264439231246, 16.431990960239652, 16.623508587379398, 16.702782452925614, 16.765079375661376, 16.86721284103641, 16.848293599128542, 16.82639358450047, 17.035282546218486, 17.120630207838563, 6.51299617052678, 6.349100669000935, 6.577707969166927, 6.423854031157279, 6.406666892390289, 6.701160411217407, 6.732672248366013, 6.917632573762839, 7.106113092981638, 7.333386647927694, 7.375153696545285, 7.513335433084345, 7.694600576719577, 7.796061821977128, 7.846708769374415, 8.410912614379084, 12.11610032969145, 12.535649991129787, 12.79769259803338, 12.961817243930907, 13.177283156050938, 13.867636894646749, 13.996383445618717, 14.122982467009027, 14.211425468954248, 14.353175003948474, 14.058352159663864, 14.26194842577031, 9.23740925512359, 10.433527495498767, 10.49382636028894, 10.425745129452617, 10.20534810247432, 10.244708304154994, 10.29606960173255, 10.3677783068005, 10.468917630112967, 10.605938770527942, 10.770894292379266, 10.941550529307372, 10.775980606255189, 10.744186248377222, 10.723870780539354, 10.619846537114848, 10.505467192106908, 10.7753857151682, 10.651394108776843, 10.621638120924924, 10.6999189124598, 10.675245472844695, 10.230700432766625, 10.468954638577651, 10.523823781571291, 10.480196521086214, 10.510836266339869, 10.83462519907071, 11.025193895450158, 11.651392136788049, 11.93709642016807, 12.856151874337328, 12.98701462070996, 13.19555923801743, 13.152243671167811, 13.473925074706274, 13.58682327676626, 14.105162646903208, 13.996052023551702, 13.81626158841348, 13.331881560720774, 13.1113852730671, 13.041000031977102, 12.099319926464885, 11.953847636399006, 11.836317224245253, 11.717831708450046, 11.85497745409275, 11.810140253112356, 11.51810299393221, 11.804676316293184, 11.929151238252166, 11.831147582045393, 11.999223627217551, 12.01092891004768, 12.022213217164644, 12.201429484831811, 12.13251947925939, 11.548394445371018, 13.44062692063492, 13.360828962962962, 13.101838142623716, 12.768019237223776, 12.6169593732493, 12.200924497240376, 12.374975351384975, 12.126695533691253, 11.957763928181736, 11.546837741390824, 11.543336556411456, 11.611601517273575, 9.867780530592515, 9.97711296389667, 10.21666951789605, 10.17637071311858, 10.042180644802366, 9.968910377295362, 11.573169673175148, 11.685829363159456, 11.56805878120137, 11.547482190264812, 11.318756398303766, 10.6194676803879, 11.472010443043883, 11.2293210227202, 10.886064975101151, 10.797033614923748, 10.822925350747612, 9.983398862651727, 8.324434976112668, 14.882226283302211, 15.908122936801666, 15.808223304388424, 15.839308671802051, 15.951094349836447, 15.01156345062378, 14.970000298397135, 14.90270484772798, 14.897625454302837, 14.755753357376287, 14.921813123871772, 15.068251136476816, 7.613461875505758, 7.467432010504203, 7.495307798008093, 7.516393117569249, 7.537357773887333, 7.471558843059446, 7.548174840864587, 7.671089857609711, 7.744847947017376, 7.944920477279802, 7.811162699424213, 9.7648509667756, 9.53384482928727, 9.502780430879762, 9.484827492374729, 9.40941197175537, 9.251157845160288, 11.129489474011828, 10.983641670946156, 10.814561650248988, 10.706527050485008, 10.538329178882666, 10.307925010815437, 9.175989954248369, 9.235280337612824, 9.165859141677691, 9.06214995206972, 8.895758628773732, 8.437493267556956, 6.9792969196175685, 7.111043716230937, 7.025634530734516, 6.9161993336445695, 6.727644811131212, 6.151930797930283, 5.640663200824775, 6.23856144687792, 6.166213156199434, 6.18031669359115, 6.190163592950535, 5.932052021475257, 5.773285845077939, 5.530240679271708, 5.483110768347863, 5.57384605991091, 5.389168171724245, 5.541817509726113, 5.577349800022404, 4.768056888422036, 4.831668017195768, 4.701172991363213, 4.662638926845369, 4.847179111422348, 5.455279303221288, 5.488462029567383, 5.461257089856313, 5.306703088545881, 5.331592242359166, 5.258234365546218, 5.243334798708372, 5.289723701758481, 5.225533534391535, 5.258334804310612, 5.287562088313104, 5.182929756219525, 4.7195344052287584, 4.727705598350451, 4.735479711316673, 4.735372282057267, 4.900553491051976, 5.018612512138189, 5.36777927762216, 5.311882784936196, 5.295995835278556, 5.408941651182696, 5.323171109940947, 5.221654037192655, 5.314144734905073, 5.265742480703393, 5.281175553299098, 5.256907197056879, 5.138493386476813, 4.924748100601722, 4.661390190087147, 4.736667990896359, 4.723750120992841, 4.565001276377218, 4.494468949933223, 4.305719080532213, 4.2869876118892005, 4.365422662633032, 4.451067958280165, 4.468490880018674, 4.51663285084099, 4.510179884220355, 4.564851823062559, 4.495834589635854, 4.474723472922503, 4.520556818783069, 4.550445956115779, 4.575993261749145, 4.58375703680361, 4.494085168012767, 4.470997957983194, 4.404034820961064, 4.314384896202926, 4.273451590069639, 6.146110413554311, 6.200842014005603, 6.187214538593216, 6.38470298225957, 6.45377392779334, 6.557312708683474, 6.9327983425925925, 6.9100025760971056, 6.780370688764394, 6.980548151862729, 9.264250919701215, 9.122009928653762, 7.296113152462683, 7.496022138655463, 7.61990874470125, 7.588496404061625, 7.732380680983505, 7.10319115227202, 6.983540675925927, 7.010833570939025, 7.071890356442577, 6.8943086207464495, 4.769069954170558, 4.703544645658263, 4.580021113756613, 4.334251904701611, 4.169545877217553, 4.069237829209461, 4.109167815748521, 4.140743416491597, 4.1497233821195145, 4.130585999221911, 4.1829680082477445, 4.305834534080299, 4.460965250855899, 4.615486801509493, 4.68790041938998, 4.876945808823529, 4.899116663927897, 15.583991268985374, 16.139101093802523, 16.340837907164914, 16.481886016106444, 16.714722506047053, 16.813113864223467, 16.80178338326202, 16.869486409531618, 16.997598121693123, 17.13808131971678, 17.13196090585123, 17.401071568146307, 7.028909396903207, 6.679680414565826, 6.829826613909638, 6.985636796218488, 7.07435604725289, 7.197009428960474, 7.470758316915655, 7.9730834346405235, 8.066211326390187, 8.255280081980112, 8.376260431928888, 8.483886351618423, 8.445880007526716, 8.921732158496733, 9.160123924058512, 9.404673476020594, 9.558914757335438, 9.719157437759367, 9.80402003197946, 9.629292862278245, 9.834981385465296, 9.967955495409276, 10.016094910597571, 10.05166947035481, 9.94666942141301, 9.894433218253967, 10.131554803921569, 10.013403740662932, 10.045527839402428, 10.316368202058053, 10.462362631886087, 11.194169769931404, 13.314718752188416, 13.316600038729383, 13.323185146644525, 13.324763224867729, 13.666908479225686, 13.760019069950202, 13.642190841192033, 13.580832256769376, 13.577862254085616, 13.510325630018674, 13.29957075090388, 12.760427629089511, 10.917493480429766, 10.850682069016496, 10.990588922891382, 11.088093168767507, 11.42611429956427, 11.703446003657016, 12.07833427614379, 12.32847893767507, 12.42463863530968, 12.447227715183118, 12.696516140756303, 13.56658167499222, 14.665837426081543, 14.879042191876753, 15.02896048521631, 15.192833208024387, 14.878893042483664, 14.59629571573102, 16.162021159770852, 16.093688711640212, 16.19880982033406, 16.213104372856368, 16.40468935543106, 15.379295458837806, 14.60847035146281, 14.56745705499987, 14.44183167841192, 14.225944305800663, 14.218414275754748, 13.298597338079675, 12.697676208683472, 12.808837845365185, 12.992185014628072, 13.232482321739807, 13.136446147300685, 13.175551522175535, 13.52805932726424, 13.619382630125257, 13.87055942647059, 13.989499480547774, 13.93165332072829, 13.55405996739807, 13.676343389007547, 13.728059383675694, 13.47521517343604, 13.215577438932335, 13.136823882741986, 12.810073222922504, 12.907312123478189, 13.013997208941552, 15.39664449634298, 15.52389322097728, 16.157464586351676, 15.91731899611605, 16.098701878773735, 16.285632380096484, 16.570210892001246, 16.906038716542174, 16.623060196000626, 15.888910042290435, 15.507940296529728, 14.994473989495797, 12.415311350918149, 12.445131393323996, 11.46932381971548, 10.87633816425459, 10.526410327497668, 10.332679881263616, 10.568179439855498, 19.184172024582438, 19.06388227327402, 18.90621415538438, 18.78315860714286, 18.69968754660753, 18.798931052754437, 21.17533252964519, 21.151947831232494, 21.123530429876027, 20.98283717287712, 20.4544501144569, 19.802661205150176, 12.248509282913163, 12.197260480735824, 12.075059207749764, 11.995934552567698, 12.004176909041398, 14.090242910441956, 12.29795382524121, 12.279181758247743, 12.148292164799257, 12.062874431061314, 11.993336685418612, 12.17194467841581, 10.670532727095017, 10.789960863445378, 10.907934798863993, 11.07643166128036, 11.039584822978917, 7.8807192972112, 7.707403936196701, 7.686967477824463, 7.743340046683396, 8.025254321632822, 8.213148641145347, 8.491636397359052, 8.844967435807655, 8.746545208683475, 8.634962886788047, 8.46224080166511, 8.472168549875507, 8.782315559757237, 9.579927712807343, 9.651078648537194, 9.73875606940554, 9.390803188764394, 9.339932498707755, 9.185002523965142, 10.474888503267977, 10.37611401065982, 10.388581208683473, 10.427829671802057, 10.388812119281049, 10.886288793719524, 12.08789068775288, 12.064104656240277, 12.09101166721133, 12.10466480664488, 12.030481755462189, 11.69243949922191, 10.179829993152817, 10.22302324081855, 10.252505111266728, 10.170268907329598, 10.203114300630284, 8.889010492917427, 7.666225235294118, 7.725949701732545, 7.603886306178027, 7.6386853662464995, 7.647490400015561, 7.684085284469344, 7.653533745798319, 7.554280674758792, 7.444236248443823, 7.456134131263617, 7.467294144802366, 7.283891533564816, 7.62035216387722, 7.593916570339248, 7.522466846872084, 7.499994809212573, 7.391451573140368, 7.148321862738614, 6.695793002489886, 6.704329431372549, 6.696633476346094, 6.689046959305946, 6.55079310410831, 6.408286838151001, 5.910928086834734, 5.77672191861189, 5.75298240079365, 5.713890484282603, 5.700227780982863, 5.845894163797468, 6.252345168914047, 6.387118699112979, 6.393460976968566, 6.297501758792406, 6.333771409193122, 6.068443245331466, 5.991009931216931, 5.942606553532524, 5.8964160133053225, 5.859049128462497, 5.879630403863862, 5.830621109710551, 5.725550022175538, 5.516915612476029, 5.346656654941229, 5.299209198009437, 5.286393087726543, 5.37821227017412, 5.389781182036665, 5.357164584167984, 5.356363389589169, 5.391208253423592, 5.322586472844693, 5.2766855098026255, 4.915556928104576, 4.920430734572094, 4.966831385256636, 5.015764529121943, 5.097223646927884, 5.106383246127192, 5.111668092170162, 5.126945875910477, 5.098255326413205, 5.076835995409275, 5.1357202989670965, 4.991694851696234, 4.948532980314349, 4.971826705726735, 4.986101849206349, 4.982818762994087, 4.964273051353874, 5.082300577419858, 5.149315121582245, 5.2452418032990975, 5.285685335901028, 5.216331972998366, 5.115143636047569, 5.058536641708167, 5.043621782757548, 4.962419574618736, 4.664854115402276, 4.51480044475568, 4.365091200339117, 4.263164067226891, 4.216684069911298, 4.147105611625847, 4.298847961517231, 4.410279008844589, 4.549938193043884, 4.762602855152835, 4.936597975608958, 4.9989952446041945, 5.368299794033354, 5.607436160829531, 6.096404550903119, 6.271305110539864, 6.316356499315949, 16.95831468246187, 17.30342685760971, 17.400004868093813, 17.690004954469508, 17.99565861225555, 17.98199847402256, 18.26930009709125, 18.279820587267672, 26.231036531671936, 25.961396154672983, 26.042911066235547, 26.601888684583816, 17.25665280882353, 16.963249274509803, 17.00923210473078, 16.878060278166824, 17.08694482438531, 17.331713509147082, 17.332227071428573, 17.57792705265712, 9.800240735994398, 9.858254042680777, 9.730112455630618, 9.83500273327108, 8.805558014669026, 8.856734330156025, 9.422857416441223, 9.43979481706016, 9.186900405998465, 9.591272414046395, 9.78836173116404, 9.881213913906333, 9.78771251333676, 9.791113844941137, 9.648985067927171, 9.678473452925616, 9.685726030457648, 9.73530810732961, 9.2589471914099, 9.257593324065, 9.357409046371512, 9.101570891223158, 9.019855389314245, 9.09257924579832, 9.218083692187983, 10.2629952832244, 10.258935997276687, 10.635924718541862, 10.723595387721756, 10.82876097587924, 10.951274983815749, 11.028805547230004, 11.05035294623405, 10.901669707205109, 10.855271437156365, 10.72422311192616, 10.872736422671608, 10.156396360985967, 10.274970149820392, 9.990726384998444, 10.113480668744812, 10.23741149229692, 10.370002891845626, 10.520166127061936, 10.551853831621536, 12.699408261126672, 12.572433409897291, 12.51455282741986, 12.516380639355743, 12.476301250311236], [87.85164654372862, 87.98196899190788, 88.32031106223806, 88.64039286072206, 88.88501965266107, 89.7677598753242, 90.62714146016184, 89.99026284739061, 90.32052872027698, 90.8282614442751, 91.74511474906627, 91.53281936912543, 93.13968925163398, 93.55197056761595, 93.89920665503944, 94.91765737994086, 99.38516847486773, 104.45737482329598, 110.34342612564453, 116.76335513907304, 115.56807919631184, 107.89426526867412, 100.23708020921062, 92.5868886530501, 90.53258291129788, 90.02417714635854, 89.2471250526361, 86.98358143145035, 80.9896692844726, 74.4789294136321, 66.92485072086382, 60.565766328431366, 59.04136289324619, 60.21953320046882, 60.4701474422658, 60.84984833317771, 61.34766104014939, 61.72251699517585, 61.70751253634455, 61.247106583878, 62.5803598321662, 62.64484630999066, 63.78892692405851, 63.18113537542795, 59.851176014394646, 58.35758376820729, 57.84769770516586, 58.138743296433766, 57.41480286476813, 56.95696681590415, 56.752025136710245, 55.66673045977279, 54.83416989215686, 56.029403067556935, 54.77104886072077, 54.57099484889511, 54.772498700746965, 54.76151562075941, 54.26156231961282, 53.27384265917021, 54.99446125630252, 54.56588747633832, 54.471051423331424, 53.43579655368101, 53.32995396537503, 51.3491180087924, 51.37402501574528, 52.09421619343293, 52.558037377373175, 52.31298577671893, 52.26105503881303, 52.214799393577536, 50.58943718145037, 50.59773086810874, 50.37058675117751, 49.84615128976035, 49.81688426563959, 50.479208871212, 50.37852754800809, 50.13110452614379, 50.33858515768427, 50.3126071398226, 50.29404520634921, 50.00905617682138, 49.68903753252412, 50.04745530022046, 50.02800378155475, 50.07889859120048, 47.722827123984594, 47.42814686702459, 47.59586897798462, 47.94444025687072, 50.1155531731248, 50.87596401034861, 51.49725742016808, 51.577182582620736, 51.37683259554933, 51.08254691425459, 55.186140195845006, 54.583229423047, 56.01713886148009, 56.43717859951758, 59.42249578120137, 62.98029255898498, 61.74958753995357, 60.82174129867921, 60.08033145277002, 59.95218950202303, 60.0909734211796, 59.68201203115533, 55.70163515420493, 57.25466212385946, 58.16601321866944, 56.84216901198257, 53.24998651071817, 48.763457462418295, 49.05854051991908, 49.13877375466855, 51.50834762815126, 54.39504510488639, 54.39509912962964, 54.28473742234672, 53.57327089231247, 52.19574519926859, 51.79451494161481, 52.46941890896358, 52.964811580532206, 53.14631240234529, 52.83106269265485, 52.676527025210085, 49.87580344446053, 47.30507075993749, 47.12479794203236, 47.04530462449424, 46.96179941754723, 46.76127961772487, 46.24360454746343, 46.81888921895425, 47.49271993072481, 46.47790718354407, 46.43238874315283, 46.48405311850296, 47.18538646264136, 47.42975135491883, 47.46544949961096, 47.33107040978966, 47.40361186321195, 47.5605350943822, 48.17970641173923, 46.7703903496732, 46.04823601727357, 48.088129489408274, 48.09234273653907, 48.02773482170648, 47.332438423825096, 47.38342073996265, 47.29598173661687, 47.498150336056646, 47.379508662643495, 46.55929324172937, 45.36771067120555, 45.291592117024585, 44.99845057135076, 45.46812637037234, 46.01996338894855, 45.93623790849609, 45.95131486943018, 45.82036253338002, 45.96049565281668, 45.76237961741364, 45.64355293473481, 45.44607877087872, 47.52842026291628, 48.14991397352487, 48.326207358621225, 46.84192864643181, 46.51640190756303, 46.54040038383131, 46.56220934360411, 46.29488657633055, 46.0803183250856, 46.23399972814616, 46.40806844854707, 46.11270793660536, 45.00916722626828, 45.13079409741674, 46.41503302676626, 46.6528956556178, 46.70014123708372, 46.60065718510739, 46.63697578081233, 46.88540950613201, 47.0779003968254, 49.070858461095554, 51.71301180431061, 51.15336657473159, 50.99914628952692, 49.0153785978836, 49.022757120448176, 48.49818573764202, 49.118561558201066, 49.22611988507626, 49.17591922961407, 48.82329529536259, 48.63060153112357, 46.161011065141615, 43.71001453727047, 43.4324862264239, 43.49760315813687, 43.3242721390445, 42.13254486601307, 45.64194077567694, 45.614106910908816, 45.607799757002816, 45.55792812791783, 45.37511957181763, 45.49533232773109, 45.49788598232299, 45.165735826641765, 46.58398476353422, 51.98102754878618, 52.09579167880485, 51.55298341517597, 50.96280813492064, 55.64465584948713, 55.613925260582, 56.06530474533147, 56.79256678151261, 57.622935804155, 58.279911146574456, 58.34019901198257, 56.12274317982998, 51.217530508092125, 51.02763795066915, 52.758583673825086, 62.31403873622782, 58.15191403112356, 58.16631597502334, 57.848307386087775, 57.56644660343549, 56.767643747689085, 56.28679653456337, 56.23521757298475, 60.37638012184873, 69.68843189628073, 70.50313525273756, 70.42626346280734, 61.96272739404325, 64.25857977731093, 64.44369886584578, 65.00540311447699, 64.86801955010505, 65.16338174833575, 65.15101004048009, 65.04053029832956, 60.372213362782375, 52.76971554560004, 51.23616976351929, 50.45606270319993, 50.71268932466495, 48.943946813534026, 48.91997573229889, 48.968034090442494, 49.3136802717087, 50.94954002162306, 51.60322371537504, 51.84522441030321, 50.51400355631095, 51.44974819377623, 49.39296262247121, 42.483296605431065, 36.51095999224854, 36.61473246226268, 36.71428636354136, 36.33590837107065, 35.74967106014501, 33.97612023124417, 33.47483860927224, 32.64718787200436, 33.27713869623405, 31.69334303551337, 34.73531481559291, 41.70228509217894, 48.63087687500455, 48.54334691464364, 48.45028383496733, 48.56089103874884, 48.89388574011826, 48.84578148901856, 48.44583497587925, 48.0401663886438, 45.99296989457164, 46.45745619142266, 44.62366733372304, 44.725173090888646, 44.65814469086523, 46.2630821363212, 46.02634973980703, 46.00683803540306, 46.10078741840767, 45.832645660831005, 45.818777631263615, 45.82451764768129, 46.82139439923423, 46.79215300090068, 47.90437483753501, 50.64256804183137, 51.0552155770172, 49.36428977723574, 49.35403781465921, 48.89452535566449, 48.524135225568, 48.55084866378773, 48.45970521786493, 48.36466423000311, 48.61051659235916, 48.02235819607843, 47.38336657314037, 43.057306584721566, 44.687572873093686, 44.73618401701875, 45.259669190027005, 45.14587568835008, 44.81834547222224, 44.65324734796141, 45.19477425614691, 44.90687024712107, 45.57553057656396, 46.21849981753813, 47.56006822852474, 47.651377668611886, 47.23463011702459, 47.207788405617805, 46.68429622788089, 46.67648534056956, 47.5718195043573, 47.86569254545598, 47.69707194462666, 47.57196599988458, 46.18515953710643, 45.860700978602544, 45.02234867500268, 44.29115345829442, 44.57701743090569, 46.54388530854303, 46.83846539900404, 47.26874328778156, 46.7753628252412, 48.69416148512813, 48.53970775980392, 48.471018253968246, 47.9725872579216, 49.10486277637722, 48.67831750630252, 49.89645271848739, 49.91319574245707, 48.15372452829975, 47.96233325676937, 47.627909801038754, 47.43164677169442, 45.49261497330441, 45.62495398389356, 45.31760304138331, 45.76055824253034, 44.56883112034317, 43.49279461725088, 43.9473256355431, 44.965094203895646, 45.45479938569294, 45.40909253408031, 45.42996807838731, 45.29513118098351, 45.30180722630006, 45.207216124183, 44.93793203147889, 44.88284812519452, 46.20299283014317, 45.51621417219109, 45.521365934091314, 45.3060651250389, 45.51544667704768, 45.47349752715531, 45.45501261118892, 45.78639455625584, 45.75440109718331, 45.84862393977591, 45.98370979279489, 44.9481614389557, 43.55010809220354, 43.906795448377686, 43.68444506567071, 45.433532491513645, 45.92084618331778, 45.94313813093811, 45.83468096452761, 45.45989088585434, 45.25239552521008, 45.39628223661686, 45.2846015734516, 46.57772024310099, 48.04680067724867, 49.13148070432617, 48.85827588118581, 48.14787243230626, 48.51801303688142, 48.78912189122317, 49.16069963847686, 49.657340932306255, 50.08550880135388, 50.00746722930284, 49.508927749675145, 48.38389651065982, 46.63859981598194, 45.88236997634609, 46.24953095356494, 46.49569612455584, 46.45591577186431, 46.20180959259259, 45.86325901980239, 45.28431407835356, 44.96805583885777, 44.90071942295233, 44.411176961991, 44.957180566993465, 45.03137993082594, 45.24175133971366, 45.09319604123871, 45.04421389261723, 44.5787820577342, 44.6292561817616, 44.57470417265795, 44.49098337394958, 44.48608357788087, 44.39924884687208, 44.16040198015289, 44.24878894133209, 45.03329397806976, 45.400567560924365, 38.43158065413943, 32.17043616464364, 32.05203960877685, 31.86953926033951, 31.82995520921452, 31.706742748210395, 31.741163840802987, 31.667508858854653, 31.13499577777777, 30.69387547619048, 30.418574070445587, 30.52797288515406, 37.37967417405852, 43.74223879007158, 43.7662282045596, 43.73499316767818, 43.80684213460941, 43.96091068907563, 43.83061416841153, 43.76456376851852, 43.44627272136632, 43.131720685652034, 42.62318447064207, 43.76276643028322, 44.472035909663866, 43.33912031543729, 43.31322633769064, 43.29993963484282, 43.22317699431996, 43.19581255104264, 43.19797407383419, 43.20313527303144, 43.071692747260286, 44.63538086779684, 45.57992795448179, 45.320899132664174, 44.02800191426756, 44.25776199643312, 44.26603239285714, 44.255847895915686, 44.249244100339126, 44.28930723622782, 44.37446134469344, 44.2565785717398, 44.30877039350171, 41.9564965930763, 40.22041804751468, 39.51782932072829, 40.84468279466231, 43.3469565760971, 43.39874690491752, 43.43417882197323, 43.52001216212396, 43.64547422735762, 43.49339199323063, 43.39390103252413, 43.23323817019336, 43.4664663820417, 42.64507256659999, 42.6162677010582, 41.27231824105198, 41.60003236382988, 42.94503993448491, 42.928284488951135, 43.02409179964929, 43.304010386710246, 43.4866717010582, 43.62738372253346, 43.47615607617492, 45.58512441479925, 51.756015835097, 53.233651359788354, 54.20280847331155, 54.61177236002178, 54.74986105622536, 54.81931485309679, 54.60990291853216, 54.124811906862746, 54.122148548444486, 54.42084852034898, 54.25259388117868, 50.191015778555865, 44.910936485439386, 44.06723204147215, 43.95419979529321, 52.17577299190787, 51.29676950910365, 51.558819150231486, 51.800934039976944, 51.98197015974168, 52.11384949431995, 52.07764751247992, 52.18695895669934, 57.59129389145658, 69.40306310703781, 70.23130087931838, 69.26376087983452, 61.69877537293807, 61.70440312955183, 61.664718385387495, 61.66249383496733, 61.89164181932773, 61.87628935862122, 61.834204721677565, 61.73052567464078, 56.73055865974167, 47.55678170837224, 47.053189018164495, 47.2030772140698, 46.66375232675978, 46.59541194102085, 46.50541894498912, 46.60018305189853, 46.52863096304078, 47.77995929987552, 48.03749696817616, 47.67527134438219, 47.75045809111422, 46.38681402396514, 46.03497704995331, 46.38798167600373, 48.31308534765017, 48.26918016495488, 48.281990289258495, 48.14107530878075, 47.95574357057268, 46.73509229154996, 46.6902908120137, 46.571371145658254, 44.804132592826015, 44.74283424618736, 44.004389093137256, 42.213126123560535, 43.61942829435108, 45.3930098553766, 45.48817081956116, 45.663427301742914, 46.01473005112045, 45.986083802521016, 45.75886410674151, 45.5756426521164, 45.6248230799614, 45.37163936235605, 44.28177220113601, 44.79048372284469, 45.1833410834053, 45.668514145113605, 45.53050967071273, 45.3875121645561, 45.21401079044637, 45.36889894318913, 45.44772015227137, 45.22386122997912, 45.50368845354808, 45.316557427478855, 46.09836388124158, 49.70838029785247, 50.90898280711173, 49.366078065748525, 49.443503365157184, 49.427310579053845, 49.41557839581389, 49.26896071551251, 49.23919405267662, 49.16879969039837, 49.57391971266729, 49.67704760763241, 49.718548558434485, 46.10365824603174, 52.20213829684096, 52.5646619772798, 53.109965417522574, 53.09199626244229, 53.07179098194834, 53.09272221078433, 53.20385926187689, 53.27315919099946, 53.204729746791024, 53.930217701291625, 53.36419529886399, 53.3504649266904, 47.37373303073451, 46.85315494125428, 46.20515965359089, 46.15888958325552, 47.03619364690321, 46.975951270697166, 46.81097685122938, 46.483319770385926, 45.57896193004979, 46.93617453384687, 47.8046901573296, 47.42549503727046, 47.002314474024914, 47.10227251704016, 47.22497791816924, 47.21520427625879, 46.19995903003424, 48.14118018874105, 48.04789834570495, 47.932638320105816, 47.54903395619358, 45.48553278470277, 44.7882591923436, 45.79698652411363, 46.9404588440366, 47.00350256846406, 46.96503606773849, 46.99459277893648, 47.28177770378152, 45.65262886679116, 45.74601410434175, 45.54075456862745, 45.8597532989418, 46.35673740149001, 45.94095767032368, 44.84783462962962, 45.75378234053191, 46.038229293962026, 46.06390174017922, 46.09449899867725, 45.637879015639584, 45.44521098404918, 45.54453166962341, 45.34303049463118, 43.82543946342981, 44.14327310211578, 43.643599879863054, 44.46845061554622, 44.915974040240165, 44.92190996335201, 44.71710160201849, 44.599801834733896, 44.70537390857455, 44.7406351764706, 44.61187053376907, 44.70264777878929, 44.6501476993263, 44.290243133675695, 44.61777115141612, 44.72909030460693, 45.66513355150949, 45.67112389239029, 45.76376841495488, 45.88209229758597, 45.9174539004046, 45.73730680267663, 45.66064514807034, 45.34118614262372, 46.42689128618113, 47.50062119800603, 47.38053262573918, 47.52015680454404, 45.911798344504106, 45.62080627933397, 45.7000127884376, 45.54258945907252, 45.47428878361345, 45.46051660580455, 45.38302360066981, 44.88268950124494, 43.3539196574074, 41.6480583558201, 42.43674395564892, 42.71875160364145, 43.76907837620604, 43.91743518517935, 43.66483232197324, 43.60051624898848, 43.43561879427327, 43.42580552668846, 43.55917885589792, 43.57724587262683, 42.65858838009648, 43.09096676890756, 42.78772461710239, 42.99974828804854, 43.307535236223934, 43.11195651089324, 43.18084541734815, 43.16890097124833, 43.12099919156552, 43.10733685033329, 43.1147342884376, 43.29636813383132, 44.703569709539366, 44.57768463787027, 43.98806997525677, 43.4107544562714, 44.15632856156438, 44.26250042149082, 44.337465511360094, 44.46334567328043, 44.76624711842516, 44.81095527645503, 44.74164862815126, 44.4731894243905, 44.35289290203859, 42.32481623739756, 35.30113283457828, 28.27808882352941, 22.92793338219408, 22.852608890834112, 22.7475645384376, 22.796016783303536, 22.70811734920376, 22.75016250645814, 22.74674985185185, 22.50679551330532, 21.97793002388733, 23.96014659796141, 30.34329490546219, 38.082393734127, 44.22049286741363, 44.231956825319024, 44.21539034586057, 44.07252370267457, 43.87590365343915, 43.78498409134765, 43.91510092001245, 43.790672781201366, 44.56123298062558, 46.69700334570494, 47.7417978478836, 46.664113434796135, 45.08627302489885, 44.94667924758793, 44.96584591892313, 45.07866539528612, 45.14430988857765, 45.26706427315113, 45.12564049945534, 44.44442399695637, 42.87226941845627, 41.3880912238303, 40.405042330298784, 40.58967598934018, 40.636008070728295, 40.58028910364146, 40.55130210037348, 40.38218878435103, 40.41281920136944, 40.25865228649238, 40.3676326729692, 40.169818441409895, 39.56542529162776, 40.26421577308442, 39.82051864987487, 40.26863723318679, 43.95422323417303, 44.50717623866908, 45.094470737317145, 45.64258738315184, 45.98371022268908, 46.68815946842257, 47.1575198821714, 47.73325549905724, 52.02827791531215, 56.08708275217997, 56.88704300171179, 55.91744918215064, 57.39786139504168, 59.25525697850982, 59.276353727357616, 59.36529177583256, 59.59350587278245, 59.74316771949891, 60.368905777693485, 60.70664865544986, 57.41651089480237, 55.12298173140367, 55.54643900343982, 56.84323375497977, 65.36259902841195, 64.53807348210395, 64.99109422167756, 65.34335157415188, 65.64085359049176, 65.57879904649708, 65.51178276548399, 65.31364212799564, 68.33552382135075, 77.32725088457674, 77.99810262830688, 74.79008464064478, 67.19795057477437, 69.73235370628484, 69.9569495779801, 69.89363738260946, 69.92966661235153, 69.99343139750829, 70.00703820821661, 69.83672986308858, 65.85374946234049, 56.79159017418365, 55.707523706193584, 57.235955389978216, 56.70941495782757, 55.3650642136853, 55.82557115950825, 56.61318792283887, 57.11264417001246, 59.3994071943284, 59.95810431349206, 60.41907283937653, 60.1857045590777, 65.91807345557112, 67.86480830936819, 70.13794332244008, 70.27173845666043, 68.91434157189543, 67.882583590803, 66.78205812784003, 65.73064021249222, 63.77555827521009, 63.13668776034858, 61.84321013787737, 60.48690996685341, 54.01645725202303, 51.26221591394335, 49.64915295891689, 50.72222420681606, 53.14860677614379, 53.32733270367972, 53.62369833113914, 54.34881041327553, 54.55096740575074, 55.243946166557095, 58.03328594999677, 61.10536304863056, 64.08868445401494, 67.28948559235917, 68.87731919192085, 68.36847044654527, 69.07102747673514, 69.85949846739805, 70.15635411671336, 71.51506129435107, 71.37446856691564, 71.27078551142753, 68.04578735792094, 65.03353939293494, 63.7583531146125, 63.36440537002933, 69.53197124410381, 72.52991176890255, 70.35119796755916, 70.19571508162552, 71.55033946579744, 69.86698005610154, 69.4191390950604, 68.70102036060585, 68.33354242299541, 68.4636724684253, 68.58714171017223, 66.79214853729381, 60.02153409718332, 57.78736633322967, 57.130197060336265, 58.7022024780579, 56.90895101742856, 56.6438368162238, 56.55377593985372, 56.588528731092445, 56.36282804785247, 56.00187312402739, 55.87828305112044, 55.58572226688453, 55.24628890841892, 53.57477213177782, 53.334071571428574, 50.87858768191722, 50.94664521210707, 51.904381100213975, 52.08274725684719, 51.77462228353564, 51.530934166900096, 50.6622647002023, 49.62425574377529, 49.61840601394661, 49.74898026092177, 52.55275226322752, 53.76050012822906, 53.706685709772806, 53.35441676501712, 52.833426810146285, 54.4937215445067, 54.57402508215065, 54.817754998677245, 53.77571710075409, 54.1489851896981, 52.44669510799876, 51.89162272899159, 53.6413571590401, 52.35636818611889, 52.01299713955518, 51.47278947953626, 50.8025626756925, 48.592629763112505, 48.56112211686897, 47.57051161585745, 47.79236267475879, 46.74575430283224, 46.666706821350765, 47.05614175035533, 47.619961742063495, 47.46862438292614, 47.5151508709092, 47.52834663017429, 47.68457412603421, 47.76027933757134, 47.81256461243387, 47.37435385014005, 47.727971969460015, 47.92022473722836, 48.747250810690936, 48.89595759204923, 47.43657245487019, 47.55977043565205, 47.60961395090259, 47.63388781979459, 47.86133211048865, 47.978528401723466, 47.671726314036725, 47.29272206820833, 47.0668588426704, 47.22036225381263, 45.48154579495214, 44.69297195946156, 47.06529092365199, 47.93695785558669, 47.81918916814504, 47.75702031628285, 47.67499657889823, 47.38026491072012, 47.3059233828198, 47.21585260729847, 48.862154910464646, 48.95207767460256, 49.31018695136943, 50.245259385776535, 48.1555463834293, 47.576476661609085, 47.65935955734516, 47.68645336951448, 48.00331137729537, 48.4201814502023, 48.79545698202615, 48.76142449507988, 46.378726152872446, 45.40635667631497, 39.39432108348895, 32.41985095160286, 28.46763363390912, 28.727622118736388, 28.829179124416434, 29.059232752801123, 28.6502574694211, 28.545145317149085, 28.67315659936197, 28.405514033846877, 29.303448090077417, 29.17187928816758, 35.93263581139123, 43.30150347222223, 48.324025907767926, 48.0097588250856, 47.77159817639279, 47.39984277365391, 47.12213717452536, 46.77669583877996, 46.34178898358232, 45.65569371537504, 44.39158300513539, 45.45265428640678, 43.61633782882041, 42.79158529256147, 44.07313996864691, 44.694087856561886, 44.73697321786493, 44.88223468728603, 45.012456401104885, 44.944001456660445, 44.76568938297541, 44.3889687780112, 44.74436081956115, 44.25331748241716, 45.52700092755991, 46.31115113881108, 45.532649880641145, 45.1223139414099, 45.02106757477436, 44.91135927544352, 44.84219725809213, 44.85728109632743, 44.87441721724311, 44.80756812099284, 44.82408280329847, 44.60379818121692, 43.80538555080921, 43.85327753082984, 45.37029047346718, 45.533068296685336, 45.59640164760349, 45.60834608037208, 45.41304932563025, 45.33006855485527, 45.62620780656707, 45.34179540343915, 44.10672785071974, 44.54639852938633, 44.76945890507314, 45.04111829277479, 45.67630103050109, 45.51779274961095, 45.49618665211641, 45.45512449159664, 45.421760855353256, 45.72633126455026, 45.54251273615002, 45.33933757563025, 44.87754236057035, 44.81453812254321, 44.7766226819172, 44.99187922447868, 44.66584583068784, 44.63151796620696, 44.68687736313416, 44.670432392001246, 44.71250301260504, 44.61206181255836, 44.82417920807657, 44.84638947868036, 44.96984882779075, 45.0258501818394, 44.57562142647058, 44.08356010395269, 44.87495414347962, 45.35199671342982, 45.37250792436976, 45.55834607897604, 45.83864208839092, 45.88633856442578, 45.83045842102398, 45.84667664822596, 51.08257293121693, 55.29403212908496, 55.60133114838157, 55.69498425304106, 57.0369973657842, 58.1563818128696, 58.48788255598157, 58.70362752169508, 59.0997922892475, 59.79996034656085, 60.56141028983816, 60.861097597027694, 55.66830848347925, 52.30236299821039, 52.11629871521942, 54.36890132220665, 61.21093442174305, 61.52834110792095, 61.65692657570806, 61.83889192777065, 62.17576623073322, 61.85424887339844, 61.579634335045135, 61.29872888709928, 65.52772742615934, 75.4143078446156, 76.64808438336445, 75.289337262216, 69.77589027069716, 69.27840796444134, 69.23499532220667, 69.28535938953603, 68.98313768020542, 69.15474520968462, 69.19950535558668, 69.11110465099725, 64.31086427482103, 54.96720229116091, 53.19829438569224, 52.287526115423546, 53.32662277294391, 53.74989555197635, 53.92251476227955, 54.03142895463741, 53.92162944623405, 55.24406514019803, 55.80455066970121, 55.862470320728285, 55.05106747276688, 55.41504081808279, 55.025892512760656, 55.95557229583427, 54.545819984126986, 53.89117906897241, 53.58564258870215, 53.24928642413633, 52.9824113146592, 51.38682958434485, 52.158184092826026, 58.55977546075124, 60.92198711616869, 60.269220860410826, 60.37128203384687, 60.80592502736863, 60.398746938453165, 60.561372938920016, 60.92948941783381, 61.06408980625584, 61.357925351151565, 61.41045058597885, 59.64216732726423, 52.58842546879863, 50.3917564030501, 51.27047723300524, 52.19503530942395, 52.12825736251167, 46.84309607230932, 46.96751469125429, 47.023168836523496, 47.247099206381264, 47.34739107337379, 47.52244981847184, 47.574618508403375, 49.3246484432773, 54.1163379952831, 54.30847816728913, 57.22498455882352, 60.05203519747899, 66.29918745962625, 67.07903780975724, 67.10871438515406, 67.87983447794312, 69.22504223194834, 69.15764289853524, 68.88441657049486, 67.60727221662192, 63.38123077204197, 61.63269435955493, 57.0219913313881, 53.72269189970739, 55.6742702273252, 58.08652603556063, 59.82363899472692, 58.90819062192654, 57.32399791351282, 57.40191318215064, 57.64743663920012, 55.94831311935885, 53.98356336150015, 50.45004791525962, 44.76772289204339, 37.93005693721541, 31.714812206893868, 30.98044960704108, 30.771859582008634, 30.740841912231566, 31.59562253921569, 31.35811316713352, 31.37353801151572, 34.157676061604406, 35.9751343793962, 41.3593530296452, 47.90007609197012, 54.53874749903452, 60.417217890522885, 59.57427769745824, 57.62102442133521, 57.50661594802365, 56.833497631220176, 58.56963950995955, 58.15191605983505, 54.18996285459332, 53.5441628990812, 52.228312695845, 50.714652442499215, 43.36630798744553, 36.88593397852474, 35.80801591983025, 35.8062582097728, 35.53566495619359, 35.37047344506692, 33.53889738266549, 33.565207153205726, 33.40100406481481, 33.40749350301444, 33.491342788515404, 31.025049918534084, 30.99587851931544, 31.05975106427016, 31.436565143012768, 31.555701994847755, 31.57731186430128, 31.31060307352941, 31.326177522486777, 31.691953228758173, 31.204657943043884, 30.646135496173752, 30.390698180672267, 34.17058081906643, 40.7096190278556, 47.47135780905697, 48.879371164021165, 48.67555208761283, 48.75245248661688, 48.92274655112045, 48.81656050788788, 48.47005720233362, 48.24080552956544, 47.85344125941487, 48.9613175856676, 50.62904154754124, 50.13175853413152, 47.199694982259565, 47.38429387208217, 47.20998903403297, 47.02701321008404, 47.01609086554622, 46.96208552832244, 46.91398798630564, 48.28947748965141, 52.26883606959647, 56.16268520144724, 57.426239917211326, 61.160889807033925, 65.92946020206972, 67.65254423093681, 68.61844552178648, 68.45198190393974, 69.64875887195184, 73.01744732119514, 77.28813287869592, 74.04388141394853, 72.68299548240093, 69.67220179097421, 68.53005859546244, 66.10445928524679, 60.72426225435729, 56.247444354907145, 55.25131760582011, 55.27427304925304, 53.31325892117958, 49.63490667939944, 45.98640175933707, 47.60152092490234, 44.03869784934381, 42.85696120774976, 43.224285809835045, 44.57491147010906, 51.06519829286882, 51.001631459228136, 51.12325875676937, 51.117514309212574, 51.02055088274198, 50.89659421568627, 50.896774623949575, 49.41829539792022, 50.08387526960784, 50.11221362192654, 51.300364615546215, 49.94346695938375, 45.70228628096794, 49.36529159375973, 52.621681182072834, 54.43695968137255, 54.63330841705572, 54.76759432562896, 53.89686836951448, 53.76181888250856, 54.73057087519453, 56.92689326710888, 58.44670437929597, 58.32162730695611, 55.56194923264861, 52.42474358633096, 48.46973655291006, 47.124412862667285, 47.03133613499845, 47.00685925380876, 47.193979129474016, 47.41944507555244, 48.28868700955862, 45.60910636858076, 43.91768940896358, 44.75679543744164, 44.72946360208528, 44.7278716214597, 44.715813019374416, 44.70700810690943, 44.81113986896981, 45.13141774042951, 45.27732327715531, 50.62365069360978, 50.80571030112044, 51.11849965013783, 50.54693301027077, 51.290093418111965, 51.36824717190132, 51.377085149393096, 51.78581029594552, 51.373888991051984, 51.534851417487495, 51.20301357547464, 50.71404564570569, 44.74218312965319, 41.76883120292561, 41.10570792913741, 39.30551178299097, 39.92831385278556, 44.11492580726735, 44.071382400248986, 44.20932824751272, 44.14564919746926, 44.0314247713216, 44.24196589643636, 44.37140128368542, 44.75437973801743, 44.10852063708566, 42.28773852722599, 42.54927473187052, 42.72145795642332, 44.53279024125298, 44.684601327780086, 44.74387065265135, 44.803866393966594, 44.85575701397124, 44.81019911492375, 44.84100033733632, 44.59226717179881, 53.219851331932766, 57.6188332170194, 58.860630647136624, 59.82156225643609, 57.67834947836913, 57.69720173031435, 58.09929492071274, 58.77639351657329, 60.76625402240897, 65.50068345041497, 66.11465901875195, 66.7154909938531, 60.48805841106442, 60.26312385971055, 60.56347171007431, 60.51078723767593, 70.34881984271472, 70.96791886329481, 72.75988487398686, 72.9463789165638, 71.53357883160209, 68.0698599833898, 68.27585902606357, 68.51666775842004, 74.38808461613122, 82.17905071681483, 83.52328980680049, 76.92390166192031, 66.93846872628906, 67.15873483631711, 65.9913349204074, 66.46029822311964, 67.23873730691564, 66.92071582634252, 67.05802015826008, 67.08858772250203, 58.47109310754033, 52.17998921418568, 50.61830390438309, 60.48862302309116, 60.80964804283477, 60.88409802000494, 61.18131255201865, 60.28190417891431, 59.55340579357299, 61.04806766618231, 60.92898984640522, 60.36311792971221, 59.36071554966779, 58.72669757570806, 58.30344593812664, 55.100783242374725, 56.87154370199192, 55.68356351246029, 56.24247251789605, 55.92209537433863, 56.4013592825559, 54.8873927071273, 54.73139616098662, 54.53293008971366, 51.98210150816993, 50.535658446234045, 50.8266795782576, 51.138848483120746, 53.8125185603019, 53.69194240542005, 54.09413491409508, 54.28822461935886, 53.81258647354497, 53.790810830025805, 54.05092007718643, 54.59532953320618, 53.3974209535527, 46.25021866041946, 38.20217580539993, 29.51119537706193, 26.540912259803925, 26.48481587815126, 26.505898969376265, 26.57267063391561, 26.731329219613336, 27.427504837928016, 27.48878168425083, 26.489074612122625, 29.150016610177403, 36.532745795113605, 44.50029477151841, 55.60263439558045, 59.06787037457205, 59.059123874760736, 61.35991902100841, 64.55292877645502, 67.44232259768648, 71.38657347977102, 71.08151119035931, 70.88077480254826, 69.49858658761133, 69.83920228524742, 69.94780404381687, 67.80157832069264, 71.64947147938064, 71.47808614379086, 68.82471631230614, 65.40437378832227, 63.45496389376117, 59.74117859710552, 60.21141131930928, 60.03131542067052, 63.40063851174914, 64.52202445323684, 64.08802010341752, 63.96689583842491, 60.1957794339719, 60.405294663165286, 60.16807159624962, 60.45285622847483, 60.4701590558668, 61.21554895101672, 62.75824344810146, 62.6157074355022, 59.42355621459371, 58.30996807648615, 59.69479044156162, 51.86548371525185, 52.28564865818551, 52.38839457315464, 52.216976995175855, 52.59688122353629, 51.45092672572363, 52.71159315919701, 52.323942953236845, 52.05487200669157, 53.44266237072896, 54.591622797005655, 52.54264088826641, 60.12947834718332, 59.83868120790539, 59.89820458909119, 59.73931370611578, 59.4633119037504, 59.56763948124805, 57.09765688240481, 56.61571609010271, 56.18696842343604, 57.5148697980859, 58.03968781489262, 60.01441957897603, 57.60080664309057, 56.8951599964463, 56.84106389456894, 56.771063405228766, 56.21320134897292, 55.43395256123561, 55.419366263914725, 56.02890909936197, 55.2815902092236, 52.95049044484905, 52.01329469436664, 50.98897140639589, 52.473216872237785, 53.28831226291498, 52.73737692530345, 52.79500249112979, 53.00584816277623, 53.40143817161791, 53.37780895697167, 53.197610580610025, 53.07279060060691, 53.104513303610325, 53.28482367413631, 53.0091181868678, 53.46615610231871, 54.14270125311235, 53.97558175, 53.45121189386866, 53.236800000933705, 52.96591518067228, 52.53824282032044, 52.6986021712574, 52.59293505450472, 52.65964850164436, 51.6829277841581, 51.88254713366274, 53.1356126118892, 52.32950977334267, 52.37735778563647, 52.50560035192967, 52.30204769156551, 52.02242522346717, 51.30778268121304, 51.589873991129785, 51.41134737366105, 50.32419047404386, 51.42044626053232, 48.08999576587301, 51.33876562741021, 51.12862517226892, 50.88227085938253, 50.6232118339558, 50.53482942492739, 50.41489924766573, 50.82268642117959, 50.42408225684719, 50.1289711879085, 49.22587587687195, 48.78824274536648, 52.83513380614664, 49.67758945450384, 49.54499258473195, 49.5536923724589, 49.707480928804856, 49.750821317927176, 49.95604986461252, 49.79146291859114, 49.35369258092125, 49.22535532033925, 48.6223139859944, 47.783870822946525, 46.87100666743373, 47.02721127054155, 46.98401872240379, 46.8527088854653, 46.53705971296296, 46.27143647523407, 45.95800034671646, 45.29979463763877, 44.9822905952381, 44.95992803695923, 44.44915539970432, 45.32505874268596, 44.97939806406158, 44.36537631551509, 44.378709548864, 44.3722691083878, 44.31534822712418, 44.24644319701214, 44.29047887682851, 44.30750524151883, 44.41782984943978, 44.30871904161933, 43.75858373117025, 43.91880071164021, 44.021494444527455, 44.759179191721145, 44.4896639872173, 44.59912075023343, 44.538590413476506, 44.65417916549953, 44.5346619241298, 45.00042540329197, 49.44223606076876, 49.36085013126362, 48.15183058605665, 47.53412970564892, 46.90475976602863, 49.88365982212886, 49.884231489573615, 49.81345926455027, 49.84661016557735, 49.85950940281669, 49.77246227454742, 49.31530137426081, 45.08264549159664, 45.10445191549953, 44.78364902334266, 45.32722743243664, 45.389731983037656, 44.67713882048376, 44.71292095642702, 44.841083851385, 45.12783929497355, 45.31549575925926, 45.912153203081246, 46.113154673825086, 46.24445734018053, 46.57103231963897, 46.45652933770295, 46.092864680066654, 45.13378422564581, 46.99434254814688, 47.13025826119348, 47.07881787114845, 47.09976063702148, 47.1591517088391, 46.87524126937441, 46.3967866180361, 46.79356342731873, 46.73750748568317, 56.62716218238406, 56.76868657625272, 58.20249366683591, 58.82866706383576, 59.830266471521945, 60.2041834859166, 60.55798093663567, 60.93088768580767, 61.36529495051354, 61.9791392666511, 62.30343887251661, 62.96764815170279, 52.00199186406785, 52.23281120964901, 52.96972753289128, 53.54777154643829, 63.75900924603216, 64.25784441718885, 64.76131593601407, 64.95043580099994, 65.41637214949374, 65.88288449075371, 66.06158193923612, 65.88582632049055, 75.3948563471833, 81.26979578968253, 81.76340832399626, 84.31809855904334, 75.3593345559446, 75.47745990118268, 75.6023155847339, 76.03043131945287, 76.11281516635543, 76.7504996835512, 76.85252149175226, 77.1838026340956, 65.50366379302831, 62.0502159003242, 61.965722563414246, 60.5473775533769, 60.40918355267663, 60.655331399937765, 60.76680415873016, 60.57183475217865, 60.663849355174754, 61.71121144981326, 61.66288098100944, 61.47852515590811, 61.18136850769854, 60.95447541840248, 60.12712244514472, 58.79390452894231, 58.73695802279801, 58.18941083807969, 57.87498051128229, 57.61167247368699, 57.3024247099563, 55.690037918067226, 55.51008728160664, 54.90730218187052, 54.82114225980391, 53.81008273066254, 44.15865602528076, 39.67437315799033, 43.14020049183007, 42.93442318736384, 42.667864327030806, 42.576650415810775, 42.49098267413632, 42.38366438738372, 42.4934992421413, 41.84817983854653, 41.6101596490689, 42.750896503579206, 52.29172074572052, 59.28553322265471, 56.069903050809216, 56.27727693837536, 56.97500186142235, 57.466127168845325, 57.71385060077888, 58.30355461342334, 58.52526281113252, 58.97941240118269, 59.0125750201525, 59.71455767444691, 60.52571288165266, 62.673469550776815, 63.75086186780268, 64.93151635980976, 65.02565659647072, 65.1486687876595, 65.8451809185756, 65.63358945549331, 65.6783516878307, 64.73423162558356, 65.23720746807048, 65.03233361503723, 63.78529802245438, 62.41229002110081, 62.0384822884376, 61.49329255796764, 62.07493126167134, 62.053054094771234, 61.42104997844694, 61.35548373972924, 63.76857687130408, 66.53679570798319, 65.38945668860877, 64.97772000319016, 65.02315867997198, 64.55387303771509, 65.19210335877685, 65.13481840421726, 63.87744644559002, 63.242855534002494, 63.54508898225957, 67.1256109937753, 64.35170694024276, 60.82491491328669, 59.48385206971677, 59.76793451377217, 59.190950104905845, 57.628123655184666, 60.77779477956739, 59.8240382718254, 59.34401511947234, 59.21262370222575, 58.04101583819056, 55.572584780112045, 56.46326274371953, 56.45555655267663, 55.96948928713365, 55.52040936173358, 54.11984610535066, 54.29992799181062, 54.26735410247433, 54.54461072245566, 54.82262037776222, 54.785026683940245, 54.57086246988797, 52.39334796519154, 52.54760106398875, 52.5222088141904, 51.45884046397448, 51.11713910620914, 52.13941705801497, 55.43149720712729, 51.48788738577654, 51.24833063313104, 50.97984584018052, 50.84660576633988, 50.75967059570496, 50.56186941884531, 50.09176206800498, 50.14640282115402, 48.62749158115468, 48.92053768604109, 49.166030221833175, 50.09811375270839, 50.11004193541861, 49.956713007080616, 50.03501395961718, 50.10140290631357, 50.447514104341735, 50.60634890795206, 50.2190312490663, 50.19904466194425, 50.15063826898537, 52.07175636990352, 50.96936099929583, 52.14738799891067, 55.42536562005914, 59.14609456948335, 60.907561345908576, 60.81868818157528, 60.57899167942735, 60.60022624164593, 59.925294531098274, 59.81000106932773, 59.90691945044092, 57.3017097780112, 57.50368869748095, 60.58693099323062, 64.4683673250856, 60.760423304310606, 59.08605758255525, 59.38696105736335, 59.52212178625896, 60.23289485262994, 60.89753042509596, 60.84631206428559, 56.22891533469175, 54.7606499335512, 51.727078028555866, 48.192162051276064, 48.05901639472456, 49.25662412161532, 49.12052688834423, 48.93165933979148, 48.702317145035806, 48.20662044879331, 47.68267868502957, 47.59109195995741, 48.46452439239029, 47.68032971903205, 47.22392437239471, 48.5005230673825, 47.89356481558058, 47.51010640873015, 47.49419605166511, 47.34195769000935, 47.37755484971969, 47.27370801781824, 47.12955078415811, 47.10556377065325, 45.31380801323724, 46.85416749929972, 48.918604643324, 48.63161588068005, 49.31125656800498, 48.968108751634, 49.66866668884221, 49.714918078742606, 49.79043603494205, 49.98891889558045, 49.925002176781824, 49.94394941316527, 49.93980018051665, 49.11491910504201, 49.0796269414877, 49.09519411663554, 48.23760673225957, 48.15394627544351, 47.368351170401496, 47.25618300024068, 46.853600580878, 46.678380853563645, 46.79257332282914, 46.95176521451914, 46.7673113933642, 46.38401052312431, 45.30528532765328, 45.2299888750389, 46.5438994991441, 46.49940330236539, 46.46709724361968, 46.459658014749984, 46.54093683952012, 46.26209226704015, 46.32877084656085, 46.095807798848654, 47.17192846700903, 46.90970168124309, 47.10485067863626, 45.64724344127651, 45.62893169178578, 46.33827850463637, 46.30913006755499, 46.298068510057, 46.46459945340285, 46.74910919024547, 46.60275100840336, 46.37025976960136, 46.06086663217009, 44.21839687245957, 43.27236525972612, 43.604956051580814, 44.11432118487395, 45.33378943728603, 45.34612379217242, 45.4666793819639, 45.07170225202175, 44.27059536377218, 43.87659454606286, 43.5441600720063, 42.32497720409275, 43.69090610823218, 44.28045330983504, 45.124678355975725, 45.917612797396, 44.89663470098039, 45.16421198112097, 45.15698968067228, 45.6714623418923, 46.77201820938375, 47.193901989651415, 47.346112170283526, 49.3510538164488, 53.78029014270153, 55.2412637902272, 50.70144086440437, 45.15723480376595, 45.32310975466853, 45.270888012916274, 46.58787006857238, 51.24612049881991, 50.59653796871563, 51.12623712943513, 51.20698637715585, 49.77912315810509, 46.076984928758165, 46.43736790870357, 50.09899249366981, 64.80198803021942, 66.6914145339374, 70.34751968035972, 69.66272940499535, 65.32434365250545, 65.68156571716464, 65.58395842187986, 65.80358255812325, 69.64703651256161, 80.09176111749144, 81.0282783190943, 82.16440532002801, 73.96103082703081, 75.68918771506382, 78.26488161165578, 78.74100660278556, 79.17251203828198, 79.71467900210084, 80.25938731886089, 80.91835317281357, 74.95895300202304, 65.68858398856209, 64.58579483568316, 64.12263132920945, 65.12097982785755, 62.27191515043378, 57.199978300765125, 57.466150179972, 57.96628579159409, 59.73285025801433, 59.68167327948957, 59.48704062589479, 60.73302878217852, 62.971417887021474, 63.32391525023342, 64.17044238953082, 63.19163547245565, 62.88346643565204, 62.06676319358855, 61.60962648924424, 60.18982475412388, 57.58709046302327, 56.84640673039216, 55.99624282656396, 53.81580113188608, 51.72571995736072, 50.82478390180516, 49.86884779287271, 45.15984659383754, 45.01549724509805, 45.06268977729731, 49.57064618215064, 50.95020495129163, 51.73726440829509], [27.156767230064062, 26.693076650378025, 26.48704944802365, 26.101631613834424, 24.069308249844383, 23.22060985223117, 21.785461111733586, 21.667228257779605, 21.0003949519368, 21.51367762908497, 20.652330176704016, 20.184557057946236, 19.893447996342974, 19.37364199816373, 18.658937983037664, 18.00245616214078, 17.094519379716594, 16.307012714052288, 15.760180243152815, 15.153038377415672, 13.710256329490832, 14.54955111904762, 13.854895423902894, 13.916838351696237, 13.548971561157796, 14.657847051407058, 14.715426376750704, 14.683273094615624, 14.577707847107456, 14.66568898498288, 14.836644895580456, 14.754859156958066, 14.52963599789916, 14.207636925925929, 14.097898079831934, 14.311211855664489, 14.59112416153128, 13.346247530112043, 13.180134082010582, 13.176331676661224, 13.369374770697169, 12.829150874805478, 13.34807539316838, 13.400206670557113, 13.591079503582668, 12.60152299015653, 12.445177650407246, 12.32108353252412, 12.58810740036278, 12.505003493284445, 13.288950743386245, 13.086867738420748, 13.008903340958604, 12.69457316207594, 13.001821813492064, 13.027610800887018, 12.934202473403104, 12.90528136920324, 12.57382158989005, 12.146793422095785, 12.332729471306717, 12.10220688538749, 11.47255666774108, 11.658593301742918, 11.731482909642288, 11.354619949559083, 11.718336375972612, 11.875936741830063, 12.040623453369143, 12.67403451633987, 12.863676700591348, 12.609447394491127, 12.956928974634296, 13.072918878384687, 12.904242377295365, 12.82605377606598, 12.810800869795882, 12.743247423747276, 13.067295680750076, 13.002755521553066, 12.576491894024276, 12.214468715063804, 12.346099657640837, 12.212547285434436, 12.787633926704016, 13.882331117569253, 14.165549962418302, 14.30484266851398, 14.583555181061312, 14.732544834078354, 15.003542697167758, 15.184588675770309, 15.208470299875506, 15.645419427871149, 15.54146871031746, 15.254657109330624, 17.060495231032306, 16.897504702847808, 16.83002311850296, 17.02917140716685, 16.76375292761374, 15.887180668300651, 16.84607836230872, 16.436393474167446, 16.075132005780517, 17.33349443417367, 17.08781019817927, 16.542297388465478, 14.363530915576714, 13.902172064270156, 13.929525115028165, 13.658329800420171, 13.728999800331987, 13.653901035169625, 13.343616922998368, 13.85055941938998, 14.030363011882963, 12.501947927793342, 12.484916830610024, 12.169515045195302, 12.476413214285714, 12.647955783146593, 12.363167913910662, 12.146819278216752, 11.734068789449111, 11.053002262278897, 11.124881200169236, 10.692294812558355, 10.281139348661686, 10.181634237472766, 9.94476912955182, 9.722537650686016, 9.91643115662932, 9.787276209539373, 9.756076202178653, 9.805653776299406, 9.796001433940242, 9.8336559634778, 10.146781406395892, 10.591368350373482, 10.769755280734516, 10.692225210784317, 10.962584373757652, 10.965807866557734, 11.29046992514784, 11.621758546619212, 11.688980722611268, 11.832358368502955, 11.755845354964208, 11.475824278633675, 11.42652508706816, 10.90521532212885, 10.94875855664488, 17.137504785247433, 17.024428500389046, 18.375191834399317, 18.306781287815127, 18.276396172396023, 18.157103565670717, 18.84059330975724, 18.869921009259254, 18.62785303828198, 18.83986743347339, 18.927885538982263, 18.930170607019654, 12.939865775754749, 13.204354543836436, 11.527232077731092, 11.758450789449114, 11.807246457905388, 11.879725525619332, 11.21189602278101, 11.576093011204485, 11.673373649704324, 11.8604024597728, 11.943212791394988, 11.895063649081855, 13.01551402816682, 12.905855313025212, 13.802511942032368, 13.96998502489885, 14.044501967009026, 14.208892850140058, 14.164072444946337, 14.042573684474531, 13.894745996265172, 14.10972615515095, 14.093290196623094, 13.8318504111314, 14.091392816059756, 13.151291189309056, 12.827806093915342, 13.492418747899158, 13.524303344382195, 13.532996162854031, 13.723390589442632, 13.759121294273264, 13.437785414696805, 13.843112929582944, 14.008365132819796, 13.874490140565882, 12.863614693510735, 12.87928156509108, 12.32924874081855, 12.299309668067227, 12.25126154824152, 12.240080196000624, 12.024169295650289, 11.970880670946157, 11.790553599595391, 11.728985035636477, 11.672950936741364, 11.941515592436971, 12.04831037535014, 12.242533220121382, 12.329911569669456, 12.573329640522877, 12.44214382211394, 12.636938545673823, 13.080533113282645, 13.264127911686897, 13.238450676548398, 13.70807548529412, 13.707534043650794, 13.663327621537505, 13.960281664849182, 15.527520518674136, 15.03450091145347, 15.480382468288338, 15.71669400259947, 15.608207911966378, 15.263584648303764, 15.315497374234662, 14.88588530866791, 15.34969358644569, 15.363493674057215, 15.237038101696234, 15.184170882664176, 13.628547068316216, 13.689736474787358, 13.790197265950823, 13.894452757469656, 14.160153110877689, 14.766708005680051, 14.785589680466726, 14.77264553060678, 14.949770581154684, 15.1166240843857, 15.132303127061938, 15.11050112413698, 15.00665789737006, 14.61562835698724, 15.074289801276068, 14.849627157485216, 14.301240254435108, 13.87712213017429, 13.625408642604754, 13.210012190448095, 13.323511194444444, 13.18313845813881, 13.174800290616243, 13.155979265873016, 13.293067616553843, 13.073436476812946, 13.245890383675691, 13.439830915032678, 13.532225991985683, 13.62009858817677, 13.848634957882044, 13.898796124915757, 13.935663626984129, 14.061670584656088, 14.165995828885906, 14.10047519265484, 14.03858349204924, 13.716006794039837, 14.089996735683162, 13.839737608776842, 13.825281628462498, 13.735051922485988, 15.025797301861925, 14.603121242772504, 16.614210866868973, 16.539808159197012, 16.312794470743853, 17.294264597572358, 17.140116549330845, 17.03524015639589, 17.043442781512606, 17.18615777287582, 17.317588642623715, 17.52904292215479, 16.089135858660782, 16.06573319966415, 14.88146747217321, 15.035643633831311, 15.21331022657952, 15.293167182150638, 15.383384154030503, 15.738704755976244, 15.994105443879688, 15.880083637721755, 15.766617159410997, 15.455940193948823, 15.356914292896056, 15.015833736594177, 15.292037268322092, 14.952646445914388, 14.81506107158419, 15.05037755322129, 14.47877713951136, 14.235404359859036, 14.402561840617803, 15.8842807875817, 15.86598479909742, 15.935618239163846, 15.961747750233426, 15.604517006596897, 15.973283999766572, 16.27884653485839, 16.4269979067186, 15.416827234221651, 15.55410322043262, 16.291008708410494, 17.055207456104785, 16.22420380485528, 16.711430782964822, 17.19667145059135, 17.728765323249565, 17.931078958372236, 18.257635671802056, 18.485289794185256, 18.955096095393717, 19.002565902038597, 18.6129743181606, 18.12376337036194, 18.29059567947017, 17.934932523576098, 17.913800098158525, 17.665487699430056, 17.082521133167344, 16.392021693955545, 16.649105792950515, 16.61303267353849, 16.720581018751943, 16.717495227746657, 16.250735831854964, 15.570661121615313, 15.590404323218175, 15.362548434637931, 14.865123129240583, 14.761019365390602, 14.951663487740197, 14.774498384142545, 14.63965952684407, 14.29697285410831, 13.526720564892624, 13.52194820471522, 13.641246940631808, 13.408880081878328, 13.497761642468095, 13.55673554738562, 13.4925037605042, 13.669448245253658, 14.143167841228992, 14.64809549858244, 15.414077325552444, 15.81435761290072, 16.00335934562714, 16.541535802905518, 16.779264432353592, 17.05074988982844, 17.579960296840962, 18.513861191098663, 18.70847847681295, 18.332456115001555, 17.618366283040668, 16.75584781813077, 16.44234408691254, 16.110573868502957, 15.83904257438531, 15.386412719343292, 15.18073928610333, 14.759486969659068, 14.043928971444132, 13.884811447945845, 13.883038283613448, 13.826658719343293, 13.779811263829714, 13.540742758792405, 13.443192188375352, 13.464053341375536, 13.12460287267408, 14.680350364923749, 14.418547252956737, 14.055523279878615, 13.867125280004412, 13.692337609645543, 13.625297865059752, 13.508614868480263, 13.475856975138113, 13.310095865065634, 13.533936730820107, 13.352797698101464, 13.51919134676536, 12.036966233504511, 12.150943203470275, 12.144430935784962, 12.466338659779309, 12.502865151798987, 12.454195054358596, 12.685316225693148, 12.699718669000935, 12.490630637059752, 12.430100713741052, 12.348766220666043, 12.006531690747874, 11.98099757088391, 11.85027803330221, 11.464500789838157, 11.788289885776534, 11.89971358191332, 12.013257024592848, 11.82587849229692, 11.961305655228758, 11.84763827046374, 12.041811826953005, 11.951308033535636, 11.943987775782642, 11.944234957827575, 11.917537994008716, 11.91181423576097, 11.869148651442275, 11.720091448463922, 11.414550096470071, 11.45987191557734, 11.307007776688453, 11.298326869670088, 11.645985645191413, 12.140390748521634, 12.40801452641094, 18.70260058940243, 18.91007519444444, 20.17862790009337, 20.80556358146789, 21.00013862743005, 21.527988974867725, 22.27058491114224, 22.339389781668224, 22.03068901991908, 22.160918369223342, 22.14000616907874, 21.29010319444444, 15.458902332181149, 14.140303688842202, 13.514227843059444, 13.389365562964912, 13.126329265291735, 12.15114399670718, 12.076961655851232, 11.887052213896668, 11.626725522296791, 11.864117964303892, 11.580743116049408, 11.603852278400252, 12.785502926304618, 12.974116359477124, 13.655177841892312, 13.805003849828822, 13.712286609240456, 13.666560597085407, 13.80704389091192, 14.123276501711796, 14.280917977746654, 14.622233003423592, 14.57220970121382, 14.246862250889649, 14.481026271008403, 13.554874230003112, 13.328616191487706, 13.609079305010894, 13.806726314020514, 13.780440021630875, 13.688101311740722, 13.534741248910676, 12.874433219624702, 13.125341819327732, 13.182755607376285, 13.079660407753233, 12.18496061749144, 12.144372749221912, 11.967901858326856, 12.072181169120888, 12.0400545275182, 12.070789681120162, 12.04142656450358, 12.860474126906318, 12.999872121044715, 13.464051187441646, 13.619170444755683, 13.782081341658886, 13.87049498877801, 13.995362178882663, 13.81485563754863, 14.500281818238406, 14.6249081674882, 14.906108026810887, 15.362739902798545, 14.831783895658264, 14.67299522938064, 14.93938760208528, 15.240583920625864, 15.368370112511672, 15.698571022888142, 17.466409900482414, 17.304676050653594, 17.49043884656085, 17.719701153127914, 17.59949608309861, 17.272476422502333, 17.01158720043573, 16.66781100453305, 16.832486431683783, 16.507334003657018, 16.273387568238405, 16.059217564114537, 14.233208513694365, 14.115089085434173, 14.299304941565516, 13.868135638835115, 13.71654652710254, 14.58864401976346, 14.35166707010582, 13.84193084204793, 13.839143601103956, 13.79734492063492, 13.782508308027934, 13.80798458350203, 13.96593030153938, 13.25932093121693, 13.481007395813885, 13.660815021361786, 13.5565804730107, 13.004158423280424, 13.819676941904648, 14.029066835200746, 14.36588132092152, 14.410776554777469, 14.362408259517329, 14.270526740974168, 14.26188043837535, 13.811688226680024, 14.061089121459696, 14.009726122315596, 14.070489233807477, 13.70589437799564, 13.032493573782292, 12.2978576975568, 12.547795175950595, 12.45464612317149, 12.914153700435731, 13.158360248461593, 13.097641100140054, 13.01121420658263, 13.516100735760972, 13.642279521786492, 13.5973485991568, 13.608096314192345, 15.337798195611578, 15.2083316162465, 17.333634408003295, 17.41332398793962, 17.021169331154685, 17.651349218430983, 17.577796451991908, 17.45448466696497, 17.570119210054205, 17.662093861399654, 17.606178838448454, 17.608396277101512, 15.981999972066603, 15.524559124260817, 14.022811807189544, 14.050120026184372, 13.50923166739333, 14.502944070961718, 14.528884386636369, 14.90488585543106, 15.032284614223466, 14.792205239573608, 15.028603128470928, 14.98486158092126, 15.077166502334263, 15.02245391775599, 14.895743822128852, 14.83174053891098, 14.79671840780748, 15.09363846675161, 14.351274788462888, 13.778566830120475, 14.16196918075008, 15.321098931839405, 14.883715461499223, 14.78108939337976, 14.52373744335512, 14.272042974400872, 14.470585120837226, 14.33439225809213, 14.124760943249074, 12.584394127139744, 13.11240535130719, 13.4730210105042, 13.463035881574852, 12.344401146047309, 12.463885248933371, 12.347241445663231, 12.255147628384687, 12.182813474789915, 12.33667010496421, 12.391971015873017, 12.471882307282266, 12.125003382662944, 10.952957822595703, 10.752969584811703, 11.087260090802989, 10.762619536959228, 10.581652919442288, 10.60196338600996, 10.397108190320573, 10.025857199968875, 10.463100341036414, 10.413160877061935, 10.30320535706505, 10.355203556956116, 10.293681311858077, 9.892486206790124, 10.038592802731754, 10.230836180827888, 10.168842385077566, 10.293195725911014, 10.564304680827886, 10.481375340491752, 10.466316891300965, 10.630621338235295, 11.10755673171491, 11.83997284290383, 11.845894792016804, 11.727498046374103, 11.945514373716154, 11.814104528867103, 12.16218327692188, 12.19787851450126, 12.34409276268285, 12.1477222363601, 12.48056589791472, 12.3100328583878, 11.483606642857142, 11.399358857531904, 11.50472752917834, 11.470754235449736, 11.849937832710864, 12.649562178590235, 12.498782542234542, 12.410780482841192, 12.50550898749611, 12.199822861655774, 12.636121503112356, 12.995608021164022, 13.3223051346094, 13.257330902738872, 13.44515998723934, 13.258431692770255, 12.97864659226062, 13.248733757780892, 13.228010042872706, 13.226139324540927, 13.053564684287153, 13.043469286725802, 13.013957104206906, 12.50820529956427, 12.121421214884796, 13.915715765172738, 13.723127990072507, 13.533637158652349, 13.487563475723622, 13.155080589039327, 13.205549779934382, 13.09021808502617, 13.086683188141922, 12.789213859321508, 13.177389280890134, 13.44051231582633, 13.378399836531502, 11.837063917678185, 11.861818674934575, 11.514874438842202, 11.840115299175226, 11.824536244942422, 11.6926636164466, 11.765528158315828, 11.722047619903517, 11.458116688686586, 11.558602550108937, 11.484174312558356, 11.355588686692098, 11.25710847798008, 11.157033561157798, 10.863711709905722, 11.02948005716361, 11.077570602474324, 11.23224593330986, 11.141991610547487, 11.097243526688452, 10.89435614169001, 11.01601829403984, 10.742313468098352, 10.76207338721017, 10.661074106364769, 10.597467726812948, 10.273380322883598, 10.207161940299832, 10.08415304746343, 9.692122057605172, 9.880688865961202, 9.807425521630874, 9.396821001447249, 9.629946519940493, 9.742908729691878, 9.85212213188609, 18.5960180918145, 18.74736260262994, 20.857656778922863, 20.7934068007314, 20.788955223622786, 20.94670908103862, 21.367741448230493, 21.392937652738876, 21.32751684897292, 21.707358786414567, 21.583504949735453, 21.469398779457386, 12.972242091212966, 13.329489829869797, 11.464367683629003, 12.057736721444137, 12.045976686476836, 12.29230931183396, 12.199461710239651, 12.508446371615312, 12.582225027777776, 12.743023975957051, 13.080411986850295, 13.247705867024589, 21.95917279550785, 21.77061890063804, 22.574267485894545, 22.888829856286964, 23.05587472426473, 23.046035594803666, 22.655099506029867, 22.605594245642703, 22.38926279199152, 22.61417298179272, 22.714644284780583, 22.664741195845004, 15.059170861733582, 15.133563460883218, 13.690759000233426, 14.229170627139746, 14.454137806178029, 14.694782219016366, 15.308927970277, 15.86680611346369, 16.26525503750389, 17.461398309912855, 18.22865809757236, 19.20869103253253, 18.678894013772176, 19.054442614169005, 19.382192219100165, 20.34237017071273, 20.847783583123903, 21.37000351242155, 21.57680316313094, 21.92068734191437, 22.007211381497044, 22.17301493495176, 22.03554243075008, 21.948556285792097, 22.40547763611956, 23.08827641830065, 23.10739788897708, 23.62632060076253, 23.70707352513228, 23.61333990110489, 23.57711834211389, 23.453866955182075, 23.129244177268784, 23.70595165616247, 23.33831356045752, 22.67425223008092, 21.96394785683162, 22.85360244047619, 21.805469824270546, 21.439298533146594, 20.922659826174915, 20.41945013141924, 20.03842725414489, 19.40823352318705, 18.420754643533883, 18.24105536336757, 18.17014244903517, 18.310614389277934, 18.39917178976035, 16.512631284624963, 16.26193790301325, 17.014666084516566, 17.300469303462698, 17.325637195833888, 17.213615630176932, 17.59340775485911, 17.69148763290085, 18.86640783712062, 19.722782971631187, 20.45975808884676, 20.991116953159047, 21.785895140496727, 22.06666722354952, 22.21302882586368, 22.576117408418927, 23.187674457127297, 24.12410545996412, 24.47012554684096, 24.21513825117686, 24.037376707282917, 24.08096804459104, 24.33599243106131, 24.56695342214636, 24.53600676980497, 24.67610465172736, 25.12348692761892, 25.40782910239651, 25.835154106659147, 25.76788954636659, 25.817050062636167, 25.671761012916274, 25.62595526711796, 24.93151798849725, 24.52506476859633, 24.62268651027077, 24.16778872821351, 23.131557292600704, 22.968101253034547, 22.47380035717328, 21.947867862356052, 21.23774316907874, 22.278987066312, 21.595485777310923, 23.367265869747904, 23.298888197831083, 22.42113727763524, 23.03447390823737, 22.85316204606287, 22.760931841905936, 22.4968103017332, 22.14903955542601, 21.939492447478997, 21.66795388313103, 19.773228559776054, 19.32957559243697, 17.720896333800187, 17.565356966172747, 16.743024009055567, 17.665221867180204, 17.266436155682644, 17.71627034321506, 18.856573566526613, 19.427801751899835, 19.856569196156244, 20.578004967031724, 20.82692637423214, 21.03940786137955, 21.391800698814063, 21.68766690780685, 21.852999906473705, 22.463339606286965, 22.508030439001733, 22.3553015445845, 21.941576404397072, 22.93135540569561, 22.48836038773864, 21.928425495098043, 21.62671199492869, 21.22009390359477, 20.870306628618117, 20.246765436741363, 19.908240431152795, 17.577698554933086, 16.753791132819792, 16.385490697167754, 16.366218200770987, 14.37597733979147, 14.019193641728268, 13.626010987682854, 13.496021196282712, 12.743840283146591, 12.959949866713352, 12.926070334033614, 12.78087646529723, 13.175281450280112, 12.7546060945009, 12.410093754512916, 12.596513374958503, 12.780281340413946, 12.87361468845316, 13.11412116096522, 13.177055153412349, 13.006877117335822, 14.36077655042017, 14.328491105148355, 14.443404852027088, 14.185508066915654, 14.47217235908808, 14.25603448871836, 14.736012237239342, 14.78316224361967, 14.619389989476344, 14.429409692618224, 14.447884307889822, 14.364958319561158, 14.933626872064012, 14.868860035078848, 14.865234961484596, 15.059520713507627, 14.781941365468407, 14.287556415810768, 15.481822457827574, 15.445811818238408, 15.314829142545909, 15.39016284990862, 15.208862516553198, 14.469188009648304, 14.904448542405852, 18.172782810690943, 18.25593172914721, 18.35632860101867, 18.42972735854342, 17.986867971298242, 16.98147544265484, 17.906811456271402, 19.75708520603797, 19.650878411920324, 19.83430739642663, 20.14807031535948, 18.70257524295184, 15.444489229874264, 16.118085971905, 16.375976011416387, 16.450346174603176, 16.702615701388364, 17.060970655637778, 16.36722493845316, 15.68083770035792, 18.877782950824773, 18.836123097416746, 18.53752609461563, 18.33541823257081, 18.140040185535973, 17.255764092323098, 20.07284172844694, 23.13324627482104, 23.173187896669784, 22.774819395347038, 22.622226130641145, 21.258210137732128, 18.63435384716584, 19.17168337688168, 19.42455705018674, 19.705091797852475, 19.698959675692503, 19.85734424610573, 16.844078559134765, 14.204323558038984, 14.217018230781202, 14.234777336601306, 14.240862868036103, 14.192236624914434, 14.15328806033394, 13.899517092724867, 13.939097871133024, 13.797657896626626, 13.841264149237476, 13.754185603408027, 13.785559392890864, 13.659293110848507, 13.750974704715222, 13.80908402338452, 13.79538190452848, 13.900676088235294, 13.96251299344136, 13.99606699354186, 14.052055518729915, 14.12362431618944, 14.228918419215557, 14.166350551303974, 14.08083725155618, 13.893761761204484, 13.622648191332086, 13.528173553300398, 13.424448182417136, 13.002207022637858, 12.79532771123692, 12.558899007992084, 12.513681950743726, 12.499629948723936, 12.590399627061934, 12.529722439464674, 18.780005239184565, 18.977640637409223, 20.78577350599129, 20.830430410208525, 21.006730876984125, 21.589977983504514, 22.270832344580445, 22.461709948957367, 22.458061821715177, 22.40221438422036, 22.2308347561469, 22.36773000770013, 16.272805571195146, 14.572607699968875, 14.297436128402849, 14.418757269530031, 14.402685987861814, 13.584689938920013, 13.791295700950316, 14.184185410294766, 14.496808334656086, 14.543689777699967, 14.639170740273888, 14.329898848873196, 16.368060130796763, 16.56083794903517, 17.116696998132586, 16.97280080734516, 16.841671357142857, 16.57516080742297, 16.494437138611378, 16.062476034681847, 16.00482687044818, 16.199960147058825, 16.331514816370994, 16.670270354453724, 15.63833769460006, 15.35847640440528, 15.871671091581078, 16.125412765320593, 16.18259782384065, 16.710282397417405, 17.523289010986282, 18.53576117035352, 19.3125449545596, 19.65773871794273, 23.251628640678494, 23.16877284016237, 23.4432300139278, 23.22431065293535, 23.36271844257703, 23.841766580724148, 24.51897024851774, 25.268146453727702, 25.28757900151274, 24.25941195248622, 23.939392632975416, 23.87610013001867, 20.802631813025208, 21.048971063803297, 20.975257692032365, 20.86155086749144, 20.849543433328893, 20.818805672969187, 20.676412913057632, 20.84986982020049, 20.398280521475257, 20.459629557189544, 20.355735921023967, 20.22476250256769, 19.7931705140056, 20.34487230080921, 20.608339065826332, 22.326392331891277, 22.44238472575929, 21.954807207084507, 21.023240887955183, 20.82764798327109, 20.595752517195766, 19.97424172536181, 19.62483949120759, 19.22772675251853, 18.21016171887644, 17.558929060068472, 17.018580547307813, 14.900664446000622, 14.42013133348895, 15.219009390928784, 14.620353248423722, 15.547816822517897, 16.419449020774977, 17.35439530816445, 18.12742065943044, 18.730509289258485, 19.240551640678493, 20.14902045199191, 21.190881135653346, 22.182979898848423, 23.109450871770928, 22.91885764433552, 23.68571508627192, 23.906294940398386, 23.653339913615262, 23.74787980602241, 23.676850541315893, 24.040284465141617, 24.57311482450332, 25.211902334889512, 25.146991739807035, 25.29327722891379, 25.182805677948974, 25.327751923980703, 25.13582726061379, 25.698986968617515, 26.179521201447248, 26.04862029502023, 26.66520291822284, 27.113568978710845, 26.61840881224712, 26.322273556489264, 26.17220583114756, 25.71157076462807, 25.53319787208216, 25.228871881842004, 24.72363509126984, 27.30093646560333, 26.512672821428573, 27.574416677248674, 26.627192389666977, 27.371118719498917, 26.374232918145037, 26.52190315919701, 27.51593435185185, 27.3482192455649, 27.38493963499845, 27.266132077330308, 26.80913489169001, 23.71455359903971, 23.415802371537502, 21.517904744055407, 21.540131504896813, 19.66494220121382, 19.359171896436354, 17.806989992733538, 18.76009103976035, 18.298438854964207, 18.19254193643013, 17.7628246735742, 17.143821749144102, 17.309420913009372, 17.417504856753816, 17.42104080298786, 24.8562485445845, 24.464824506691563, 24.43234199145984, 25.145284764752358, 24.687898924279, 24.200997395424835, 24.163342335606007, 24.13745037496109, 25.29629611585745, 28.061956701285144, 27.981886777233115, 26.863501928045608, 20.756684003112355, 21.21418875816134, 20.933156616160044, 21.56060527166132, 21.360678011826952, 21.580776005512643, 22.24586262236637, 22.455715653294394, 21.60064001080247, 19.26057698046703, 19.572106283567837, 19.71843429295052, 19.13554916371512, 18.871099602629943, 18.366858860177405, 18.48861363741052, 18.3152850087146, 17.60409248506069, 17.29117893674136, 17.036026946623096, 16.43654946439011, 19.15321487278245, 19.079790489840107, 19.2758032782806, 19.53616770761217, 19.679904960006223, 19.75261966643324, 18.78848311411713, 19.088597654184824, 19.51415108395581, 19.761487722222224, 20.262664130927742, 20.19145462550576, 18.17889395168067, 18.006382202847806, 17.70240423488692, 17.783982146886206, 17.72958209204793, 17.23029459062727, 17.51913876991908, 17.70741601991908, 17.160926617339072, 16.813372893323997, 16.277740843270827, 15.830205872327284, 15.98101605578898, 16.087782256691565, 16.231919112356053, 15.859394766970771, 15.668633789493857, 15.125254961640213, 15.127276370425294, 14.849329238639902, 15.090342417133522, 15.55266991643324, 15.516361556299946, 16.0246483232646, 16.100282270074697, 15.76969576567136, 15.576230762293806, 15.813657093032212, 15.794086856909432, 15.394461787554466, 15.90076072069328, 16.043328166744477, 15.663364087457204, 15.47245976198257, 15.480246983926946, 14.145471695666693, 14.27375273311547, 14.264397002956738, 14.158379184562714, 13.759174859824975, 13.951471815126052, 13.45187481442577, 15.342666198599048, 17.134600771630875, 17.502124169252532, 17.728107030812325, 17.76794835403505, 17.583910069172113, 19.02083862418301, 19.407225236305635, 19.544617888032995, 19.62003086789086, 19.648985233271084, 19.342649863756613, 16.52040908368023, 15.832226634142549, 15.534503385281804, 15.150281992063496, 14.89315978828198, 14.377402466542172, 14.72525514014553, 14.43720890639589, 14.238553349550656, 14.213768952925616, 13.97067137052599, 13.737040817608804, 15.23889634905073, 15.35452327404295, 15.31363638398693, 15.34282844335512, 15.500345013227516, 14.978455291113576, 15.883837279567384, 15.870543244808385, 16.073468710363368, 16.21713307849427, 16.520623061546843, 16.76496480119826, 17.136162288126364, 17.40554616363212, 17.521389083333332, 18.03804867763772, 18.44072152645503, 18.49654135418612, 17.322896861422347, 17.513524582818523, 17.65587549144102, 17.884727205708607, 17.782343682617494, 17.336125860676677, 16.4391898059446, 22.166500103018983, 22.68105095642701, 24.14279338892784, 24.09762079279489, 23.749916527233115, 26.96757976011516, 27.53592684606388, 27.437115187908493, 27.182112818004985, 27.32028540499533, 27.034573322517893, 27.42919721451914, 22.23852083520932, 20.58869540841892, 20.00587372276689, 19.82177221973234, 19.63645241418197, 15.92058873233738, 15.640933256478029, 15.36621074723746, 15.18312495876128, 14.8036151678338, 14.35484638614029, 13.73391249859944, 15.685744225645816, 15.810837739807036, 16.394343789993773, 16.126270299385958, 15.949169515328354, 16.782782335511985, 17.08673667450206, 17.11822575223377, 17.330494905883928, 17.582299484747544, 17.272946452671917, 17.594621673784133, 16.633893528612962, 15.80030166853408, 15.934238690685628, 15.987520541627765, 15.380219850995951, 15.328504731207172, 15.522079368873197, 16.22180633769063, 16.9164305763288, 17.967969387488328, 18.26770470343567, 18.8328413540305, 19.472227648848428, 20.13964367872705, 20.623863909537015, 21.471985340491752, 22.12117961810615, 23.059805561575377, 23.295920294895733, 23.269972300168465, 23.032117796561504, 22.48782108439932, 22.21023448747277, 21.76083611642935, 22.0441937832244, 22.332741784036106, 22.652628831513905, 22.81298684710551, 22.488413333099903, 23.057912342807217, 23.441873883199957, 24.025027431536348, 24.01237811181139, 24.051668438764395, 24.15539017849362, 24.184093920129165, 23.55132394623405, 24.85852657421804, 24.40244341713352, 23.77026291479925, 23.16298695903889, 23.06757624857002, 22.32020240322276, 21.456237276770217, 21.386067757175592, 20.846740028244632, 19.756718619981324, 19.24246078995157, 18.722537768440716, 16.195583077589767, 15.694164307335928, 15.472980281356987, 14.938009189309057, 14.83228929604666, 14.556366957127295, 14.475840696689133, 14.590044829754124, 15.56941588406474, 16.057754917366946, 16.592931473389356, 17.201715582166198, 17.94246495611578, 18.491475690709617, 18.940390187286024, 19.24646416503268, 19.78868638336446, 19.95247088486195, 20.48281745752557, 20.694736762216, 25.92388888702148, 29.54592493331777, 30.588619652661063, 31.37054544965764, 31.71307792678701, 31.91500890483972, 31.923703677482106, 31.612355817699527, 32.046120052287584, 32.65699546716464, 32.85762531370993, 33.30415226577512, 26.21094146179583, 23.60183532359036, 23.228604797804337, 23.154013943737045, 22.920921329598507, 22.785953853993888, 23.001247710706505, 23.665399851618425, 23.7478975218643, 23.68267372481125, 24.87521988560849, 24.225219886233425, 25.622250235760976, 25.416280012994086, 25.29969475933577, 26.075399171335203, 26.212644774587616, 26.34313962136828, 26.247378189741625, 25.325659074540926, 25.36343930798609, 25.098143991752256, 22.99442493729638, 31.11520671077461, 29.11109806810191, 28.1926060526686, 27.72736328113213, 28.31240029053844, 27.622117037402276, 27.74362948252663, 27.178695509410996, 26.529720310457517, 26.85657585667601, 26.389129578976032, 25.501342596231453, 17.522905962073207, 17.69908478628203, 17.59463410387488, 16.766903132426794, 17.961883909041394, 17.492561589713663, 17.22286273280753, 17.112889632197327, 18.241232965751767, 17.96535476805694, 17.878338311935885, 17.879239192343604, 18.36187454095083, 18.13578414231248, 17.423616238484282, 19.558623300852076, 18.81357889013383, 18.671258530734512, 19.088999195689382, 19.087371654792072, 17.377997748222263, 19.00756118012761, 19.04543012107065, 18.978529832010583, 18.91337041211933, 19.347589253000837, 19.6119008148427, 18.720941262449426, 19.54652727342048, 19.873579187334656, 20.37428429735425, 20.962344542639283, 21.340462607734203, 21.83096955305025, 22.51778405485528, 23.084448326124992, 23.05241033697027, 23.4463390218643, 23.455346124649857, 24.20801434592654, 24.22304325412388, 24.12757429256147, 23.5958327863127, 23.02057561274509, 22.363434882664176, 20.581837597027697, 19.980262102240893, 19.43567954738562, 19.13353658720801, 18.23195870035792, 17.04512433493101, 15.062764026610644, 14.671660028089011, 14.120638648460035, 14.126957634920638, 14.241791645113604, 14.035152006069094, 14.47027927559913, 14.397504004123872, 14.401627373249298, 14.289409781508716, 14.407146597338937, 14.093002240429504, 14.574370272953017, 14.613850768674135, 14.56255991658886, 14.612870415421726, 14.407657908405902, 14.892052280465428, 16.048391326953002, 16.217352625505757, 16.375741949766592, 16.530478332271475, 16.60055272082166, 16.62012663753763, 17.52155000147837, 18.44570272035154, 18.553730472377843, 18.57108815865235, 18.594589245053896, 17.73219241767818, 17.819587024431993, 17.707826877995643, 17.47969908853032, 17.38948000692499, 17.31653577746654, 16.778870839791473, 16.314092673202616, 18.19909669739148, 18.23541796179583, 18.234727303532527, 18.272579459228137, 17.87365777692188, 17.61699818837535, 17.85428817693744, 17.95407611406785, 17.993079130517952, 17.83654989283056, 17.408600214709793, 16.111380057156474, 14.841455636321196, 14.499856624260817, 14.78249897798008, 14.906362504663996, 14.829517247257726, 15.253168132119514, 15.061096367533588, 15.185503506395897, 15.427980320650484, 15.610853753890446, 15.05321247735761, 15.07952632135076, 15.152417585042537, 15.414353926626204, 15.857758388266417, 16.297170424447554, 15.898947781704534, 15.773279258481171, 15.861227453703703, 15.88604365709617, 16.029635496965454, 16.2157513732493, 16.071660279541447, 16.561708514783692, 16.748617993191083, 16.672572919701214, 16.247801384543276, 15.884760006769373, 15.680273580376594, 16.017525348895113, 16.362371379063394, 16.351225789137875, 16.129001673669467, 16.07939373848428, 15.832603306567073, 15.880036982570806, 20.95017850809213, 21.482771793028324, 22.869546346949896, 22.91336988728152, 22.70457831309397, 22.946906284158107, 23.121294675982345, 22.9176296538622, 23.026455746109555, 22.92565985169624, 22.802780689984697, 22.74350419827016, 18.195254936741364, 17.04437500482415, 16.434602807656397, 16.240734745953937, 15.904696845238094, 15.459309432928723, 15.465277234580867, 15.40524067217748, 15.28891473856209, 15.221252882819794, 14.602078019374416, 14.867319446058174, 16.697950445767198, 16.513641214587228, 17.07422251011516, 16.864189734126985, 16.340506921086213, 19.40261960368425, 19.3228644920408, 19.44885669854433, 19.45184934344849, 19.420782626361657, 19.17316795155553, 19.506569095597992, 18.363894005368817, 17.675719501167134, 17.858550637955183, 18.04294603664799, 17.849202130718954, 15.52064135613134, 15.998615560690943, 16.687812479108636, 17.568828207410004, 18.33652229793028, 18.64852063095238, 19.003389689775908, 19.654860688141927, 20.368140603252417, 20.782237057189548, 21.469562291939003, 22.414657352047715, 23.5411199536259, 24.19508122051043, 24.62282637546037, 24.95486903555867, 25.55167377653284, 26.055346369047616, 26.003893447634614, 26.466118478835984, 26.389174017195767, 26.53117195214753, 26.450107324609665, 25.878901276143782, 25.983618342125745, 25.185869036180502, 24.470999592557284, 23.782385913165264, 23.211777129396204, 22.27285074369748, 22.5796339178137, 21.907006209567257, 23.66232670105821, 23.57068081443428, 23.85275623038699, 23.337185433525267, 23.507361647447876, 23.74840985898099, 23.82819733125908, 23.32583016249352, 22.783768897603487, 22.11627031434796, 21.488049015094926, 21.25744502731093, 19.145217495331465, 18.66892446092178, 17.977290276532834, 17.96190996062805, 18.172456173280423, 18.099005578408683, 18.200952561369647, 18.947091950889, 19.44433995666044, 19.575080192810454, 20.15505663562092, 20.521088683433224, 21.128339219032057, 21.927762641690013, 22.596553089105477, 22.36649925031124, 23.24981015950825, 23.40149091114224, 23.50181179395814, 24.03670935247432, 24.785488873638343, 25.082255696234046, 25.949080167522563, 26.331673991359327, 26.249948633053226, 26.169233956115782, 26.218512744086528, 25.84857446431814, 26.02861834570495, 26.26642156395892, 26.46202613437597, 25.823602588702144, 25.39711216806723, 25.219918790562428, 25.520843344048924, 25.91950710348584, 26.1257172910831, 26.35663195093725, 26.89784093906137, 26.97608397611267, 27.28917847901884, 27.68890785410831, 29.45399966184252, 30.02290721778712, 31.833283364456896, 31.547598834578277, 34.61278551805166, 35.44476926789605, 35.57815815305011, 35.2866061835512, 34.56833067779334, 34.14338557041705, 33.789018896591976, 32.69997823474945, 30.291653167491003, 29.590028668378466, 27.497951202782964, 26.514916524276373, 22.37069621187364, 23.14619423179272, 22.18825744708995, 22.01348846657567, 21.20520639822596, 20.429550270463743, 19.650609650082348, 19.295306417600376, 19.078515547774664, 18.37763332963482, 17.514474619670093, 17.495425724070184, 16.537695804579016, 17.82313271397448, 17.371373854419545, 17.65936040467048, 17.861467146047307, 19.354133233426705, 19.984094954948645, 20.41255797222222, 20.53934941635543, 21.45092288507496, 22.09677052537417, 21.28365830524432, 21.45019232618376, 19.79023493215064, 19.757565885932152, 20.450283470510428, 20.53825238966698, 20.39234132885284, 23.48067865834112, 23.28138572183317, 23.169586816579784, 22.861078159620916, 22.766763844615625, 22.33094580119893, 22.20494171475257, 21.843687944677868, 21.1126614624183, 20.57155236850296, 20.14920250178961, 17.775672555477744, 14.947873976190476, 14.508528195611577, 14.092904369967709, 13.44240985494346, 13.019170035558666, 12.834093047307814, 15.059931625739186, 15.672135386865856, 15.604782313647684, 15.627480703703704, 15.609588506613756, 15.44791347159975, 15.942782220199192, 16.277009613678807, 16.47489920681606, 16.54628794989107, 16.51862722875817, 16.51209601151572, 15.998676937473682, 16.594334539682542, 16.38509772587924, 16.21890963559498, 16.04365962947401, 16.039913208683473, 15.588638700855904, 15.241757141798294, 15.191502510223058, 15.15723090086213, 15.403337631286314, 15.834878246187367, 13.405374048207154, 13.880865053532526, 14.645449861577966, 15.756449228291318, 16.362369050335225, 17.580875268829754, 17.628338257002806, 18.341671789215685, 18.77140315740741, 19.40443573436041, 19.63111658333333, 19.519372537599857, 19.2532964991441, 18.96842023817305, 18.56007046690181, 18.190511882586367, 17.726566974011824, 17.858207276737733, 20.16472784158108, 20.242783421335204, 20.233688859119205, 20.440439497069203, 20.8260256389667, 21.21885974657641, 23.14690538141923, 25.092226659274814, 25.390060624509225, 25.59037815834111, 25.500137714441333, 25.54090311749144, 26.18352956886088, 26.33300897961407, 26.21445147175537, 25.90367159796141, 25.66645850015562, 25.449756747198883, 22.57012418759726, 22.027986486305632, 21.807997972144417, 21.35450614239029, 21.12665385170147, 20.915584602488597, 17.98624212885154, 17.93420635986617, 17.82317703316997, 17.605569214674755, 17.27802736858077, 17.098399313958918, 16.870815181683785, 16.80034511562403, 16.587159113990044, 16.516488998755058, 16.496519391398227, 16.790991789411294, 16.96073505734516, 17.213536411048864, 17.687939067927175, 18.203982491051978, 18.95755184982882, 19.4850706774043, 19.94832706660442, 20.00468324525366, 20.226242713818863, 20.39500567289138, 20.29855341495487, 20.02097126427988, 19.835150046218487, 19.49185858963585, 18.96716670004669, 18.54713392724868, 17.92943307002801, 17.37222964503579, 16.746134256380333, 22.67195515343916, 22.51698319483349, 24.031951144439255, 24.52028461258948, 24.86235719097841, 25.12365289417989, 26.131538498910675, 26.1769119326953, 26.021944322206657, 26.11705879839714, 26.19062822214441, 25.407077839168352, 20.079573558278867, 18.974129700653656, 18.12435665953138, 17.762721412143925, 17.48967431842251, 16.64006217877656, 16.554657289371303, 16.681528723544975, 16.854376442110176, 16.816278985527543, 16.913783787270464, 17.645838250077812, 19.761947415110487, 20.19981635456504, 21.440657121997017, 21.58692235220937, 21.63375457545453, 21.926700533962293, 21.68667263958917, 21.773100930672268, 21.72750605469966, 21.72219070557112, 21.752162800474004, 20.200642274898847, 20.205873615779645, 19.141143982726422, 19.271244605325805, 19.32489786943667, 19.298289331923996, 19.33872586021177, 19.93833888192697, 20.57570573506069, 21.12154401697985, 21.61871972666188, 21.662228257858704, 21.68332237379396, 21.713588894974198, 21.53455766659861, 21.262622482161028, 21.18431961167782, 21.50602129760608, 22.09170275479305, 21.92372845367777, 21.63539016540616, 21.628455926859637, 21.60500788552117, 22.54269762518038, 22.29159313975676, 22.528521286175952, 23.50189944568939, 24.15358981732518, 24.483972385050315, 24.404808195158257, 23.93216315686275, 24.22049210792095, 25.0800976809057, 25.22534073627105, 25.343083454137563, 24.548261399529927, 24.083029576164936, 25.151599504883656, 26.015647014439484, 25.663427436217, 25.093888520873342, 24.68366422529786, 23.975407698263936, 23.01768253612117, 22.016018139200124, 22.300774053688144, 22.438645146324827, 22.843194669156556, 22.77852076851852, 22.12770417592528, 20.95278496234049, 22.113007929816373, 22.79582761041083, 23.31814129516872, 24.267740082299127, 25.12724534663866, 25.82570004185925, 26.0088352647648, 26.294990845081177, 27.00750704589623, 27.72764737780015, 27.65666453344789, 27.91849250172658, 26.87803489582025, 26.68267526065982, 27.06714782298475, 26.86377454539267, 26.684953484049178, 26.1245596901669, 25.622710705844767, 25.23807953179985, 24.319545318938687, 23.713269790927484, 23.76571130890134, 23.413174668145032, 23.58359176953003, 23.667646392156865, 23.53362075, 23.639371376180776, 23.704684197123665, 23.974018979536257, 23.92415891223156, 24.07468060558668, 24.13495737268, 24.337266162920816, 25.242898762575216, 26.05427154793028, 26.021685345856685, 26.07940935862123, 25.70224293033899, 25.384112914517445, 25.056439769452226, 26.51549508208839, 26.375488836752385, 27.53614182240054, 27.39559779466231, 28.98718584999817, 29.98407870728291, 29.332229897525675, 29.52194098576425, 29.22539769648513], [49.22642215880797, 48.01863344557008, 47.58115212127497, 47.55278564067849, 46.11720347079965, 45.517017588157486, 45.33499340297984, 44.11722594351074, 43.9041214194464, 44.3829222534236, 44.39015231216931, 44.371059205416806, 44.30810886851429, 44.67072344039838, 45.9296876083878, 45.94687446903207, 45.19218983945236, 44.57519364791472, 44.42972663539918, 44.64203541409897, 44.83044130508871, 43.604856486227824, 43.80085667096756, 43.27542240894284, 42.9247708207815, 41.70164472595705, 39.6544363820417, 37.69474437990131, 37.09801674626517, 36.685476580376594, 36.799948564892624, 36.878310366635546, 35.6685831826953, 36.11973375461602, 36.44919915009337, 36.00593106963897, 35.79528230026455, 35.90231595935199, 35.95468532135076, 36.14612120068476, 35.2950615428727, 34.022142162190065, 33.00640689705883, 32.192828284717045, 31.395021825319017, 30.248611885698725, 28.90360721444133, 29.09015018432929, 28.780287483172668, 28.51566609718332, 28.15938170969499, 28.72454315040461, 28.64683782282913, 29.58129410445781, 29.50797009360411, 29.20465817794896, 29.10976796428572, 32.45006003882664, 32.7076343977591, 32.25187313988679, 31.88480310886898, 31.28590714625655, 30.70777620883909, 29.86680989733672, 29.511410588079677, 28.585086461406785, 28.73731827365391, 28.347768949346406, 29.15906471178607, 26.08536858154373, 25.20538055188816, 25.035326410052907, 25.059913424670608, 25.25050974066293, 25.07244583434485, 25.097583688945303, 25.738290958916902, 26.47160635169559, 26.31924179442888, 26.3665195402272, 25.614675017973862, 27.015555648770626, 27.29346251121745, 27.807852736539065, 27.9004951250428, 28.81517322572298, 29.0805518778874, 29.245231968876443, 28.820360196467472, 28.71119549657641, 28.53114915608465, 28.86396901167134, 27.44918483518747, 30.54111935543106, 31.292748856520383, 30.644366173577403, 29.90965067460317, 28.49880996366325, 27.898735191098663, 27.376916665911963, 28.415098115402383, 31.036072351229382, 30.21136382996615, 29.594108891223154, 29.30992601233085, 25.20647961666783, 25.60034371249611, 27.01304145074696, 31.283486721443516, 32.21152142343604, 31.92467444156552, 31.83922909593837, 28.83590187003841, 25.57814725217865, 25.338408038515404, 26.276186588654166, 26.117338833722386, 25.923625160735693, 23.48218648148148, 21.590479184452487, 17.26253512282913, 17.344829712184875, 17.421986328353565, 17.53556724315282, 17.708428744319953, 17.91706180088702, 17.95688938787997, 17.812404573685033, 17.92020092360528, 18.02943746661998, 17.82018976206038, 17.53124933901338, 17.493946751478372, 17.629938867491443, 17.668620302193563, 17.621531064659198, 17.643464450124494, 17.637358396047308, 17.521452346560846, 17.489621179582944, 17.424002879079783, 17.397014296874676, 17.62320951023252, 17.6789010568005, 18.48281788943355, 19.34237434827264, 20.431709308590104, 21.28555160576729, 21.81830951011516, 22.306369914488016, 22.60184847763451, 22.888507573685036, 22.949313793293623, 23.925492146358547, 23.530016073295982, 23.656782986150013, 22.925233742399367, 22.736888742919398, 21.60689133601904, 20.65704979916485, 19.55644746599751, 19.1880373899004, 18.79946606388111, 18.901139532679736, 18.821232846133427, 17.95898474377529, 18.083462295518206, 18.07901333751621, 18.11584749206349, 17.75954700933707, 17.70563321879863, 17.849110892156865, 18.03618872440805, 18.175658745487084, 18.344174017306, 18.54025954184952, 18.550486814775024, 21.27964629606287, 21.131594779411767, 21.261048924058517, 20.969123099206342, 21.22506628664799, 21.493821669961537, 22.33102388748833, 22.016693115234983, 21.78931691705571, 22.118279974556486, 22.202353745953943, 22.156805167507144, 19.531100009881733, 19.82688232127295, 19.872764377762216, 19.988910000289053, 20.433315654139435, 20.332601205493308, 20.17775978618114, 20.494501569467783, 20.898525728229068, 20.65666549592995, 20.74468349352486, 20.92400924560998, 23.544966465964837, 23.146585621095287, 23.628442311756924, 23.24125435549887, 23.246556067262123, 23.30338630942982, 22.82613787856789, 22.58803534018052, 23.13332229030501, 23.107437842748208, 23.31825088185756, 23.384475702658168, 21.276452566993463, 21.397341466407774, 21.621637014316835, 21.704069050714548, 21.693142928415813, 21.66437974004046, 22.01173521975504, 21.676683454823504, 21.48731580021268, 21.784750683473387, 21.80675374782135, 21.594647851851853, 21.77479076758481, 21.409410344232462, 20.9124588802521, 21.203681509726117, 21.94538575816993, 22.072180904027324, 21.749660247899165, 21.811879881094384, 21.654762783302207, 21.36462927248677, 21.583745119086487, 21.411037452301848, 20.921095482869724, 21.03641530236539, 21.3154725699502, 20.812210952847803, 20.214374823295987, 20.046016017740428, 20.07174406529793, 19.554302446382536, 19.599841785014004, 19.10301133146592, 18.86702406581077, 18.815000708852075, 21.40220892615936, 20.917623902661063, 20.906191079909743, 20.768116950560906, 20.79094863227513, 20.82410678392468, 20.928292201914097, 21.27063308722378, 21.670544856598195, 21.867876807201903, 22.08250613977592, 22.16111727099684, 27.4580910865235, 30.11965082422969, 30.250339191409903, 30.552442961718025, 30.79117288048553, 30.82186654621849, 31.047321032705675, 31.46837588353236, 31.753710049679647, 31.960785034720725, 32.25226613959973, 32.512434020962246, 24.355531087176416, 23.33370787162713, 23.15544917555166, 23.332174450112703, 23.474877395129308, 23.500608666666672, 23.159111589091196, 22.285227425070023, 21.954692516651104, 21.31098289639615, 21.20001216993464, 20.23075913066388, 19.420467103018986, 19.21121229380641, 19.395187421947945, 19.18089224984438, 19.522364717310527, 19.84657405368814, 19.83826176213819, 19.79214600839081, 20.223114418129857, 20.62566323269468, 21.05526008083197, 21.243462443824168, 21.406557751043213, 21.60569166463765, 21.69072885827378, 21.642829485855604, 21.3670989146051, 21.215792288178235, 21.451506883831307, 21.388621270230317, 21.70242618829754, 22.73215312488329, 22.801009975857845, 23.061224360644257, 23.49069945837224, 23.913621678338, 24.501009540965097, 24.504919401805164, 24.359340975704093, 24.24160927217553, 24.58882563095238, 24.71844157538451, 24.60874668291252, 23.846113746420787, 24.28084433597884, 24.220810129570385, 25.580022719550787, 25.46846020697168, 25.1450050978836, 25.54611614628073, 26.4241365353836, 26.4949021223902, 26.326540388499843, 26.17010843308434, 26.03685425731404, 25.464440100762527, 24.952819721910984, 24.732340617187635, 23.028346450046683, 22.398941047619047, 21.66482333549578, 21.16706419327731, 20.82097394483349, 20.771006690865235, 20.732657418611893, 20.81721790328353, 21.230406575241204, 21.5748210489418, 21.80695927966155, 22.332148597961407, 24.867273014705887, 25.381847927400404, 26.66831692732649, 26.84044906707127, 27.12729255854345, 27.16466380811547, 27.10846669779023, 27.045557655462183, 27.157567922502334, 27.39516647875817, 28.899730283992184, 29.64309360848449, 27.10938827513228, 26.665161225595245, 26.237320142079056, 26.235987520919576, 26.04949075723623, 26.09494147383871, 26.004813399369567, 26.04599029364496, 25.71741665943044, 25.330261762760657, 23.67509463748833, 22.57835289640693, 24.224731136882763, 24.283350299875504, 24.10025475155618, 23.82574038250856, 24.01668724719888, 23.986628835511983, 23.934451111627272, 23.437486916044197, 23.293938609372084, 23.10989858862434, 23.13746179815399, 23.074351779730137, 25.19615023478608, 25.35080058294429, 25.98660653213508, 26.162959299019608, 25.76680628272582, 25.61549437217945, 25.55148672829132, 25.477035926781824, 25.40576632119126, 25.42003432407408, 25.50421306442577, 25.150657703270923, 21.26372182173073, 20.646881443813545, 19.628882005991283, 19.279176397058823, 19.7569800629474, 20.091566773884743, 20.27325459873949, 20.472302158341115, 20.52197520525988, 20.847437604730786, 21.061852019452225, 21.363689096124475, 21.518203704870835, 21.77352846164021, 22.22681499367608, 22.361878065748524, 21.77802395549331, 21.308140476501716, 21.17419975295674, 21.02631024766573, 20.735028770852782, 20.56360521093993, 20.57162795689387, 20.399265504344893, 20.13841539993776, 19.93807683185496, 19.834503839402423, 19.860116838001865, 20.29297698895114, 20.607017140056023, 20.383826087068165, 20.078903352474324, 19.929675340957417, 19.8380091151468, 19.50982519840297, 19.31015897780765, 19.20070738881108, 19.20382594692201, 18.84933745837224, 18.59909257718643, 18.273407485038533, 17.87290598434874, 17.734736338613317, 17.56528979365079, 17.473578806094388, 17.33956383426704, 17.301066514550264, 17.17497247230003, 17.775817118707902, 17.46986222953626, 17.072588970354808, 17.32003069817927, 17.648914656960667, 17.556589322051043, 17.778938125661377, 17.993940693355118, 18.16627469039838, 18.1953996459695, 18.001185994921677, 17.97509814981832, 17.303557408341117, 17.605650988250854, 18.16758938671024, 18.13657610882872, 17.722728951213817, 17.857514236357567, 17.959470070009857, 18.08973708909119, 18.03161616565515, 18.27227201408341, 18.72602749880373, 18.806069932954884, 21.50535822595705, 21.26686339340181, 20.90735557155242, 21.207010470121386, 21.686317506458145, 21.628733457516336, 22.467839708839094, 22.09419322689076, 22.297599037614127, 22.30764127030812, 22.303164188883063, 22.49562911113529, 20.177505634375976, 20.71068718845316, 20.987227714985995, 21.000593747976964, 20.646707268985374, 20.746118831939302, 20.141004657718646, 20.415236518051664, 21.165876037037037, 22.13290462519452, 22.55626661865858, 22.68391819919079, 25.072485702147528, 25.15039282200135, 25.59750544102085, 25.62816505808535, 25.96334058356676, 26.404485524898845, 27.15361869133209, 27.448291579174665, 27.02698846802054, 26.82508588001868, 27.02257709532768, 27.277182715790392, 25.26025431248055, 25.2088381080422, 25.232935220199188, 25.95734146589705, 25.794194331388116, 25.43308517601088, 25.01175918176159, 24.699965841814503, 24.77977933473389, 24.316400732337375, 24.007139978090965, 24.10201367557582, 24.29529827349829, 24.02603707461873, 23.30084065227202, 23.341364688064115, 24.095743980469965, 24.389292270152502, 24.130977325319016, 23.956601985204635, 23.771866051820727, 24.16526897222222, 25.034042809601623, 25.27214217190969, 25.26107144872393, 25.49021241674448, 26.207974457438528, 26.741165670837965, 26.4530340505907, 26.78595502248677, 27.370441799486464, 28.321277725344316, 29.33683119662309, 29.22358865413943, 28.66772015102708, 28.68611192763772, 31.293465623199378, 31.30527886087768, 31.068219484469356, 29.99135959158108, 29.03386834539372, 27.944547591347654, 27.262084379240584, 26.29965303369125, 24.89166986276845, 24.2705699437902, 23.688341598350448, 22.884884248980907, 27.062661048163715, 29.31311685862123, 28.81357384825324, 28.76793205905696, 28.83656257664177, 28.9256919199139, 28.848179704814427, 28.83530187830688, 29.408457940943048, 29.283756646591968, 29.124895336735484, 29.084048571895437, 20.914654897759103, 19.827339088079675, 19.92268750188557, 20.07001665631808, 20.598497732415183, 20.863570133442263, 21.0919945783393, 21.10547882633053, 20.89533875412387, 21.06196167950514, 21.19717439033616, 20.79356025910364, 20.31715731232493, 20.44371462861811, 20.837927529645192, 20.605390406551507, 20.28751190172736, 20.53876100816994, 20.89328738530968, 20.49232291643324, 20.796854143301328, 20.81502135721872, 20.485295068549643, 20.394720312169312, 20.279916621070647, 20.1214590384376, 19.604872150404603, 19.655154471288515, 19.697603154512315, 19.44763099608621, 19.06184654007158, 19.129054820339245, 18.90479508418923, 18.876708723856208, 19.119302100217865, 19.190233597747444, 19.41320318220512, 19.312941666300315, 19.322451629474013, 19.343263849439776, 19.11665328475853, 19.06444952931581, 19.3575005641956, 19.28404352684407, 19.216174898770618, 19.0519663129474, 18.97432355174292, 18.71221145629929, 19.592726828509186, 19.52083635200747, 19.393922115546214, 19.51321978960473, 19.82656679606287, 19.92259376501712, 20.320476733426705, 20.34762199517585, 21.00823802908432, 21.626686136476813, 22.13833249481405, 22.521966686283736, 21.708194171053083, 21.812564246887643, 22.036611457594148, 22.145346252256456, 22.38306155096483, 21.768796357533876, 21.72602359710551, 21.58920232612888, 20.985310859943976, 20.282927694600065, 19.91580357041705, 19.73154822091676, 22.27496820854332, 22.450273570774645, 22.228833507470053, 21.98841113886192, 21.924609060273607, 21.957094696553337, 22.03657708719891, 22.19286273648743, 22.478862121112275, 22.934833294347182, 24.96564416951774, 29.874431186848177, 31.40778831255836, 35.68048419296608, 40.15242419374416, 44.510007419856834, 50.63687889488018, 60.01104826136403, 69.32778751215835, 81.54387592841582, 90.97411241176472, 100.39826547603488, 105.71036073956316, 107.30241956646697, 104.92908334765018, 100.69583141845628, 96.33844346068706, 92.17272100746966, 85.75465307966334, 76.2443469335722, 66.28534584741674, 53.70079175591023, 44.09455678244761, 34.36922771053727, 28.543903557280995, 21.778702780223888, 24.701434883441674, 27.225677245970157, 27.748189117724863, 27.61872590118269, 27.291709204022744, 27.232780615611063, 27.425824508014315, 27.015005237807397, 26.82925278657018, 26.102311637799566, 26.143083291394337, 25.935186652361967, 22.170234714021827, 18.92754947243036, 18.60676028693914, 18.42199612861811, 18.48117893479614, 18.359699483336577, 18.25218294366636, 18.491735171490816, 18.657386412387176, 18.602839098117023, 18.92144750380101, 18.76299016339416, 18.818928993541864, 18.74613302941176, 18.90279035978836, 19.20694063320884, 19.20424654341737, 19.149943991985683, 19.13106484195521, 18.89247502776805, 18.77822826229381, 18.500306113276142, 17.999715294166933, 17.93223387480548, 17.756914117258017, 17.32974572167302, 16.99607420043573, 17.19319135842638, 17.36052511920324, 17.303044137012396, 17.1918834853084, 16.967341590958604, 17.14929098716153, 17.164666656784934, 17.281885778400248, 17.56319570346639, 17.439542501244947, 17.577388044428883, 17.755485768751946, 17.376030187619957, 17.575763518822626, 17.785910294973547, 17.957486201058202, 18.12848343549642, 18.042633804388423, 17.928968695222533, 17.921458831854967, 18.00272002925615, 18.971592136399003, 18.97049284070313, 19.3259013448144, 19.65514782656396, 19.584655059290384, 19.379827725334582, 19.194517278011205, 19.055726403439152, 19.3070010061469, 19.335229504046065, 19.32920701882976, 19.05315858955665, 18.15732751960784, 18.12240729761905, 17.774291038983595, 17.396494477971654, 17.15793416705571, 17.123704779100528, 20.60666528680361, 20.50438917779334, 20.5048956686897, 20.437528115468407, 20.843609482726425, 20.861359384695717, 24.29351971103655, 24.264874631108, 24.301355726968566, 24.64214807971308, 25.060564869047617, 25.300740858560975, 23.0825087587146, 23.46881264223467, 23.62720186437908, 24.414274776589288, 24.423839348272644, 24.706590324066298, 24.160776623171493, 25.12888288849984, 25.92014556232493, 27.234020038075823, 27.82138685504201, 28.41057034228385, 28.890878134220355, 31.355495718720825, 33.175064941487705, 33.40997846529723, 34.25999788289761, 34.74521137231559, 35.12812370525988, 34.798735925303454, 35.44081547914721, 35.56537147702044, 36.05368179761905, 36.06188960262994, 35.585103011360104, 32.75437320424836, 32.728208876349896, 32.5470483017384, 32.80628107173981, 33.39231994073962, 31.52463742343604, 31.327438293703324, 30.25103242242453, 30.084764698021058, 30.095365400015567, 30.16288674688764, 30.179879159274822, 29.78979763849984, 29.778882187192654, 30.31784931636127, 30.495486598086607, 36.440866575241216, 37.832469734827264, 38.01386167330448, 38.61748264705882, 38.74487067818238, 39.03039582026143, 38.85557459010271, 39.11846690694056, 39.56331872883597, 39.6377348382353, 38.92263339883288, 38.749449367180205, 32.438215018051665, 31.471576246015537, 31.371964542172424, 31.11061978787997, 30.50596528343837, 30.2462778295207, 29.99759486196771, 30.13913824180543, 29.691814952303144, 29.71280022712418, 29.41386435760971, 29.712262670680964, 29.310766931771894, 32.04599505967943, 32.50596429067527, 33.140742451136006, 33.9575633409586, 34.40087451019296, 34.93257885262994, 35.03861612791784, 35.38368026439465, 35.80839907135076, 36.74508206504824, 36.65891775194, 36.86690275914738, 41.27298947300032, 43.9588015874572, 43.52581451937442, 43.71047834169849, 44.01456539550264, 44.42229656380331, 45.39852463180828, 46.16026352170869, 46.4597642104731, 46.65742781900548, 47.27913054326501, 47.26149308025344, 39.38412365265325, 38.221582868269536, 37.39076390483972, 36.868054775287895, 36.588126107998754, 35.75897932275132, 34.226834120448174, 33.38493604161155, 33.2302625165962, 32.85559070918567, 33.478589811584115, 33.16749459298164, 32.897321226047865, 33.71615432485216, 35.992710752489884, 36.79390678644831, 37.38561154282538, 38.20600162636166, 38.282500288359785, 38.51517326462807, 38.56929771415345, 38.76743528390979, 38.15847894571857, 38.29037608520075, 38.29969243674136, 38.28676803563648, 36.51811189760284, 35.93109049376037, 35.59378192864924, 35.49701186282291, 36.846057758558985, 37.08804914480236, 36.53835472368698, 36.13693775373482, 36.42628384233648, 35.61391222354497, 34.747902378229064, 33.38263286072207, 33.42812430656707, 32.46876161360099, 32.141030418056204, 31.24016412091503, 29.568816927170868, 28.997286564192343, 28.635147733193275, 27.772103709724167, 26.58957010578481, 26.257909192417067, 27.359808656940555, 27.263485480852484, 26.503615994319947, 26.695571819794587, 26.72047822891379, 26.373823332555247, 26.13342181839403, 25.455168671179575, 25.40133575988173, 25.387871827653285, 25.40652143841361, 25.56978723805025, 24.057396903504657, 24.033799745046178, 24.342470104497355, 24.50605088873327, 23.77053405446624, 24.0372289195456, 24.18250674486461, 24.300387996576408, 24.365457076408344, 24.6915891282174, 25.76473167320261, 25.61724889737006, 28.94028776330532, 30.273754625194524, 30.399270234126984, 30.65821055026456, 32.542576102853644, 32.571782649782136, 32.24112228781513, 31.96820407251789, 32.36110079847494, 32.51451853197946, 32.09167562293806, 32.91027037246628, 29.86935627139745, 29.148707606286965, 29.241205149470897, 29.34727675381264, 27.87856933294429, 28.170630695066915, 28.68572170773615, 28.9895505317629, 28.361366310613136, 28.15789309757236, 26.96211500910364, 26.672603264239022, 28.152694536258952, 27.700315704870835, 26.95414130399938, 26.80664896047308, 26.823282174369748, 26.34659918806412, 26.06143979250312, 25.913789191643325, 26.078392013501823, 26.372136769374418, 27.51317698046997, 25.74797597697481, 29.298817535415377, 29.27576896195144, 29.351718863791927, 29.270464913787738, 28.957040610799872, 29.34788854551821, 29.206028208106435, 29.151100431216936, 28.91278298033964, 27.662358217553685, 27.417192423669466, 27.201477525643693, 23.24273005259882, 23.21841785192966, 23.207754576582765, 23.01918132710862, 23.139135519770598, 22.650913848506068, 22.76709762854031, 22.689755432773108, 22.63955023770619, 22.769765150171175, 22.618033233431248, 22.63442907996292, 22.30068725831324, 22.007070817770256, 22.037238907238823, 21.708679084189228, 21.564256570806094, 21.44017135992712, 21.252460982337382, 21.075824183207548, 21.2674260489418, 21.20053970790538, 21.251389868658578, 21.317738862978523, 21.60486118681917, 21.585621243137258, 21.3359296853408, 21.487785241985684, 21.494636606131344, 21.793366966464365, 21.73997083317771, 21.675941489184563, 21.208315414954868, 21.33115166518829, 21.497724897603486, 21.29794699369164, 21.027568777388733, 20.70918585690943, 20.53369083823529, 20.29380557212885, 20.3298139326953, 19.76246317491441, 19.659706530345478, 19.65815183053221, 19.54356457905384, 19.350280589533863, 18.97599684726113, 18.965997125116708, 19.76720427077498, 20.07223472175537, 20.212204071456476, 20.17324979715219, 20.616294252723318, 20.858758912542797, 21.107395790771868, 21.02947070518207, 21.28888950835603, 21.353202968414145, 21.404580717787116, 21.59086951912881, 20.88036724346405, 21.59079433699035, 21.690623802754438, 21.86178836884467, 21.4303653390912, 21.404569343915345, 24.81119728338002, 25.30934141526611, 25.90553879053844, 26.23608545222533, 26.48933733300719, 26.366027918011, 29.68108192059862, 29.1208248321662, 29.200773604512914, 29.52816374097417, 29.752377087068165, 29.462190142545907, 27.000643820572677, 26.30636323965337, 25.556963459695645, 25.79264915764084, 25.8511923719862, 25.709794231707583, 22.415196874961094, 22.43619416938998, 22.0220383112356, 22.6891486949113, 23.35062031601632, 23.937172325907383, 23.98410091472145, 24.96970668183552, 25.483732921568627, 26.243404253267972, 27.07714558294429, 28.670110998210397, 32.187508991830065, 33.51391636749145, 34.11246381722689, 35.14309537728045, 36.04638024657642, 37.12484056567071, 37.56227623708372, 37.717223187675074, 37.57798150816994, 37.91890366246499, 38.83127992514784, 37.63708387223778, 36.57397452824463, 36.57184226447245, 38.45578046350763, 38.59634270650482, 38.28778581753813, 37.70627758333333, 37.81191665678494, 38.011945681528175, 38.471835139566494, 38.62729321146775, 38.21645444507664, 38.51981696078431, 38.20181956139122, 37.84138923506069, 36.374140086834736, 35.946295974011825, 36.07020610006225, 36.18385681037971, 36.23594820813881, 36.07060962317293, 36.14898241760037, 36.21110749439776, 36.87321183434485, 36.83266640157174, 37.39637115217671, 37.5140499387359, 37.890717272486775, 39.05946394038595, 39.26310775560224, 39.33631256969928, 39.43876841293184, 39.65967631986983, 39.65661913895178, 39.32523165795206, 38.77243251056126, 38.94869402598817, 41.76542209656085, 42.23225395915033, 42.11375048358232, 41.0244806486792, 41.32271387301588, 41.97846603921569, 42.33116671996577, 42.818172244086526, 43.14988100918145, 43.3835365445067, 44.26133339510388, 43.22344270767195, 49.40735145059136, 52.15936747619049, 52.53724480960162, 52.95651691083099, 53.54930046046724, 53.91590901551769, 53.67651775529101, 53.60228736780268, 53.72536193350776, 54.52343657220667, 54.31017107318381, 54.2008856642546, 46.09349563227513, 44.95010093285092, 44.19882471226268, 43.81360803478058, 45.47562106162465, 48.14350957516341, 47.888619602863365, 47.66725557346606, 47.78221200256769, 46.87029011002178, 47.08758884010271, 46.48806892094616, 44.76705574722287, 44.56534822502334, 45.16686927466543, 45.51549939651415, 42.557911791783376, 38.97667603944912, 38.94171684617181, 38.33292084192474, 38.227323542016805, 38.09527345206972, 37.27223778944912, 36.80561291635543, 36.95677202155307, 36.3413123453159, 35.151828722689075, 34.37428813015484, 34.738500743308435, 34.55764404013384, 34.492868181216934, 34.0250749980587, 34.08348560870359, 34.158604505368814, 34.61261144786804, 34.01041621138344, 33.66912877031983, 33.22480077684668, 32.71425728306879, 32.23881685574229, 30.20792550007781, 32.17835801984128, 32.073222678026774, 32.13285971655839, 31.2085296678338, 30.66266611749144, 30.96746361375661, 30.641996946067408, 31.55508304512917, 31.548019322284468, 31.3865157775679, 31.63264570183629, 33.94762469288827, 31.742948735047072, 31.078413851540617, 30.404459265950827, 30.204062463196387, 30.141786195222537, 31.10076899627172, 33.39696159282537, 32.95877868884221, 32.88834250933707, 34.08064286397968, 34.35259559298164, 36.10586858683474, 39.77896981512605, 39.72665897533459, 39.57419134745891, 39.59682214867401, 39.35250368345783, 37.49373085900898, 34.4503020542328, 36.818243204715216, 37.10204748618505, 36.199953439698106, 35.45294857944288, 31.95483483769063, 28.1283546643324, 27.94323828874884, 28.1753249903517, 28.836655092826017, 29.32793514417989, 28.32266191394336, 29.08420261959613, 26.917182726268283, 26.826377883520077, 27.05919806854964, 27.06548101346094, 26.93391917927171, 27.125275409119205, 27.412147390367263, 27.495289784702766, 26.457017660364144, 26.30575153314659, 26.39602890118269, 25.727281255145765, 27.317407130096488, 26.89858193716737, 26.290778678493616, 26.469410380492075, 27.339685071428573, 27.22963139231248, 26.991881072984757, 27.07605014363524, 26.722946515133835, 26.889600353018988, 27.373218908263308, 26.868705239651412, 28.790978563414257, 28.73661530119826, 29.194975060535327, 28.75134242412011, 30.396431946934328, 30.27585546778712, 30.054153444133213, 29.393686702925617, 29.02843897346716, 28.61338291370993, 30.67725612449425, 33.77583766056417, 29.984903289789774, 30.19518283807968, 30.31374239628073, 30.72283039838157, 30.28373156722689, 33.813438064503586, 33.913202370727646, 34.12609935760971, 33.96023607718643, 34.26833334414877, 33.00796349151883, 31.15045166884532, 34.265915018537335, 37.12554979645192, 40.49939247385622, 40.20020378516962, 36.83253874136321, 33.42863130967943, 33.47746425365702, 33.386703264083415, 33.80710469887955, 33.52689523031435, 31.541098522798013, 30.405100960473074, 27.07640091503268, 22.78150598201241, 19.773898905462183, 20.009361149470895, 20.152297630485528, 20.00852504100529, 19.73490725373483, 19.85710145252221, 20.11099414018922, 24.627290656084654, 25.878274619981323, 25.951706377414677, 27.056339983566115, 27.613284384871363, 27.771010882352943, 28.71607924556489, 29.231417926650227, 29.14531816378773, 29.12390867849362, 28.915548698467187, 28.21739090102708, 23.47318910566449, 22.34244744391297, 22.60567254901961, 22.623659337457205, 22.112353950357925, 21.93654128120137, 25.62067630049798, 26.12134706302521, 26.15951701268285, 26.27517531689167, 26.129478135231867, 26.29376933535637, 27.15590116493801, 27.26173681279178, 26.807268650430828, 26.19529432912517, 26.49506022650171, 25.84103497634609, 21.69124500248989, 21.52116791643324, 21.56801485084033, 24.5488948775048, 24.776065979769687, 24.056312628462496, 23.87663226942564, 23.880711011671337, 23.970257733275293, 27.181510342826023, 27.00060966429026, 27.11291161922038, 26.96985668953244, 26.823798028089016, 27.000862420168065, 24.94708143711799, 24.88281943401805, 25.11509773739496, 25.225690555010893, 25.286659111655773, 25.430205279384204, 22.48188290413944, 23.22700120188047, 24.388290179028555, 26.761579736227823, 27.58766608706816, 28.30095522131427, 28.645649711850297, 29.71000447814691, 30.79346849203118, 33.769201511437906, 35.283343189309065, 36.48393017366946, 39.42549148558575, 39.7411311276066, 39.621362296996566, 40.21384593744165, 40.78610281963897, 40.86529348887333, 40.768190108839626, 40.789805688842215, 41.20874558302209, 41.0752959618671, 41.29067567351385, 41.21777781092437, 40.71303634208426, 40.99532957180724, 40.27934686507936, 39.480349841198525, 39.82479843049073, 40.07448575683746, 40.43959089078377, 40.890941071769525, 40.53476370460799, 40.68045821241843, 40.50853172548919, 40.05194094002463, 40.13359030134583, 40.537051255584814, 41.30316490488423, 42.28686322150615, 41.980918229735934, 42.65806854048867, 43.14920314502542, 43.132467269141, 42.74655761399004, 42.96608425023343, 42.58022081691566, 41.9039705283897, 41.463704072984754, 41.42998325291431, 40.27952680749843, 39.37779799096025, 38.74908692166957, 37.87122334949133, 37.40940432148239, 37.29854163773972, 37.02882276498026, 37.65902714662735, 37.96369139897667, 38.2946611929472, 40.82154933902285, 41.00303059707957, 41.68110959650291, 42.9853989074538, 45.041378026516455, 46.93506638608777, 48.59695799317815, 49.172956765950815, 56.71729853539591, 58.95473113943355, 60.22524676076429, 60.06133187130408, 67.83262201968829, 70.94586106473702, 71.13177820603796, 71.39341485596016, 71.15771786235605, 70.72981863328665, 70.16546886025522, 70.3463996346094, 62.548270696441, 61.077558109710544, 60.17307234025833, 61.75470991335781, 52.06441615972256, 51.41110109018052, 51.15715935500706, 50.73587938172204, 49.792306906473705, 48.85562567896379, 47.937759904997314, 46.90862780836092, 45.820427804136266, 45.648090857765325, 45.68158715935263, 43.05571738243075, 42.065330707757006, 41.28528899673203, 40.98870615504479, 41.18562163600996, 41.6670502140391, 43.683105049386, 44.801974315698615, 45.85765474719888, 46.79006088897856, 46.96421612994086, 46.84502348192154, 46.81271020347028, 47.319746072593816, 47.60242914407616, 48.238397991597296, 48.44044830373095, 48.76384772447869, 47.24142934469343, 46.60921010457516, 45.521702346327416, 44.88843684640523, 44.804052841970126, 44.96547230137794, 44.19337297502335, 43.20264913313103, 42.23279377785559, 40.447489257277766, 38.26367927114951, 36.53426767857143, 34.917200800887024, 33.51609868643013, 32.07934930376595, 30.399279338560195, 33.804625197494154, 34.73901670152506, 34.38592141978949, 35.31017779139434, 34.499628462807344, 34.140760931061315, 34.85832583836048, 34.62622778477267, 34.72560456940554, 34.46705635379708, 34.50736629333113, 34.18174894343293, 30.540003430827888, 29.227501419000934, 28.22994687088845, 28.20167454139434, 28.346952349598, 27.67837375202303, 29.65180499746264, 30.0754420315126, 30.17294210317461, 30.1731404842308, 29.83868876945223, 28.962323670401496, 29.95610458932461, 29.892740937830688, 30.09497244064566, 32.04188057788671, 32.62596964820442, 32.61277619133209, 32.234896182619444, 31.896149921802056, 31.58078542606603, 31.315855518129474, 31.87085352894491, 31.881511544325143, 32.06552454442888, 32.23993822665734, 31.939526673591654, 30.48650415242764, 29.753908019480157, 28.90714570588235, 28.58628914729225, 29.20079686187817, 29.202974350606908, 29.448084176652152, 29.26897380971319, 30.025787792846582, 28.92542313779956, 28.348875692110177, 27.485570853641452, 28.432421521164017, 28.374596940554, 27.72473897645957, 28.108095760115155, 28.402339510582017, 28.34086434500467, 30.648747401587958, 30.60435710815437, 29.660728487260105, 29.8988434011827, 30.53762201119216, 31.02556369940683, 33.55731269895736, 33.47552699042951, 33.72117214954871, 33.30404674836602, 33.03486626338313, 32.88967483395581, 30.407655377606595, 29.84074541728589, 28.83630349424214, 28.060439931438687, 28.040209791237444, 26.441289404874084, 23.167823517896053, 23.13185861826953, 22.70144313935574, 22.518205202769995, 21.924153355282584, 21.66605152785559, 21.39179821374105, 21.47021094556884, 21.60034375630058, 21.50381701704015, 21.35028373138101, 21.07620758520075, 20.980664005602243, 20.43614637703709, 19.89699826039073, 19.6196548429972, 20.218602700435728, 20.535247969498908, 20.49601394817927, 20.583345517584814, 20.78693563453159, 20.857678195767196, 20.618532741985685, 20.835500577124183, 20.895164544273264, 20.88659068155224, 20.849564115779646, 20.971053321034297, 20.811198159197016, 20.53388250451292, 20.636725661842515, 20.518905474424884, 21.210330356655085, 21.556420134220357, 21.67009204388422, 21.56616555532213, 21.446849576924475, 21.629709406940552, 21.94167488912232, 21.97097424095796, 21.33878006890497, 21.364391844226574, 21.24938912564841, 20.91401095603797, 19.99133336965907, 19.68305595098039, 20.382500290071583, 21.08869348107234, 22.308560958138813, 22.3665580227202, 22.32092955779305, 22.455757028244623, 22.49683328009065, 22.510249027187733, 22.429196196545288, 22.247914164877063, 22.13636430096483, 22.38352373225957, 22.034714117258016, 20.603147445516264, 20.103961821428573, 19.92630524229692, 19.852400283752203, 19.80123309235916, 20.03830826789605, 20.224073661764702, 23.76449730454404, 23.838850737529828, 24.03412973825085, 24.172867956504824, 25.404038103719262, 25.871455460803283, 29.25079003361345, 29.876875159903133, 30.746716432688167, 35.5641740401494, 36.37236271981015, 36.25814543331777, 33.70712597237784, 33.892191654372866, 34.00844645448179, 34.998750951535435, 33.641509439542475, 33.50155388471607, 31.047293515172736, 31.41428026558964, 30.50188636025521, 26.82112083434485, 27.116562010192965, 28.06889669002284, 28.302771097416745, 29.002913736383444, 29.427598963352008, 29.497718042016807, 30.39714663224016, 31.13636643493092, 34.2101355785883, 34.754820592972564, 35.804380305633366, 37.25910200863615, 37.6468516292179, 37.824929291160906, 38.34448724481734, 39.03557311212263, 39.69607967330901, 40.34801976517274, 40.49877405835668, 40.56725883967997, 38.475049292561465, 38.79640340764084, 38.69853315001556, 38.4754722954404, 39.11429776828509, 39.1772261126673, 39.05255684569198, 39.47294012107065, 39.30821361070391, 40.034844594683065, 40.77890025474635, 41.54937355134419, 41.56874074665423, 41.74130180485528, 42.04962510021786, 42.15348327455065, 42.43636798366013, 42.75004844560185, 43.19760461041084, 43.061724328431374, 42.67063541075319, 42.6603654038282, 42.38228493689699, 41.94101214737005, 42.09866678625895, 41.7130036267507, 41.20901878492064, 40.49049529154996, 40.3807825357908, 40.308700839169, 40.272741246887655, 39.87683152224168, 39.48072151881613, 39.17310102980081, 39.08862200015562, 38.77325262277013, 40.99825493534081, 41.48256659305945, 41.97097959578276, 42.78817409741675, 42.85765058977592, 43.68717100154127, 44.17543852606598, 45.03764783076564, 45.82354406037972, 46.54626376999689, 47.168346488250855, 47.09931472401183, 52.01426284368192, 56.649032590958605, 56.99527441674447, 57.02570790795207, 57.03814115896359, 57.372780944911305, 57.578976969247336, 57.73517006535948, 57.3768244440554, 57.30283416075319, 57.835530888811086, 58.10681730306567, 51.74225069926859, 48.95341632522759, 49.21781219693433, 50.93694828251051, 51.51700221465596, 51.41159385822302, 51.35314581559291, 52.12854531551511, 53.7969261416122, 58.702919778528006, 58.881077530656704, 58.37971793859451, 58.08183175907188, 58.60743310185185, 58.45630594164332, 58.08101456917211, 57.94338877427638, 57.85220961747653, 57.94859124346405, 57.36211424004046, 56.55637673832866, 52.57502857002801, 52.22264034842113, 52.00806486118892, 51.93862685862122, 51.53474994825708, 50.878380876361646, 49.81222786842514, 49.77980367685964, 49.488534947089946, 48.84345989371304, 47.86019012348272, 47.55237433084344, 46.81090408691254, 48.069216655073134, 48.93243454925303, 49.25466303112749, 49.80733364355742, 49.98972452240896, 50.467275589013376, 51.95346583060808, 57.03999392553688, 56.99214374416434, 56.51310733604757, 55.75784145098039, 55.121996663243074, 53.890917181284365, 52.72275619514473, 52.96978028461264, 51.623338834422654, 50.776594616780784, 50.0376659807812, 49.48609615219421, 48.50543106178027, 50.840137529022726, 51.12057129567383, 51.09927871093993, 51.27306488517547, 50.16652396140678, 48.621362268129474, 47.94217214192343, 52.24310971055089, 54.78199694249923, 53.764791457439856, 54.17781630718954, 53.03063812651728, 50.48039784430439, 53.90727385286337, 54.79169236733583, 54.16243014402232, 54.508014451250446, 54.863329059446, 56.57388528174603, 51.06810020378151, 49.88841386118893, 54.84152770549331, 52.11895546872082, 48.87135564420778, 47.85391571361656, 43.37212086323272, 42.83258281746032, 43.1712056748366, 43.05899629629763, 42.63901782975413, 40.88016065709617, 40.60778323786442, 39.56587660169623, 39.41571324105197, 39.50818074521995, 38.97949722821351, 39.12225839534443, 39.41728197658991, 38.76644833780803, 39.002582539502285, 39.46698046023966, 38.9575800681606, 40.80155583380019, 41.31882050389044, 39.81519230158665, 35.6261610550887, 36.34008191938997, 36.46983918837275, 36.15274975124471, 35.9951492421413, 35.877591974712104, 35.683571580454405, 35.04820183169935, 35.65958510764667, 38.33921911920324, 37.58636423738393, 37.41278290250546, 36.4893671855763, 35.183181368665124, 34.72612770728292, 34.14320429843475, 33.79518347463429, 34.70976589347438, 38.45842687908496, 38.74588790085398, 35.47056749665422, 32.85442974276377, 33.137592667289134, 33.88923842794895, 35.9895329016074, 36.701612797001125, 36.52565395269219, 36.68126126509493, 36.9593516849174, 36.21576431626205, 35.938618608584946, 35.84058604793029, 36.27911092421154, 36.33157783278868, 36.33782693650794, 34.3645104615624, 32.873728250700275, 32.68078862480548, 32.62954877269297, 32.68913795502646, 32.246731083878, 29.461343058356675, 26.69701540001556, 26.79609977840025, 26.28669931984647, 25.58591206146903, 25.406915187363182, 25.53955522307812, 25.154886273342672, 24.9360266990235, 24.667978946778064, 24.48876955625584, 24.11532018806411, 25.199136619825705, 23.58391496817616, 23.565258396047305, 23.360239772953623, 23.299207193588543, 23.040229310301896, 22.82375845098039, 22.461410145891687, 22.37537028571429, 22.727500890834115, 23.04936154800809, 23.09892171436352, 23.024680818160597, 22.798952367335826, 23.06121747689076, 23.00319162620604, 23.71759287667289, 23.748093669779024, 24.28678172984749, 24.766350322751325, 24.84498582671958, 24.60167673879552, 24.60812064379085, 24.609772246863, 24.68048391581077, 24.69662384469343, 24.447328883699686, 23.899694972922504, 23.93528445269219, 23.70702480230504, 22.930747456605605, 22.61223971332608, 22.61758304029115, 22.786181546049573, 26.225204000466853, 26.259919801002397, 26.35252836204482, 26.568438585745408, 27.012306424680983, 27.35091125544079, 30.898337020848896, 31.346038046792017, 32.04149263021024, 32.48894913042588, 33.04119951391466, 33.71220116958451, 31.54170105185769, 31.980293495542856, 32.16256650729073, 32.36499451945223, 32.426952995767195, 32.592571866330985, 29.6503769249008, 30.18841147820096, 30.328236224930357, 30.771392588364986, 30.97459724477532, 30.236352841816696, 31.497697666812684, 32.25268583770858, 33.79083086054411, 35.21829620572885, 39.27917762807345, 41.3918619904652, 45.04106055314348, 45.55310063511456, 46.193058816677045, 46.96445224976657, 48.23914264087794, 49.05748525565411, 49.02668034423623, 49.429289742051175, 49.55585275739185, 50.06773543300654, 47.523626047619054, 46.36486838990041, 45.9350638429784, 47.017863156485376, 48.241481931683786, 49.171273636693385, 49.61903762791784, 49.66041299976656, 50.34769809111423, 50.73223635923075, 50.87412188748833, 50.98998814801848, 50.940588307189536, 52.33795263608777, 51.67975711297075, 51.72773488266417, 51.02464007290694, 51.31703289346147, 52.16550319965765, 52.22051723591659, 52.15336772089948, 51.784644387225725, 51.43960286679116, 51.00094653727047, 51.482641624183, 49.8591629196234, 49.66707889860982, 48.89907180388591, 48.22523130049797, 47.25894875319016, 46.15802135239652, 45.66734401812949, 44.90359980866791, 44.53167659670536, 44.656555627373166, 44.43819409367932, 43.93138580407719, 43.966895048397134, 46.68647402917834, 47.57252681185808, 48.5463465283816, 52.22604104505135, 53.47175845463741, 54.522409110644254, 55.96192621623094, 57.0191818816235, 57.89750843790849, 60.16330069288828, 62.004557213818856, 63.12434058411142, 69.88104176906319, 70.83992264090737, 70.72299512547856, 67.64453936391223, 66.55335189028945, 65.88141255664489, 65.01970612286026, 64.91221428524743, 63.97602710208528, 61.80023485434173, 59.92498063040771, 57.79013827395801, 49.42507849649211, 49.04361246459694, 48.35149252832244, 47.66850473436041, 47.63536885652038, 46.95913591378774, 46.50361061258948, 45.53089921957672, 45.05276742927171, 45.28914159197012, 45.289419316604416, 44.73830851367751, 43.23000175389045, 42.654961782835365, 43.77228669436664, 47.18604646661999], [1.1453315020813888, 1.0444447363834424, 0.9630558243853098, 0.9229040808434484, 0.7188890893207284, 0.7036113067226891, 0.6813890788204171, 0.6730557436974791, 0.6513890708839092, 0.607500169545596, 0.5320378302987862, 0.4855556911764707, 0.4127217701453732, 0.3505579039060068, 0.2408940336912542, 0.1935737716308745, 0.1417973929349517, 0.1338889257443727, 0.1178454742452536, 0.1136367905384375, 0.1133333648459383, 0.112777809134765, 0.1683333802521008, 0.1649066319638966, 0.1613001882197323, 0.1657749775910364, 0.1725000482415188, 0.1780556053532524, 0.2011111671335201, 0.1999439794506693, 0.1980556107998755, 0.1977054172839507, 0.1969444994553377, 0.1986111664332399, 0.1472222633053221, 0.1477778188608777, 0.1463889296607532, 0.1397222611992947, 0.1391667053376906, 0.1402778168378462, 0.1425000396825397, 0.1483333747276688, 0.2283333967475879, 0.2933334152661064, 0.2997223057889823, 0.3063889743230625, 0.3891667755991285, 0.3944445545440398, 0.4019445569561158, 0.4172223388577654, 0.4261112301587302, 0.4344445658263305, 0.4308334536258947, 0.4322223429816371, 0.3511881443264345, 0.287222302054155, 0.279782914799253, 0.2747222985527544, 0.1919444978213507, 0.2083333907563025, 0.3141667542794896, 0.3252778685029567, 0.3466667633053221, 0.3377778720043572, 0.39694455524432, 0.4858334680983505, 0.5105556983348897, 0.5175001447245565, 0.5216668124805478, 0.662500185418612, 0.8016668880329909, 0.7770915105696912, 0.6786113008092125, 0.715032878540305, 0.695277970043573, 0.7275002015250545, 0.8666669091970122, 0.7778221491045509, 0.7744446609088079, 0.7825002187208216, 0.7927779992997198, 0.6565196286168172, 0.5350001490708324, 0.5397223729380641, 0.5416668120136944, 0.5041668074229692, 0.5044445850198498, 0.4841668015853565, 0.2853828215063803, 0.3660271542950514, 0.4360061650326797, 0.4980556942888267, 0.8497224596949892, 0.9500002654839717, 1.0811114131652662, 1.0772225231870527, 1.0919165812979827, 1.085278081154684, 1.0800003018985371, 1.0760248902116405, 1.3177781462807343, 1.2313892331932774, 1.1454623302566798, 1.0496617055711173, 0.7168395503423594, 0.6418909095082477, 0.5922223877217555, 0.5922223877217554, 0.5760505553999378, 0.5757681090880797, 0.5791037774665422, 0.5797223833489317, 0.3355556491596638, 0.3366457250233426, 0.3380346143790849, 0.3377474995331466, 0.3402778726268285, 0.3142296937376804, 0.295485584344849, 0.2957656961562402, 0.2960411400560224, 0.2972223050887021, 0.2974697106286959, 0.2983334163554311, 0.3869445523653906, 0.3878875648148148, 0.3875001081543728, 0.3885598301431684, 0.3863889967320261, 0.3897223309990663, 0.3913889982103953, 0.3916667759855795, 0.3941667766106442, 0.3922223316993464, 0.3924300375038904, 0.3911112201213819, 0.305088746809835, 0.3052778629007158, 0.3052498155929038, 0.3052031318082788, 0.3059897815904139, 0.3056512615935263, 0.3467040827108621, 0.3466503963585434, 0.3440803699813258, 0.3460108096794273, 0.3463889854497354, 0.3463889854497354, 0.3416667619002232, 0.3413095939153439, 0.3411112062713974, 0.3416667619825708, 0.3427778730936819, 0.3384921337217485, 0.2898810092592593, 0.2893161168689698, 0.2916667478991597, 0.2907143429038282, 0.2947223044662309, 0.2891667473544974, 0.2830556343759726, 0.2780229354964208, 0.2712932443199502, 0.264586894257703, 0.2564776380859568, 0.2519771833177715, 0.1988655931372549, 0.1923902910052909, 0.1842950984282602, 0.1745075161842514, 0.1625000452847806, 0.162222267351385, 0.1624136338313103, 0.1600000444995593, 0.1611111559290383, 0.1600000445066915, 0.1604691888415551, 0.1602778219732337, 0.1525000424836601, 0.1525000424058512, 0.1522222646280734, 0.1547222646280734, 0.160464520463741, 0.1616667116402116, 0.1610224103641456, 0.1597222668845316, 0.1593347355275443, 0.1597222667289138, 0.1605556002956738, 0.1605555992063492, 0.155277820961718, 0.1555555988951136, 0.1558333766728913, 0.1528944926801277, 0.2738889651416122, 0.3061111964674759, 0.3530556540616247, 0.3552778768285092, 0.3533521055088702, 0.3841667739651416, 0.4188890059134765, 0.4344445658217918, 0.4508334593837536, 0.4552779049953314, 0.4936112485994398, 0.5811112735760972, 0.4460947748988484, 0.6366668442265794, 0.8044446693899783, 0.894722472533458, 0.9408335965608468, 0.9661113812636168, 1.0477780691721132, 1.1058336423902893, 1.175000328898226, 1.2041670028011204, 1.1682099385925675, 1.083333635620915, 1.0866669708138814, 0.8752780222462136, 0.6591993618775291, 0.58177420183629, 0.5530557102396515, 0.498889028400249, 0.3870588253968253, 0.3275000913476502, 0.2423739563492063, 0.2197222827536571, 0.2219445062247121, 0.2202778392429195, 0.2180556163243075, 0.2180556163243075, 0.2794445224867725, 0.3158334214908185, 0.3050000849673202, 0.2997223055555555, 0.2747222987855327, 0.3697223248521631, 0.4763890219421101, 0.4891668027388738, 0.4983334725334578, 0.5077779194677872, 0.529444592281357, 0.5572223779956427, 0.4861112468098351, 0.4505556813725491, 0.4711112414410209, 0.5366668166822285, 0.5455557082166201, 0.4319304482551354, 0.3413889843604108, 0.3185504274010531, 0.3078268814970433, 0.2991667499221911, 0.2651914123871771, 0.3388889825708061, 0.417777894257703, 0.4175001152349829, 0.3803221311806205, 0.3287838491285402, 0.3269445356364768, 0.3947223324774355, 0.404722327264239, 0.4222223401805167, 0.4708334648303766, 0.4713890205214526, 0.4736112433862435, 0.3739472642195799, 0.3166667551139908, 0.3169445327439313, 0.3347223156707127, 0.3352778713818861, 0.3375000942265795, 0.3929435498755057, 0.5801868228550697, 0.7783335511204482, 0.9347224837379396, 1.1427780973389357, 1.3525003782290694, 1.5597576715686274, 1.73861159772798, 1.8793794642079051, 2.0115528451602867, 2.167500606831622, 2.324722873093682, 2.339328237161532, 2.30922786756925, 2.2398814588390907, 2.200903869047619, 2.2492063523187054, 2.1963753921568627, 2.1384108723934023, 2.177149958138811, 2.18165509274821, 2.1889403403361345, 2.091164897214441, 1.939577500311236, 1.823426809757236, 1.6730560212418302, 1.5276053720043574, 1.360350247510115, 1.1099090437286026, 0.9761111972455648, 0.8606513573762838, 0.6615056898537193, 0.5169258593215064, 0.3564473337223778, 0.3136111985683162, 0.309166752621533, 0.4278899382975412, 0.4766667998755058, 0.4672223526299409, 0.4501984200857196, 0.4525001258169934, 0.4207469741622576, 0.3793067263460939, 0.352222318627451, 0.4527779011826953, 0.4786112448646125, 0.4838890240429505, 0.4763890218643013, 0.326666757858699, 0.2747222990196078, 0.2738889655306567, 0.2827778569094304, 0.3181372665642185, 0.3383334280267663, 0.3616667678590893, 0.3677778800802734, 0.2533404067635394, 0.2221732104730781, 0.2150000600684718, 0.2116667258014316, 0.2091667251789605, 0.2436111792717087, 0.2469445068471833, 0.239374474778147, 0.20984599291939, 0.1853408527077497, 0.1627778230625583, 0.1625000454403984, 0.1750000489417989, 0.171302525210084, 0.1702778253968254, 0.1705556032524121, 0.1705556032524121, 0.1197945876128229, 0.1172222548163712, 0.1127707783853361, 0.2241667290694055, 0.2452778464052287, 0.2575000720452072, 0.3261112023809523, 0.318611200280112, 0.3183334224245253, 0.318611200280112, 0.3386112058823529, 0.3425000958605665, 0.4541667938064115, 0.4638890187519452, 0.4508334595367778, 0.3348132653173309, 0.3200794519919079, 0.3127778653127918, 0.3161111995798319, 0.414722338313103, 0.4263890082477435, 0.4369445667600373, 0.4311112313258637, 0.4308334539371303, 0.3380775785951807, 0.3319672390947832, 0.3261214606700836, 0.4330672503112356, 0.4277910351191528, 0.4236264201194367, 0.3344625416191168, 0.2298810113600995, 0.2181536525054466, 0.2197642990974167, 0.2055556130563336, 0.2016667230781201, 0.1750000490527346, 0.1708333341562853, 0.3294445366479925, 0.3072223082010582, 0.311666753890445, 0.3111111981792717, 0.3111111981792717, 0.311666753890445, 0.311666753890445, 0.2994445282446312, 0.2997223061002178, 0.2997223061002178, 0.2997223061002179, 0.2997223054894408, 0.1279901967787114, 0.0559873961251167, 0.0558333488951136, 0.0558333488951136, 0.0576680683162153, 0.058888905306567, 0.058888905306567, 0.0680555745409274, 0.0677777966853408, 0.0675000188297541, 0.0675000188297541, 0.0675000188297541, 0.0844444680205415, 0.0638889067071273, 0.0641666845627139, 0.0644444624183006, 0.0622222395723104, 0.0608333502956738, 0.0611111281512605, 0.0522222367724867, 0.0522222367724867, 0.0525000146280734, 0.0522222367724867, 0.0522222367724867, 0.0491666803610333, 0.0522222367724867, 0.0516666810613134, 0.0513889032057267, 0.0513889032057267, 0.1586111554621848, 0.1769444937752879, 0.2586111834733894, 0.2597222948957361, 0.2597222945066916, 0.2627778513071896, 0.2633334070183629, 0.25739495805381, 0.3419445401493931, 0.3422223180049798, 0.3425000958605664, 0.3425000958605664, 0.2358333993917938, 0.2172222829909742, 0.1633333790071584, 0.1625000454403984, 0.163055601147033, 0.1602778225957049, 0.1605556004512916, 0.1576563974387906, 0.1002778057889822, 0.1002778057111733, 0.1000000279333955, 0.10055558356676, 0.1005555836445689, 0.1022222502334267, 0.0836111344537815, 0.0855555793650793, 0.0852778015873015, 0.0852778015873015, 0.0852778015873016, 0.0854155001556178, 0.0713889088079676, 0.0711111309523809, 0.0711111309523809, 0.0705555752412076, 0.0702777973856209, 0.0580555560969759, 0.0711111309523809, 0.0688889081076875, 0.0686111302521008, 0.0683333523965141, 0.0675000188297541, 0.0677777966853408, 0.0680555745409274, 0.0680555745409274, 0.0688889081076875, 0.0688889081076875, 0.0686111302521008, 0.0791666884259319, 0.0608333502956738, 0.0608333502956738, 0.0608333502956738, 0.0611111281512605, 0.0611111281512605, 0.0611111281512605, 0.0563889046062869, 0.0569444603174603, 0.0561111267507002, 0.0561111267507002, 0.0563889046062869, 0.0563889046023966, 0.0527777924836601, 0.0527777924836601, 0.1925000538437597, 0.4025001126672892, 0.622500174291939, 0.8275002317149083, 1.0902780830999068, 1.3505559337846251, 1.5986115588235297, 1.7719449407096175, 1.9458338783068785, 2.0488894627295364, 2.061667244086524, 2.0730561361655777, 1.936412259570495, 1.7176354158107685, 1.5086344824151885, 1.3043254299719889, 1.0497806094771245, 0.8370448621226269, 0.6117063977591036, 0.4453058380018674, 0.2746755873015873, 0.191388942421413, 0.2041667237784002, 0.2008333894335512, 0.2044445016339869, 0.2116667258014317, 0.2123833033632902, 0.2050000573451603, 0.2097222806612509, 0.1677124394646747, 0.1727778260971055, 0.2341667321817616, 0.248055624572051, 0.2438889564270152, 0.262458029956427, 0.3811112177093059, 0.425277896669779, 0.469444575708061, 0.5068792010582012, 0.5497152242452537, 0.6316668434484904, 0.7562443528633677, 0.9359150584967324, 0.8991622313258638, 0.9260459928415812, 0.9615338666841746, 1.035352752412076, 0.9581489486461252, 0.9744050264550264, 0.9865665627917832, 1.004834544273265, 0.9837675158730158, 0.9141669224245256, 0.7732493137254901, 0.60276845113601, 0.5913890542328044, 0.5469515997302632, 0.5152779218020543, 0.4046638688141923, 0.3522805822440087, 0.286736697945845, 0.222033149782135, 0.1688048586990351, 0.1567530379707438, 0.154444487394958, 0.2122222813569872, 0.2502941218487395, 0.2500000692499222, 0.2497222918611889, 0.2497222917055711, 0.3072223082010582, 0.3305556480703392, 0.3419445401493931, 0.3422223180049797, 0.333333426626206, 0.3258286718733791, 0.3963889998443822, 0.3425000957049486, 0.2972223053999377, 0.2944445268349935, 0.2977778611111111, 0.277747436427534, 0.2447222906940554, 0.2511344557267351, 0.307500085978836, 0.3125000094926859, 0.6180557254901962, 0.6811113017318968, 0.6763890782757549, 0.6694446316526611, 0.6505557377061936, 0.6652779639744787, 0.658889073373794, 0.7511113213507624, 0.7513890992841581, 0.7148552844265498, 0.6569446283846873, 0.6525001811534357, 0.3135971097766888, 0.2825000790538438, 0.2075000580454404, 0.2161111715686274, 0.2161111715686274, 0.2002778338001867, 0.1988889445222533, 0.1069444743230625, 0.1027778064892623, 0.1016666950669156, 0.09972225, 0.1122222535753191, 0.1116666977902272, 0.1099719925303454, 0.1052778071895425, 0.096111137955182, 0.0963889148770619, 0.0958333600995954, 0.0980555829442888, 0.2527778485060691, 0.2652778519296607, 0.2800000783535636, 0.279722300497977, 0.2683334084189231, 0.2711111150015562, 0.3572223205726735, 0.3711112148303765, 0.3941667769996887, 0.3947223327011364, 0.3944445548552755, 0.4063890026455027, 0.2525116746031746, 0.2322222871926548, 0.2169445051353875, 0.2166667272798008, 0.2158333937130407, 0.2127871736642961, 0.1219981369287534, 0.1561111547619048, 0.1350000377373171, 0.1341667041705571, 0.1350000377373171, 0.1327778148926237, 0.1325000370331467, 0.1341667041705571, 0.1344444820261437, 0.1344444820261437, 0.1416667062713974, 0.1425000398381574, 0.1500000419389978, 0.1008333615001556, 0.1791667167755991, 0.179722225568005, 0.2861111911764706, 0.2844445240429505, 0.3955556661998132, 0.5047223635231871, 0.5075001420790538, 0.5075000039682539, 0.5450001525832554, 0.5561112668067226, 0.6550001833955804, 0.7452779864612511, 0.6869446367102396, 0.7475002077063787, 0.7511113211951447, 0.774444660130719, 0.7672502419824412, 0.6655557416744476, 0.6652779640522876, 0.6677779633092629, 0.6219446185807657, 0.6113890600684719, 0.5419445958605664, 0.4630556849517586, 0.4422223457049486, 0.369570500778089, 0.2711111866635543, 0.2256115832451502, 0.1281512651727357, 0.1772222715530656, 0.1763889382197323, 0.1747222710862122, 0.1750000489417989, 0.1755556046529723, 0.1436531293962029, 0.131666703470277, 0.1294444806255835, 0.1286111470588235, 0.1300000363367569, 0.296111193977591, 0.2955556382664177, 0.2655556298630563, 0.2661111855742297, 0.2655556298630563, 0.2652778520074696, 0.2636111193588547, 0.2663889634298164, 0.2722222983971366, 0.2725000762527233, 0.27444452124183, 0.2752778547307812, 0.1094444750233426, 0.1094911587301587, 0.1525000426392779, 0.1500000419389978, 0.1500000419389978, 0.151666708994709, 0.1516667088099241, 0.2230556179582944, 0.3005556396669779, 0.3961112212107064, 0.4786112450980392, 0.4919445821661998, 0.4925001378773732, 0.4933334714441331, 0.4366667889044507, 0.4383334560379708, 0.4380556781823841, 0.4363890110488639, 0.4361112331932772, 0.3652778800186741, 0.2043394071739807, 0.1793884274808071, 0.1063889186118892, 0.0908333586990351, 0.0900000251322751, 0.0902778015873016, 0.1580555997510115, 0.1563889326174914, 0.1586111554621848, 0.1591667111733582, 0.1591667111733582, 0.1568183955026454, 0.161944489729225, 0.1591667111733582, 0.1583333776065982, 0.1583333776065982, 0.1594444890289449, 0.1594444890269997, 0.0866666908652349, 0.0869444687208216, 0.0847222457983193, 0.0847222458761282, 0.0847222458761282, 0.085000023653906, 0.083611134064737, 0.0838889123093682, 0.0841666901649548, 0.086388912387177, 0.0855555794428882, 0.0855555794428882, 0.0791666887643946, 0.0788889109088079, 0.0788889109088079, 0.0783333551976346, 0.0783333551976346, 0.0786111330532212, 0.078333355195041, 0.080555578042328, 0.080555578042328, 0.0783333551911507, 0.0780555773420479, 0.0780555773420479, 0.0755555766417678, 0.0777777994864612, 0.0786111330532212, 0.080555578042328, 0.0816666894646747, 0.0822222451758481, 0.0927778013538749, 0.0927778036881419, 0.0925000258325552, 0.0925000258325552, 0.0938889151104886, 0.1936111652661064, 0.2094445023342671, 0.2100304032057267, 0.2113889480236539, 0.2097222808901339, 0.2088889473233738, 0.2394445114379085, 0.2341667320099341, 0.2361111771708683, 0.2402778432150638, 0.3466667636943666, 0.4422223459383753, 0.399166778400249, 0.5636112672709828, 0.7255557587145971, 0.7461113187052598, 0.7922224440553998, 0.87166691075319, 0.900278029878618, 1.0402780690943043, 1.0583336157018364, 1.0705558552339491, 0.9783336073672064, 0.9307166511826952, 0.9758989544817928, 1.0224883353472871, 0.946652917289138, 0.9343417497607376, 0.8970891819950201, 0.8358569081076874, 0.787574914021164, 0.7458335417833799, 0.8377780100289194, 0.9347224836601308, 0.9588891572517896, 0.9536113775287892, 0.8625233593993152, 0.7405557625272331, 0.8661113534080298, 0.8925002495331468, 0.8991669182228448, 0.9538891556956116, 0.9441669309056956, 0.9288891478369126, 0.8268580807494299, 0.8841669134765018, 0.8683335762527234, 0.8408335683162155, 0.9038891416122006, 0.9308335936041084, 0.8083335589791473, 0.7816668849984437, 0.7744446606753814, 0.7175002003579211, 0.7190569651416121, 0.7783335506535948, 0.760555767848715, 0.6125793752664956, 0.6161112835356366, 0.6005557233893557, 0.5228034602396514, 0.4819445790538438, 0.4488890141612201, 0.4444445684718332, 0.549444597805789, 0.5458334856831621, 0.5488890424039061, 0.425555672735761, 0.4325001199813258, 0.4355556772486773, 0.4205556730469965, 0.4202778951914099, 0.4194445617802677, 0.3105556423902894, 0.3105556423124805, 0.3094445308901338, 0.199444496031746, 0.2081115876906318, 0.2058333906784936, 0.2430556233212757, 0.2605789608582323, 0.259166739028945, 0.2644445182850918, 0.2741667433084345, 0.2816667450980392, 0.3994445560224089, 0.660833518207283, 0.8600002406629319, 0.8769446894893212, 0.9036113639122316, 0.913541330454404, 0.9825002749766574, 0.9758336064425772, 1.0144447282135076, 1.0909713366013072, 1.1358336508714597, 1.153753800497977, 1.0441669586834734, 0.744472485760971, 0.5996056525054466, 0.5933334990662933, 0.5641668243075009, 0.6535247703859322, 0.7400002063492065, 0.7463890974945534, 0.6999533255524432, 0.6293604218720824, 0.5815897729536259, 0.5680557144387386, 0.648055736694678, 0.6490966494708994, 0.7302195992841582, 0.7375001784158107, 0.7466668752723313, 0.6130322159079321, 0.6341668437597261, 0.6255557303921568, 0.6302779167444755, 0.6844446357765328, 0.6975001950669156, 0.67638907648615, 0.6200001732804233, 0.614727061552064, 0.5204856377995642, 0.4970169152661065, 0.4830603309990662, 0.4852707804005868, 0.4715570635698723, 0.4662209296607532, 0.4606326939775911, 0.3954388448490507, 0.4036205421724246, 0.4343090617569257, 0.5593348755057579, 0.5575981826174915, 0.5638890467631497, 0.5683334924525366, 0.5672480477746653, 0.5293509376914551, 0.5185132108621225, 0.5903923180827886, 0.5878269601618424, 0.5877779421879864, 0.5794446059757237, 0.5613890459850608, 0.5833334964985996, 0.581111273576097, 0.5797223843759727, 0.581111273653906, 0.5813890515094927, 0.6169446158276747, 0.626111286336757, 0.5436112632275133, 0.5375001504046063, 0.6383335117491442, 0.6363890667600374, 0.6197223955026454, 0.6280557312480548, 0.6269446198257079, 0.6277779533924681, 0.6275001754590724, 0.6255557304699658, 0.7152779778244632, 0.7861113309212576, 0.894444694833489, 0.9333335928260194, 0.8702780212418303, 0.9147224782913166, 0.9238888955804544, 0.7836113304544041, 0.7958335559446003, 0.7961113338001868, 0.8108335602240897, 0.8433335692453835, 0.8017695942265796, 0.7770473654684097, 0.7702779900404607, 0.7690452988010966, 0.8388891227824464, 0.8325212404295054, 0.8314939361967009, 1.0302780661375663, 1.1033336421568627, 1.2002781138344227, 1.2952781390445065, 1.3397225952380951, 1.24485971385493, 1.3102781432461874, 1.2057960499922202, 1.2160271594304388, 1.128209694445098, 1.0938891949891068, 1.0739988290538465, 0.8781676745253656, 0.8388003590102707, 0.8130579119981326, 0.7131047538126363, 0.6429833664021164, 0.6773764670090722, 0.4114822689853719, 0.3750747057007997, 0.3480556525054467, 0.3402778727824463, 0.3394445391378773, 0.3360107417295629, 0.3241667572362279, 0.2727497692187985, 0.1963889435107376, 0.1908333865546218, 0.1922222757547463, 0.1904621853408029, 0.1980556107220666, 0.1972222247121071, 0.2138889485683162, 0.2466667354497354, 0.2722222959850607, 0.3191667557578587, 0.331666759414877, 0.3419445399159664, 0.343888984982882, 0.345833429816371, 0.3444445406914619, 0.3463912267351384, 0.3422223177715531, 0.3425000951706863, 0.3266667580143169, 0.2877964569716775, 0.2673482779145923, 0.2122852487550575, 0.3400000950046685, 0.3383334277933396, 0.3369445385154062, 0.3366667607376284, 0.336944538671024, 0.2972222247121071, 0.3394445392934952, 0.3391667614379086, 0.3386112057267351, 0.3397223169921672, 0.3383334279489574, 0.3272223135698724, 0.3336112041705571, 0.3263889801587302, 0.3263889799253034, 0.3263889800031124, 0.3252778686585746, 0.3411112058668174, 0.3241667571584189, 0.3258334239807035, 0.3269445357920947, 0.325833424291939, 0.3277778692810458, 0.3302264247587924, 0.329166758636788, 0.3283334251478369, 0.3280556472144414, 0.3275000915810769, 0.3269445356364768, 0.3481045776532835, 0.3480556527388733, 0.3547223211880125, 0.3613889898070339, 0.3694445476968565, 0.3755556604419545, 0.3800001062091503, 0.2827778568316215, 0.2888889694211018, 0.297222305166511, 0.3077778637566138, 0.3169445329131653, 0.3177778663243075, 0.4490710624027388, 0.4476845073918457, 0.4486112364612512, 0.4482307262682851, 0.4508334593059446, 0.4505556814503579, 0.4519445707282913, 0.4577779056956116, 0.459976758558979, 0.4552779046840958, 0.4608894547152194, 0.4356629649768407, 0.3533334316837846, 0.3622223231403673, 0.3675001023187053, 0.4593301507158419, 0.4616667955182073, 0.4708660596016184, 0.6386112895269219, 0.6431233799408652, 0.6455557360722067, 0.6697224092748211, 0.6608335178960474, 0.6726097178370432, 0.6376378579987552, 0.6294446203703705, 0.6225001737472767, 0.531111259414877, 0.5246266297852474, 0.5036811746809835, 0.4609081281512604, 0.4538959903516962, 0.4460575214752568, 0.4255556744475567, 0.4271452853252412, 0.4112605285421363, 0.6061112798786182, 0.661314351774043, 0.6624301314970432, 0.6658335193744164, 0.6663306925770308, 0.6391385076116273, 0.5404949898070339, 0.6210458995487084, 0.6252170936041083, 0.727159374572051, 0.7322224268596328, 0.769757245193357, 0.7909570799797699, 0.8783405533769064, 0.903244858776844, 0.9574068723934018, 0.9751683158263308, 1.0229554412219295, 1.1840359569716776, 1.1151800259103644, 1.108611419167003, 1.0033336139122315, 0.9938891665888578, 0.923695146575624, 0.7387793695144724, 0.6134385340024899, 0.5905557204326175, 0.5274814643635232, 0.516045888032991, 0.4891013137811231, 0.5306280635698724, 0.5369585995953938, 0.5486112643168378, 0.5586112671179584, 0.5694446034858387, 0.6048622935444558, 0.6977779728446935, 0.6930557494553377, 0.7675002147525678, 0.8200002294584501, 0.8233335636476814, 0.815177411895685, 0.7761113274976659, 0.7758335496420791, 0.7797224395424838, 0.7741668825863679, 0.7747224379084966, 0.7469584519801389, 0.7738891050420168, 0.7866668867102397, 0.8000002215219422, 0.7611113237628384, 0.7633335439620295, 0.8326353898225956, 0.8575002394179895, 0.9994447238361092, 1.0002777930283226, 1.2050003372237788, 1.3250003705220978, 1.3774580059608112, 1.617222674525366, 1.7511116002956744, 1.713056034352631, 1.7522227122626832, 1.7769444746576424, 1.9462278520236844, 1.985801200669157, 1.9861116669779024, 2.094722804207026, 1.9347017463429816, 1.8694449573529417, 1.8621036690801185, 1.763838017896047, 1.6425004597663144, 1.6081143602552133, 1.6716998128631086, 1.648889347080343, 1.3991670565670715, 1.3397225966846935, 1.193889221599751, 1.0758336329754123, 1.0370681722689077, 0.9883450196662004, 0.9586508087191364, 0.6816668562091504, 0.6636112943510738, 0.6906304421101773, 0.5845448288982259, 0.5775001615312793, 0.5683334889498393, 0.615833505602241, 0.6247223970588234, 0.6241668411920324, 0.6086112804187418, 0.6997714359632742, 0.682602894257703, 0.9847224977435418, 0.992086846385777, 0.9880558319327732, 0.9827780529100528, 0.9997225019452224, 0.9846708750836456, 1.003055835901027, 0.9925002773109244, 0.9841669421101772, 0.9797224959435632, 0.8711113548863992, 0.8830182131185808, 0.8076099314503581, 0.7859105801431684, 0.7444446525832555, 0.7643092595704949, 0.8577780175848118, 0.8595798388139583, 0.8919446935885467, 0.8952780281668223, 0.9038891418456272, 0.9133335888577652, 0.9258335925147838, 0.8947668205602508, 0.687500192184096, 0.7141668664799254, 0.7191668678026768, 0.7036113076311088, 0.6152779492685964, 0.6019398045200495, 0.4788890225645815, 0.4684220398381575, 0.5783334950202303, 0.5910879158107688, 0.6194537866479926, 0.6250303670245876, 0.8925002496109554, 0.873609002489885, 0.8727756691565515, 0.8779974278711485, 0.9071034138655464, 0.8987278388577652, 0.9844447188764396, 1.0141669485716305, 0.9900933922346716, 1.0324535862122628, 1.0893280206971678, 1.133711509308539, 1.0552570422502334, 1.2133336729691877, 1.2491670161842514, 1.2536228250855896, 1.2305558987706195, 1.3556256341425457, 1.3533733555750085, 1.3527781559290382, 1.321130152766108, 1.5869448867880485, 1.5236232060373225, 1.5026194628073457, 1.3386114845004702, 1.2105558926237163, 1.2278013969032058, 1.3658337147525677, 1.3652459961307433, 1.2464987068699274, 1.1214024989305416, 1.1386246553843762, 1.0943298426409602, 0.8412161551995798, 0.9133335882352944, 0.97975723653906, 1.1411114298163711, 1.1193840116713352, 1.0875982934173671, 1.1347084876283848, 1.1749092495863604, 1.152464990411752, 1.140278096478175, 1.1470287573918456, 1.2108336686896983, 1.4655839384531593, 1.3719048111577965, 1.2696592463773486, 1.1172225343137256, 1.1319584585025684, 1.1250119855275444, 1.1016669744786802, 1.0533336274509806, 1.0406863186773792, 1.0227243399721615, 0.9900352886728948, 0.9111183397167872, 0.8595940540771864, 0.8808942499221913, 0.9233335884687208, 0.9226003764394648, 0.908889142234672, 0.8982588717709306, 0.8892252607376285, 0.8777756795829444, 0.8388492005972348, 0.8544446830065361, 0.8588891288515406, 0.866389130952381, 0.7711113265639589, 0.6921918942577031, 0.6878244674479986, 0.7600002123404916, 0.7580557671121229, 0.757222433706816, 0.7700212135854343, 0.777222439386866, 0.7863212088883736, 0.7877779978991598, 0.7831748085901028, 0.7758335501867415, 0.8250002307033926, 0.8627780143946467, 0.9935411023187052, 0.964166936196701, 0.9630558247743544, 0.953611377762216, 1.0286627416744476, 1.023959191409897, 1.0169001038748833, 1.0083079298941795, 0.9933333535636476, 1.0588891850295676, 0.9005558073451604, 0.8702990208845592, 0.688524752256458, 0.768333548241519, 0.7947224446000622, 0.8238891193588547, 0.9602780464519142, 1.043889180827887, 1.0713282106034088, 1.053611397447868, 1.061659949776378, 1.0291857869565908, 1.286111470899471, 1.49833375180063, 1.5238893152038595, 1.4343697600373482, 1.4169448408807963, 1.4132940383597885, 1.0262091543728602, 0.9577780455182072, 0.92634687938378, 0.9622224913003186, 0.958889156940554, 0.9316669271708684, 0.6248879659197011, 0.4163890050575786, 0.384932312235352, 0.4052778908341114, 0.3998740558667912, 0.3933334428104575, 0.3983334442888266, 0.3933334430438842, 0.3997712494339409, 0.3994445559446001, 0.4005580212609526, 0.3952778880329911, 0.4547223491285403, 0.4572223498288204, 0.4389659260815437, 0.4561112384842826, 0.4555556825396825, 0.4565874223467164, 0.5897223865520282, 0.5880604278315846, 0.5823342676626205, 0.5861112748210394, 0.5967303925953622, 0.5958334991441022, 0.7405557624494242, 0.7370800333800188, 0.7705298898764142, 0.8455557917055709, 0.8408335683940243, 0.8294446763927794, 0.6919446376439465, 0.6858335248210394, 0.6590499551042639, 0.6691668536414566, 0.651666848583878, 0.6591668506795312, 0.4644445740740741, 0.4619444581388111, 0.4504528488951136, 0.3605556562402739, 0.3613329599284158, 0.366666768907563, 0.3963889996887644, 0.3983334445222534, 0.4011017840024898, 0.399169132138637, 0.4027778902894492, 0.3988493097572362, 0.3988890002334267, 0.402777889779828, 0.4751937586030745, 0.6169446168689698, 0.6527779601618425, 0.6911113042328041, 0.837500233199212, 0.9272224815592902, 0.9136674063372052, 0.9377780400715844, 0.9405558184718332, 0.9347224835823216, 0.9683336039526924, 0.971111382586368, 0.8533238620474856, 0.7519446543728603, 0.7325002044817928, 0.6977779729225025, 0.6712792391009184, 0.6597224067071272, 0.6960270792094616, 0.6925001934329287, 0.6947224161998133, 0.6969446391249533, 0.6745822850918145, 0.6701658495953937, 0.6891668581544064, 0.6716668544195455, 0.661944629318394, 0.658611294973545, 0.6257143902116402, 0.600371219343293, 0.5761811394335511, 0.582920261048864, 0.589369840725179, 0.599722389589169, 0.753889099361967, 0.8036113355119826, 0.8212209074852164, 0.8380557896047308, 0.8425002354497356, 0.8411113460161843, 0.6683335198412699, 0.6836113018161897, 0.6871289438219733, 0.7971499922191098, 0.7984595190631809, 0.7967414997665733, 0.702581706660442, 0.6947946925770309, 0.6900630296451914, 0.7003805941487706, 0.7244446470588235, 0.8730557969965764, 1.1244447587924058, 1.1530184285714289, 1.1531957236227823, 1.2225003417366946, 1.354722601073763, 1.392500388888889, 1.5086115317460318, 1.4888893050108931, 1.4530226847275691, 1.6163893402583256, 1.6229111876242963, 1.496944860899732, 1.486538599882891, 1.4817720261437908, 1.5265779749455335, 1.5880559971210706, 1.5058337539682545, 1.5419448751167133, 1.5525404528571145, 1.6616671306411457, 1.6983338055472244, 1.712778256039917, 1.7256784480843184, 1.8980956532057272, 2.070817451291628, 2.0669450223311547, 2.0008918183162154, 1.9770173476347863, 1.9736932482882044, 1.927222649859944, 1.9332516553856949, 1.962222770763306, 1.9463866740166669, 1.8245126455804543, 1.8207520312791787, 1.6444449037763271, 1.4119448362524651, 1.3963892787892935, 1.3905443912673354, 1.24333367989418, 1.2711650502645502, 1.2413471178026767, 1.164449345082477, 1.0231841379624351, 0.9839565918923124, 1.0656024622633422, 1.0689241355541317, 1.1298672219301091, 1.2130254945656989, 1.223982552131964, 1.1985317576252723, 1.2035320389044508, 1.119278983504513, 1.112222533146592, 1.2098025599181292, 1.214722562247121, 1.2969865148084192, 1.176468263383131, 1.125212474011827, 1.0577804277346534, 0.9711113813414256, 0.9388891510462, 0.8923177331776402, 0.8994446955337692, 0.8957495066137567, 0.8988891402894491, 0.9136113665577345, 0.911111366013072, 0.8052147545776484, 0.8285926320417056, 0.8411019725334579, 0.8341155107376285, 0.8093419294273265, 0.8172224506691566, 0.8493769518674693, 0.8391669011826953, 0.8514044282331579, 0.8597224623404918, 0.6050001685340803, 0.611944615234983, 0.6282330059134765, 0.630805452614379, 0.6369211055088703, 0.7483335421724245, 0.6380557337379396, 0.6375024657640834, 0.6016456594304388, 0.7576729043728602, 0.7701098841425459, 0.771438085122938, 0.7900001835460112, 0.8866131909430439, 0.877161533846872, 0.8917719264705882, 0.890074913547886, 0.7883078495175849, 0.7819446629318395, 0.7808335514316839, 0.8132588387021477, 0.6504482061935885, 0.6236112636898279, 0.6011462731092436, 0.8238891012293806, 0.7058335302676627, 0.672623887332711, 0.6503783201058202, 0.6269446192810457, 0.5988773755057578, 0.7476892782446313, 0.7301449236694678, 0.7093674188453158, 0.7022224183784626, 0.6994446401027089, 0.7013890848895116, 0.4288890087547994, 0.4288890087924058, 0.4534897389187166, 0.4314076828509181, 0.4302778979147215, 0.5147223660908808, 0.3297223141923436, 0.3264986031720096, 0.300964057500778, 0.3375000940709617, 0.3338889821039527, 0.3300000921257391, 0.3250000908029878, 0.4294445643479614, 0.4343604125310258, 0.4505696866635543, 0.4441667908496731, 0.3725001040305011, 0.370833436896981, 0.3658334349517585, 0.3425000017896047, 0.3355556492374728, 0.3286112022253346, 0.3236112015250544, 0.3269445357142858, 0.2161111679116091, 0.1586718070948755, 0.1775000495642701, 0.17500004886399, 0.1602778225957049, 0.185277829598506, 0.1833333841425458, 0.2013889448607366, 0.1847222738873327, 0.1841667181515207, 0.1814682993864219, 0.1766667159975101, 0.1737978574917017, 0.1716667146747588, 0.1727778260971055, 0.1730556039526922, 0.168055602552132, 0.1266667020697167, 0.1269444799227099, 0.1209640537659508, 0.1277778134920635, 0.1277778134920635, 0.1283333691889724, 0.1347222598817304, 0.1358333713040772, 0.1575000440398381, 0.1341667041705571, 0.1350000377373171, 0.1350000375038904, 0.1427778176937441, 0.2250000629474012, 0.3153174620972575, 0.4850001357765328, 0.5375001504824153, 0.5655557138188608, 0.6927779717553689, 0.7202779779022721, 0.7940242777633932, 0.9105558105353252, 0.9197224797696856, 0.9961113900527806, 1.1052780873015873, 1.0693020596794272, 1.0532843209396727, 1.0613891841736691, 1.0822225248210395, 1.0636114075617285, 0.9313772267351385, 0.9169447007061172, 0.8047406886036064, 0.7386113173825085, 0.7358335391378774, 0.6582096283068782, 0.5550001549175226, 0.5018837654061624, 0.3865266209150326, 0.2371638685807656, 0.1819887983193277, 0.1748623222066604, 0.3879062664176782, 0.3819445511204482, 0.370277880665164, 0.3722223261749144, 0.3669445469187675, 0.3608334315281668, 0.4802779122315593, 0.4865944337068161, 0.48543884942343, 0.502222362822907, 0.5127779213352008, 0.5194445898692811, 0.4247223411142235, 0.4444444672424525, 0.5886112727980082, 0.8152780060690944, 0.8863891370992842, 0.944444708673107, 0.8613634260037348, 0.8593652945845006, 0.8463630363440067, 0.869444687752879, 0.9819003402583256, 1.0663891873638345, 0.9997225020230316, 0.9878527267676274, 0.8002847867919394, 0.668611139589169, 0.6294001030967943, 0.5962510285591752, 0.5797223842981637, 0.582777940865235, 0.5820496326434645, 0.5691668159041395, 0.4766667998696703, 0.407500113600996, 0.4502779037503891, 0.452427673399734, 0.4364379450442221, 0.450856781739496, 0.4555556829287271, 0.4719445758053498, 0.5686112700746966, 0.6813890794428883, 0.7555579497354498, 0.8630557960544407, 0.9052780308123248, 0.9383335955493308, 1.042222513383131, 1.2575003481170246, 1.4816436826174912, 1.5330559842631533, 1.5481563120915032, 1.5755956311079986, 1.518611535480859, 1.4527988466386554, 1.450418191020853, 1.3911791542003844, 1.3607543417366947, 1.362558698329054, 1.2577591204462342, 1.0356396056216943, 0.8610714747886191, 0.843333568549642, 0.8555557941176473, 0.8428992047930283, 0.8280557866402118, 0.7806536325085589, 0.7375420630751384, 0.7125001993464052, 0.6952779720666044, 0.6575001835511982, 0.7167555383597884, 0.7311999869281047, 0.7044631257391845, 0.6613352103952692, 0.7355626052754435, 0.912778033146592, 0.9033335856676004, 0.89055580454404, 0.8851307825842761, 1.0113891716464365, 1.0744447431528168, 1.316667033046738, 1.2788892462651729, 1.2966366282290698, 1.4410691723000326, 1.4830559705104267, 1.3936114997665734, 1.210833397603486, 1.3683337162309368, 1.4191670638032992, 1.4783337451330545, 1.480653697945845, 1.5254249502645507, 1.3486114885620917, 1.3316670392156862, 1.4562676293832353, 1.3456163665400809, 1.3776193263305323, 1.3843747036258949, 1.3975166350802202, 1.5553364836601309, 1.5165269482570805, 1.4571478527855586, 1.349703859866169, 1.2414778787672478, 1.211977406240274, 1.2599256024743233, 1.1003854119203236, 1.0743931501899853, 1.0059479428104576, 0.9644447135076256, 0.9008335843448492, 0.5762326122004358, 0.6519725989508773, 0.6540943079416961, 0.6350001770904659, 0.6155416941332088, 0.6093278765950825, 0.477560803610333, 0.4624394214130097, 0.4437209299719888, 0.4380486659663866, 0.4486065589791472, 0.4605556844849051, 0.4591224359632742, 0.4716667983193278, 0.4629902036678408, 0.5363890386710239, 0.5466668113134142, 0.5538890434173669, 0.5805557174758792, 0.5966668330999066, 0.6048366319638966, 0.6263890638032992, 0.6344446215375039, 0.7011113069561159, 0.7277779810146282, 0.6395658793132069, 0.5996919311391223, 0.5933334989884843, 0.5955557213209502, 0.5794446058979147, 0.6422224011826954, 0.6242274925303455, 0.5832726468253968, 0.8965198259414877, 0.872215435340803, 0.7987887139744788, 0.7595566789604731, 0.731062275674344, 0.7106467754435107, 0.7030207296140678, 0.7741668828197946, 0.7627079559601619, 0.6410295842670402, 0.6326775752412077, 0.6362793498087204, 0.3340010231870526, 0.4167554821817616, 0.4131186940554, 0.4222223401027077, 0.4250001187266576, 0.4169139913717432, 0.7155557556800499, 0.7097224205571118, 0.711111309990663, 0.7158335334578276, 0.7225002019919078, 0.7425002075941489, 0.8405557905384377, 0.759722434640523, 0.7636113244631186, 0.7458335418611889, 0.7502779876283848, 0.7702779919105218, 0.7625002134298164, 0.6855557474271192, 0.683858716931217, 0.6921335238873326, 0.7831981510270776, 0.7778503432928726, 0.7402873123249301, 0.9593910171957674, 1.0782215848895116, 2.601503992685964, 2.617829863056333, 2.6237215460321397, 2.341667322128852, 2.343889545051354, 2.348056213040772, 2.3458339850511427, 2.2558339649081853, 2.244445070760065, 2.19750294770788, 1.9842442467320265, 1.8687540191409904, 0.3479481869747899, 0.3611112093837534, 0.4442133628047521, 0.4972223611111112, 0.4980556942888265, 0.4980556945222533, 0.4975001386554623, 0.4955556937441643, 0.5012793097572363, 0.4876728660908808, 0.4813329933084345, 0.4919422381730469, 0.4902779144102086, 0.4661112408704231, 0.3483566864889753, 0.616111282290694, 0.602500168067227, 0.5902779425770309, 0.5794446062869593, 0.5716668263305322, 0.5517108868534738, 0.8674792256458139, 0.8590828670245877, 0.8362397254901961, 0.8261673629007158, 0.8136113388577654, 0.8007493027349835, 0.4850001356961304, 0.5166668112356054, 0.5352779275599129, 0.5311111127450979, 0.5344445939931528, 0.5311112586763808, 0.2069445020230314, 0.2058333908341114, 0.2061111687675069, 0.204444501556178, 0.2488889585278555, 0.2487465077030812, 0.2661111855742297, 0.3419655477746654, 0.3236112016806722, 0.3236112012657077, 0.321388978680361, 0.3219445344693433, 0.5266668141145348, 0.5269445918923126, 0.5266668141145348, 0.5263890361811392, 0.4797223562869592, 0.483333364379085, 0.4466667917055711, 0.338611205804544, 0.3383334276377217, 0.3391667614379085, 0.3383334280267662, 0.3408333340336134, 0.1475000412387176, 0.1488889304388422, 0.1488889305166511, 0.1488889304388422, 0.1508333755057579, 0.1583333747795526, 0.1680556025521319, 0.168055602474323, 0.1680556025482416, 0.1697222696078431, 0.1713889368191721, 0.1802778278653263, 0.1769444939309057, 0.1755556045751634, 0.1755556043417367, 0.1794444945533769, 0.1777778274976657, 0.1637651736694677, 0.1947222766884531, 0.1950000544662309, 0.1950000545440398, 0.1925000537659508, 0.1894975939697258, 0.1646802062713974, 0.1736111596638655, 0.1733333817304699, 0.1733333818056853, 0.1697222692966075, 0.1691667139744787, 0.1461531300802733, 0.1727778260192966, 0.1722222703081233, 0.1725000481637099, 0.1733333820398548, 0.1727521034113268, 0.1646311425714198, 0.1911111645658263, 0.196666721599751, 0.19833338881108, 0.2000000559400613, 0.2019445009337068, 0.2119444456893868, 0.1961111659663865, 0.1972222773109244, 0.1988889445222534, 0.3080556416900094, 0.3413889844382197, 0.3483333344226579, 0.3333006546840958, 0.3302778700591348, 0.3294445365701836, 0.3283543418145035, 0.4455650174188194, 0.6452779553682142, 0.6780557462465396, 0.6786113006561886, 0.6961113038424912, 0.593076570787426, 0.8236113418119101, 0.8227780072415952, 0.8055557815625325, 0.9169447014070302, 0.9436113756757608, 0.9544447098413654, 1.0055558375783828, 0.7891454496449551, 0.8391669016572335, 1.0958336404597908, 1.3163892560299897, 1.318889258324938, 1.1138892007698005, 1.1286114216594043, 1.2002781136836678, 1.136944761437909, 1.2616670198412698, 1.397500391300965, 1.3481446312636165, 1.392778164709879, 1.3964733100321625, 1.1580602308590102, 0.9866339933084344, 1.011127458839091, 1.0447225144724557, 1.1583450175828665, 1.232500344771242, 1.2261114505135386, 1.1966153229069405, 1.0405252164643637, 0.9766669389200128, 0.9400819553926154, 0.8955558053221289, 0.8575002324151886, 0.8530557937266575, 0.8625002406039289, 0.8216668956582632, 0.709514479380641, 0.62575631232493, 0.6188890612135602, 0.5227779225801432, 0.5700001591360638, 0.5716668232181761, 0.5906792835868615, 0.5847223856034087, 0.5850001633565478, 0.5893115508870216, 0.5452779298941799, 0.564166824229692, 0.5509593937688045, 0.7350002039371306, 0.7944446661220044, 0.7737675130602245, 0.7441668744164333, 1.1091669740617551, 1.2761904826486148, 1.6980863748054775, 1.7661116048863992, 1.7833338321662, 1.8163893968253968, 1.7938893906006848, 1.7775004933862435, 1.6708987093059444, 1.6661115772642388, 1.707778255757859, 1.7063893664021168, 1.3095284872049755, 1.0570494950523852, 0.9788959018051664, 1.0111113929349518, 1.1647225466853408, 1.148055876361656, 1.193055888966698, 1.1814729551820726, 1.1887255298377697, 1.1611114355742296, 1.1637398160597572, 1.1950003341892317, 1.240833680438842, 1.3654155411725823, 1.5137348642539437, 1.4906652971424683, 1.3330559284242425, 1.319022305399938, 1.282500358854653, 1.2967063778400247], [28.19695231123561, 28.857211351917996, 29.38336929240585, 29.278859424716, 29.11248866532382, 28.992799660675384, 28.937411966947444, 28.87836452388733, 27.88227629014939, 26.949874391239373, 26.99905734129837, 27.195007560690943, 27.276597210006223, 27.37683300492791, 27.875285531045755, 27.69496551338313, 27.711351925132927, 27.051905094926862, 26.209862722922495, 32.926638205600675, 32.014205503992265, 31.17199263201838, 31.294441164488017, 30.23414909477124, 29.367377125994008, 28.363985284391536, 27.01645211756925, 26.31351807731785, 25.376055177248677, 25.08380916682229, 25.16436967498169, 17.587891990660342, 17.581995893929626, 17.413347245720512, 16.387744771786494, 16.593958767818236, 16.643888787426086, 16.7312884029723, 16.76487360768752, 16.437270941147965, 16.552254777466544, 16.667226855743625, 16.571173833563495, 18.884832293261752, 18.8531540174292, 19.288693355007005, 19.425889965997516, 19.34952425762528, 19.31381474937753, 19.46743030900833, 19.41944984165889, 20.00029225124494, 19.868135306411453, 19.83743536079988, 19.81072178044404, 17.430623301976347, 17.017740919467787, 17.115928902038593, 17.009526461095547, 16.93191624493918, 16.903715898848432, 16.725349938608776, 16.699661485973007, 16.855424786069616, 16.891061760958735, 17.100282531590413, 17.217824148537193, 17.514727098739495, 17.538821220666044, 17.71414099455338, 18.570754404839725, 18.61833850933707, 18.6405232141301, 18.64451252279801, 18.666466449035173, 17.995800552054156, 17.926038828820417, 17.713123140605113, 17.29939345463741, 17.283125714908188, 17.362406639337593, 16.975868175225646, 16.04080570611578, 16.12941378566047, 16.161701294243443, 16.292056062636167, 16.28229910348584, 16.54004422883598, 16.626421326539987, 16.60637712961277, 16.667541928804855, 16.6579406521164, 16.54810424922191, 16.49803748451603, 16.47530168075008, 16.396194747432308, 16.31223357041706, 16.103967729147218, 16.094128850840338, 17.48469437378683, 19.005826821039523, 19.0168235454028, 18.986891051587303, 18.977325525741158, 18.94787388406473, 19.13444261533162, 19.18923253828198, 19.20278312488329, 19.17808884928416, 19.18348084095861, 19.236242357531903, 17.023623114612512, 15.93894912985724, 15.894670407244009, 15.960251743472554, 16.361225186507937, 16.720198261904763, 16.911230530021918, 18.293963799237478, 18.613989636554628, 18.710896842514785, 18.86609722105509, 18.78104374694665, 18.741258642857144, 18.722227434640523, 18.712801436430127, 18.68992094379734, 18.212250269452227, 17.90068396537504, 17.626141819716775, 16.155719306683157, 15.868417764394646, 15.866073268362902, 15.790566802131965, 15.761668598259028, 16.222345631419234, 16.367534717242453, 16.40221510286337, 16.391150620059136, 16.51247410225972, 16.811727953470278, 17.158291248644858, 17.50164153896475, 17.84369068129474, 18.055315250622478, 18.36194955882353, 18.70008448233738, 18.52299725583567, 18.80933522564581, 19.16410891215375, 19.5033224160442, 19.80604163686586, 19.867967446000627, 19.796755864427727, 19.691949916666665, 19.284274556722693, 19.365838719810142, 19.847783140834117, 19.63185179938577, 19.39436303563648, 19.08073787612823, 18.847661350750208, 18.886589857843138, 18.938625276455028, 19.074316363601, 18.924416899671908, 20.4968404201564, 21.016887129184173, 20.929638590024897, 20.77188946140679, 21.28005250314867, 21.20456451704015, 21.22007295043573, 21.229097707983197, 20.974172465764084, 20.685542600529104, 20.311982631263614, 23.777522767931064, 22.187711569094304, 21.88524863009648, 21.545001026377214, 27.692420871990095, 27.262409337924066, 28.30226944819889, 28.44749150848117, 34.72047389028945, 34.93113216625169, 35.30937461632431, 35.226263527466536, 32.475620482648615, 32.402420232493, 32.31767472362279, 31.65790196195144, 26.048354261541903, 25.489498889822592, 25.430508772038724, 24.61976232773109, 19.14539024998703, 18.92008463157485, 18.464963098382224, 17.861783905206714, 17.72780352847158, 17.663469245487082, 17.58643101501064, 17.408860877295364, 17.2841712984419, 17.141827589091193, 16.871778392779333, 16.883910198801743, 16.807294298552755, 16.854031285014006, 16.923823356987242, 16.957222812013697, 19.1089431887644, 20.191732899937755, 20.29451771195145, 20.36897842997199, 20.40793270315904, 20.40997050380616, 21.05744280388461, 21.16542355454404, 21.341754082088396, 21.275299815048243, 21.224146764628077, 21.28176329432532, 19.25427425909262, 18.334458581232493, 18.395611828976037, 18.52781782710862, 18.54100886118892, 18.63783884258676, 21.066198277469816, 21.11604678828198, 21.117722773342678, 21.181117011594825, 21.34451335862123, 21.439594828000185, 21.630372292561468, 21.727143991461777, 21.84137394708995, 22.02429398176199, 22.350678166199813, 22.478120147722397, 19.68178643731716, 19.747675832010582, 19.861541376439465, 19.98872372914721, 20.218567245235505, 20.334954004823505, 20.234811594771244, 20.30918856886088, 20.386686051665112, 20.512897164604087, 20.40486999397762, 20.45972791464364, 20.58248703555867, 20.6948252605042, 20.891586090550764, 21.070624376128237, 21.23669088577653, 21.16661399929972, 20.776301201291627, 21.4422762648602, 21.30010140242764, 20.80183785977799, 20.489785805940063, 20.099654911998133, 20.16892437698413, 19.806914306800493, 19.235621257236225, 18.77498171109555, 18.18629086623224, 18.102182554310613, 19.43183296374105, 18.509879038671023, 18.49417181431165, 18.520208110333023, 18.45750970782758, 18.488894020463743, 18.605341204092745, 18.455838467164646, 18.503511112122627, 18.447227360644263, 18.39873253432348, 17.359883646329365, 17.434449296763148, 17.275133141067542, 17.185875238484282, 17.132418125661374, 17.086659733660134, 17.07697692882042, 16.421363106909432, 16.465485133131033, 16.47453300132275, 16.518435956271396, 16.46387702035805, 16.46677379026535, 15.929586221055088, 15.961456293495177, 15.91345981364768, 15.934808203781516, 16.034726681917213, 16.372854649159663, 16.40591222152194, 16.348136933162156, 16.392805431995022, 16.629068425070027, 16.607775332088394, 16.597175320999327, 16.639698638518045, 17.611505692888265, 17.552618669678527, 17.606608365935262, 17.521391095704953, 17.171115892468098, 17.18208217351385, 17.146115884842825, 17.017784700669157, 16.823652796685344, 16.842770740585124, 16.85621831178027, 16.50178540343915, 15.71847155318825, 15.959698593292872, 16.09721032492997, 16.36703520717724, 16.5250349178338, 16.694449090102708, 16.955935979380644, 17.247077597338937, 17.403877181061315, 17.666076339013387, 17.76111594856832, 18.389699406862743, 18.172344093649496, 17.911820821661998, 17.775613926937442, 17.556321115857454, 17.380597520930596, 17.250492455804547, 16.98492325575786, 16.69518233504513, 16.510009767584812, 16.321467935340802, 15.91761500217413, 16.14065403976035, 16.122898750855903, 16.171948943121695, 16.00949776003735, 16.002758758813826, 16.125312424525365, 16.06599404746343, 16.12926673498288, 16.155852543417367, 16.14690680104264, 16.435699834500465, 16.432193970043574, 16.201442241596638, 17.285263540305014, 17.327528086756928, 17.352850133597887, 17.424061553999376, 17.36387946903206, 17.314150367958295, 17.296218570105818, 17.237836051087115, 16.964444964985994, 16.834364913320883, 16.65442339363523, 16.662996817154273, 15.577525189231247, 15.506444191409898, 15.488353711718023, 15.39614323858868, 15.354602566577192, 15.294601251011514, 15.281512929971989, 15.351540100625716, 15.359910720531351, 15.329775365779648, 15.330235190598742, 15.34274917359166, 15.36975439884843, 15.549093955804548, 15.517412885620915, 15.470356605859338, 15.467935976423906, 15.513549912695169, 15.466819954092747, 15.49723569172113, 15.4712437393603, 15.486358083333338, 15.524180072751324, 15.299651571584189, 15.351687106442578, 15.302697872471212, 15.331614838235296, 15.374257048703836, 15.510239930005072, 15.639545076719576, 15.909766292328042, 16.100594729302834, 16.225760801976346, 16.347882381341424, 16.437135746187362, 17.113065528555868, 18.09442863326268, 18.01353197447868, 18.05155014877062, 17.998093060768756, 17.82986676423903, 17.74164565873016, 17.499999925905836, 17.247896741051974, 17.137721637332714, 17.000707303839885, 16.898893592436977, 16.541983978446936, 15.423396501945222, 15.507240427404296, 15.501554084811705, 15.532114419156551, 15.642182161686897, 15.544922507740694, 15.560935379940869, 15.596201598350452, 15.598080848817306, 15.692396975256772, 15.630835970277, 15.442319811935889, 15.46728947175083, 15.33982915592904, 15.469467328275757, 15.69544059072518, 15.74127419810146, 16.27978259508248, 16.25326847564581, 16.212337307806823, 16.190057930750076, 16.131099215764085, 16.089614581294175, 16.275375648381576, 16.395212205649585, 16.34323512978525, 15.99422223669468, 15.541670990740744, 15.284399353330222, 14.537571652816684, 14.295147340258325, 14.120198820961717, 14.009989740585125, 13.7767637272798, 13.538339228291315, 13.368947569716775, 14.138925314587876, 13.970706288048552, 13.942064912464986, 14.009170568938687, 13.916780184329289, 14.367504001723484, 14.754009583022096, 14.830636588478464, 14.824443765094928, 14.90581173583878, 15.16208170736072, 18.484167001089325, 17.468340512170883, 17.544920822368766, 17.54792031318083, 23.89166376011516, 23.891646014628076, 24.789411529100526, 24.54207243902922, 30.82183858395581, 30.79223082212885, 30.85386921890238, 30.066781395736072, 27.41791361227825, 27.39094132531513, 27.43250766013072, 26.85070286537957, 21.10917255636607, 21.06436845256399, 19.863616652873095, 19.10877955619165, 13.818712921811215, 14.409170678338, 14.610559622725392, 14.580559615779649, 14.59833739832906, 14.78444855742297, 14.940410174214128, 15.286353446778714, 15.440872582321818, 15.715270393790853, 15.868337745642702, 15.819935104186118, 15.846122331930877, 15.488262704793032, 15.422275500466858, 15.584816096016183, 17.972227168378463, 18.91191693370682, 18.875943261593527, 18.778065318082792, 18.979449727435416, 18.96580124315281, 19.027831967475883, 19.1038894746343, 19.10294414807034, 18.9520710743075, 18.890465088624342, 18.901246913471983, 16.73798316918119, 15.835670247734466, 15.823476171225622, 15.875986903361344, 15.67629019382197, 15.495079792794895, 18.211867661297852, 18.2007890332244, 18.114215799253035, 18.225105344926863, 18.596674013823407, 18.75309785159837, 18.938333670245875, 18.7430815235761, 18.694362879940865, 18.447988130096483, 18.812505245020237, 18.82417640571181, 15.921055570326322, 15.86798504450669, 16.068146178338, 15.892293917366947, 15.405517326014758, 15.36537290789631, 15.046420875272334, 18.432934356131344, 18.274909047774667, 17.830212968098348, 17.75850370471522, 17.718702146717114, 17.19923891721133, 17.81514938437597, 17.510396792900828, 17.49190007026144, 17.9808965898641, 17.686729787192654, 16.906657536414567, 15.164474191706224, 15.219478819195462, 15.413288580454404, 15.619628287270466, 15.812175135698723, 15.866041549719238, 15.445977475568004, 15.406846009852556, 15.306659032441084, 14.76502036278368, 14.774435440009336, 15.601040544662313, 14.720687816760035, 14.641809351696232, 14.37304062752879, 14.127206104575162, 14.006170906006846, 14.088719767148042, 14.271917893168377, 14.3925039894958, 14.488615145559065, 14.64469807544292, 14.6676977022198, 13.81518810823218, 13.835664195455962, 14.064448360177405, 14.189966492608155, 14.298897348117023, 14.383855435729847, 14.224774686397076, 14.231092809212573, 14.19389283745656, 14.145414529878618, 13.980902136535835, 13.863666016106444, 13.795071408107688, 13.605441404761905, 13.476116829754124, 13.373607522331156, 13.343126727988514, 13.617391536181142, 13.589303209577627, 13.32988336371836, 13.234909097183316, 13.29656280095316, 13.318596023187052, 13.421107722455648, 13.384961642312485, 14.293650048708376, 14.275690028011203, 14.22691335558668, 14.121392821272954, 13.703612471988798, 13.671668018120398, 13.803178232026143, 13.811406724945536, 13.724233277544352, 13.695696769443147, 13.607064809679429, 13.652615609182124, 12.736470766651102, 12.686464628384687, 12.79287689169001, 12.909895988406474, 12.94293997941399, 13.349385081699348, 13.579846277077497, 13.602496557656396, 13.616698401804523, 13.62744301283847, 13.69070771902298, 15.275685820650482, 15.182366301841505, 15.281213318082788, 15.255599420323684, 15.180846796991393, 15.15340268946014, 14.753474834500468, 14.551296906622849, 14.590522233348894, 14.571999722611269, 14.609646910364148, 14.619494912449785, 13.061948080921256, 13.131968897305873, 13.085570699735449, 13.065624325474632, 13.059805191176473, 12.99913513974479, 13.020442366402117, 13.234993091114225, 13.224130522253349, 13.560472946311856, 14.007377713818862, 14.147744157820656, 14.528437610177404, 16.037859133053225, 16.368225526377216, 16.687138110333024, 16.989453766339874, 17.36240198313968, 17.75208925940969, 18.14903866658886, 18.192056583566764, 17.591368278711485, 17.427782632975415, 17.331899839960716, 16.898270090024898, 15.40855076752129, 15.020665547152191, 14.755511481326527, 14.469283665421722, 14.139166946922678, 13.692780333333332, 12.87315859197012, 12.879662642934951, 12.96781403742608, 12.98256181870526, 12.897757783302213, 12.926217134220355, 12.966889492799735, 12.976856771942112, 12.951077349050736, 12.939032419000933, 12.933096232492998, 12.97760786764706, 13.223597493020566, 13.25696186686897, 13.1563386573296, 13.312683308278867, 13.29973962114846, 13.371948119981326, 13.464919461554668, 13.824062943588547, 14.288813376206038, 14.65579299167445, 15.048615304154996, 15.307067487949448, 15.807504401493931, 15.916369828898224, 15.97556000666176, 15.994726679582945, 15.960580870664748, 15.934005273935334, 17.186330580532214, 16.831285870681604, 16.366523920168067, 15.993300266184256, 15.588092281901652, 15.281484020767213, 14.65848293767507, 14.512225971719706, 14.460288625739183, 14.677345123015874, 14.764527733271088, 14.965774256224716, 13.92633198066838, 13.916581570650484, 14.110549924836604, 14.938360705882353, 15.747340791861191, 16.736972237185523, 16.872749740418488, 16.89468723391366, 16.943338055501094, 17.37811161266729, 18.11072402894491, 19.7217117596483, 20.39445013507625, 21.35680311117893, 22.02186865577342, 22.06379677474323, 22.110805490033997, 22.013869112278247, 22.779114430672276, 23.019849999766578, 23.213227570728296, 22.72861743082789, 21.268536422710408, 26.02242760589792, 26.069005679582947, 26.14324713099131, 26.243930831508067, 25.74611345915033, 25.31359232823037, 25.00977757165357, 25.06407759920635, 25.22831665709617, 25.46026129380641, 26.17108785714285, 26.936181591726896, 21.97980696282421, 22.827013746420796, 22.62762211048864, 22.46309416059757, 23.433608177326487, 23.80171983014317, 23.88614792289138, 24.02609204629629, 24.609152387643945, 24.913013076973755, 24.87511242491441, 24.87621579489573, 28.44256839223467, 27.54701037706193, 27.701713653594776, 28.60273180176564, 37.58082505874573, 40.92012105541421, 43.39889832843138, 44.32264767724868, 50.89817945712729, 51.194892786181136, 51.46589660161843, 51.558721689075625, 50.24938604590725, 51.21173689993775, 52.049178565904135, 50.27130766682228, 42.66574913361993, 38.46523879092748, 37.08844600342359, 35.46162272510115, 29.66917492156863, 29.619144154684097, 29.29059844928676, 27.708779854263923, 27.307164399393088, 26.860658741907876, 26.22378883208839, 26.47893792605148, 26.39073830585058, 26.58311145442798, 26.690595427559916, 26.69313957135077, 26.51489502388733, 26.168914497587927, 26.392974113289764, 26.738494600451293, 29.295495442032365, 30.35073101602863, 30.572418890989727, 30.79212786904544, 31.04205758224531, 31.62183865094927, 32.23250895533769, 32.24042194848662, 32.81841940522875, 33.44176909049175, 34.13694642857143, 33.3154577194211, 31.61037910449735, 29.929573882586368, 29.377096680827886, 28.72741405247238, 28.287943976735136, 27.75208008418923, 38.294928488772186, 38.19010825058651, 37.69631726182695, 37.11153651823912, 36.00386124455533, 35.382114974634305, 35.68710605018674, 36.0811676100996, 36.10950563398692, 36.02131701073763, 35.770371327381945, 34.4340225140056, 24.186640539371307, 24.156057811727138, 24.24427127696831, 25.174056779256148, 25.22724988849985, 25.260230860877684, 24.932327622205364, 24.96109519691034, 25.092194803921565, 25.28861813904451, 25.485284871898017, 25.76494179691877, 26.00445168532525, 26.06401797587924, 25.950945159156166, 24.940025580376595, 25.336380119149457, 24.88417102038593, 27.19694711383442, 27.483235757236223, 26.98858083745721, 26.469712706967137, 25.86270364021164, 25.39035469172113, 24.738032587457205, 24.140466306158626, 23.813930136087773, 23.767198038038188, 22.97945995852786, 21.952815613463684, 20.99306755034236, 19.75103234803921, 19.551672049953314, 19.586672115312798, 19.484710913554316, 19.325842927559915, 19.27707781683785, 19.152038384531597, 19.06344352039428, 18.86392898856209, 18.97585708274329, 18.262169007481976, 18.17833837705416, 18.32897782508559, 18.33644733222068, 18.232505072673515, 18.23169473739496, 18.246029572580163, 18.205341030189853, 18.214965381341425, 18.134906847776616, 18.09727373392079, 17.939099110877688, 17.75443521093993, 17.743651016417676, 17.856325734049175, 18.026393684407093, 18.059727246887643, 18.083846875579027, 18.393252059725462, 18.41257015390601, 18.359526499144103, 18.348501671335203, 18.29061417343604, 18.42000726151572, 18.376305289371302, 18.293417478776973, 19.136998468409587, 18.8832870733738, 18.734400364813933, 18.586664707905385, 18.21139395845005, 18.17067483963585, 18.2900118311093, 18.289012919856827, 18.336295722533457, 18.176398313768647, 18.16230420284781, 18.17786909134765, 17.116335060068472, 17.126393650560225, 17.125196149465715, 17.27045289589169, 17.458473427093057, 17.5948155532991, 17.61150793635232, 17.550165790849675, 17.53270312729536, 17.49523346810069, 17.41815828026766, 17.96491845193161, 17.970184586756925, 17.96199123194834, 17.97302762775703, 17.823492200746966, 17.565247646747586, 17.39500455091297, 17.502383343837536, 17.52658264526922, 17.526972366479924, 17.47587767347365, 17.014671085653983, 16.85943016308746, 17.80056495876128, 17.869148091814505, 17.824715400638034, 17.868564633520073, 17.93583831893869, 17.965382874649862, 18.40752364056697, 21.93853775918145, 22.019450580765643, 22.41945069281046, 22.44631565739902, 22.43704854302832, 22.241478936196703, 22.23250619078743, 27.118392082119517, 27.155189557889823, 27.164213830379197, 27.12980198910676, 26.199274264610576, 22.63640211601307, 22.264549863445374, 23.8411177578587, 23.80115969684421, 23.77118292581181, 22.82706979917523, 22.688905605741645, 17.89141717149082, 18.28641941269841, 18.251146285947712, 18.290074816915656, 18.35276872897928, 18.500534777237657, 18.55133558776844, 17.280142284469342, 17.389628830610018, 17.415758950574492, 17.349412206971678, 17.49277329691877, 17.622493223467163, 18.125282828737426, 18.149729443225027, 18.12151297845474, 18.05979021872082, 18.02831489612512, 17.900084598583877, 19.559414653828195, 19.504162610955493, 19.479589705493307, 19.52999353073452, 19.48091318930906, 19.25265686959228, 19.377017372393404, 19.3595826423702, 19.54997025295674, 19.7992046879085, 20.158380877295365, 20.406825857142856, 19.46694959492686, 19.827836977092414, 20.20667228913788, 21.39861706660442, 21.640103902583256, 21.78516856769374, 21.57924011928105, 21.83600974719888, 21.945984012600505, 21.89770810908808, 21.647438279641303, 21.33670434048073, 21.112162618658573, 20.899060113990043, 20.91111692880485, 19.79601344553377, 19.52666723849597, 19.068837856664977, 19.154045872782447, 19.138754125622803, 18.88935151120448, 18.68775945364796, 18.572775799253037, 18.220210455104265, 18.684213713743663, 18.427666032368503, 19.43655278478058, 19.408548498366017, 19.44329872956243, 19.04336869276766, 19.30360693476764, 19.024923357467717, 19.09869335628696, 19.326583188686588, 19.41934456053532, 19.142280845627138, 19.60261953540305, 19.052278666841744, 20.191949918222846, 20.753406591094773, 21.871352948040546, 22.801515465513795, 24.32348946782993, 25.13250700925926, 25.91084054178338, 26.260023571973232, 26.43746514635661, 26.953359618505573, 27.06402244125428, 26.66111167693744, 26.53584072478992, 27.11908052964519, 26.450915350762525, 25.723653344304385, 25.12376029564725, 24.885097891223158, 24.351975129267707, 24.469075016693463, 25.22946116446616, 24.97859981989125, 25.476799681289037, 25.26628445907252, 28.844139561702463, 28.364725320494863, 28.448063478057893, 28.278088758682827, 34.7297154807034, 34.70410598762838, 36.517269654761904, 37.17040703571429, 43.4657585330688, 43.69284379292783, 44.27817984998445, 44.45177230472755, 43.28787140748521, 44.17589233621226, 44.67241420051355, 44.37718566744476, 39.42306650591348, 39.110446773889976, 38.369560135098965, 37.17658091867413, 31.13154648022617, 30.63641982088391, 31.019163347849247, 29.53905762177093, 28.5736816394939, 27.959167167366942, 27.80244007368503, 27.859967792872705, 27.95846702597132, 28.006001965816612, 28.06536230189853, 28.22473464978214, 28.265170853786053, 28.56556096350763, 28.444447644257703, 29.846889607142863, 32.4824131942, 33.94856866394336, 34.524890080065354, 34.91294176844071, 35.37525220277001, 35.1394985742297, 35.41491410620916, 35.43497235823218, 35.7123534344071, 35.16359531921301, 34.95003253423592, 32.77293938771592, 31.19289980501089, 29.50939608003489, 28.733198609394776, 27.36302349968876, 27.309729817693743, 27.230170850062244, 37.578221941487705, 37.22252842934887, 36.761090572906944, 36.3985018793184, 36.26397111165578, 35.910707501322754, 35.52970340660448, 35.37834537107065, 35.23215229598506, 34.84969935901027, 34.65684652450981, 33.928336512060376, 24.08605006963897, 25.088545604964207, 26.35510108107687, 27.556548195689384, 28.865033506302524, 30.310010586134457, 31.217945053582454, 31.577231018440717, 31.94734535792095, 32.006438650482416, 32.61101272323374, 32.612803168767506, 32.191508376984125, 31.147425756458137, 29.68950142584812, 27.923018744699917, 27.474372365941115, 25.93486265437612, 27.33908503454002, 27.72845286165577, 27.090301187052603, 26.48626326562338, 25.672474639027527, 24.99552256254345, 24.5311372605042, 23.879451092903828, 23.36096103260193, 22.639776207983196, 21.61168885208528, 20.294171777155302, 19.1699326721334, 17.76439596101774, 17.32272483558205, 16.429052569638966, 19.668665295715364, 19.56400371607532, 19.306202431528167, 19.29781296872082, 19.2075375506536, 18.742549494631184, 18.94405742234672, 18.096344783500644, 17.96182781668223, 17.842875890745937, 17.862465152104086, 17.86084976672892, 14.76863139354705, 14.701313498755056, 14.632303120136944, 14.717756081699347, 14.81309435094668, 14.718704856753812, 14.93451836911635, 14.882884420738671, 14.73469592484645, 14.730412448334892, 14.67870600793594, 14.44760784997536, 14.608916077108622, 14.947658071117337, 14.834196329100168, 14.583663713040773, 14.615274555477749, 14.441725414332398, 14.900342329909742, 15.043867084578276, 15.09883209753022, 16.014520949735452, 16.195433748953477, 16.099124951525052, 17.865287169000936, 18.555723874416437, 18.711158008062952, 18.7993770749624, 18.653494791005294, 18.474841892545907, 19.283856908963585, 19.24145213266418, 19.163620897374603, 18.150588299097414, 17.929997602474327, 17.70700496317372, 15.955238455648926, 15.334543970588236, 15.241327554855276, 15.38964928252412, 15.497321952367988, 15.28179773708372, 16.601827654290513, 16.442074688128955, 16.93492522852474, 16.912177612900717, 16.96244160059654, 17.06151721697598, 20.080317965141614, 20.105836467009027, 20.15505672805789, 20.044533782127957, 20.065005597413503, 19.959451910364795, 19.23739310628696, 18.822535522490018, 19.151893579754123, 19.44551417250233, 19.33385913803299, 18.90179535473078, 15.973454380796763, 15.86921065538438, 16.075557426003737, 15.899359539449112, 15.728771680983506, 15.40306072595705, 14.99541906806724, 14.938474940320573, 14.326999275210085, 14.929151890211642, 14.872191120837224, 14.819029223544971, 15.284098335901026, 15.220727506830972, 14.996717319016495, 15.145998343443985, 15.161021762527234, 14.635758854407872, 14.652900710862124, 14.736537517731351, 14.752151518674138, 14.010211538904452, 14.195769485527546, 13.92389872641288, 14.029999124961096, 14.134723715375042, 14.33646490958606, 14.362930929660754, 14.405456831883738, 14.21648031714908, 14.585339861188922, 14.583995387339847, 14.65309805035857, 14.606944659430438, 14.582781839013382, 14.290973846327418, 15.179411177185782, 15.18198084142546, 14.983103761204482, 14.901063767035616, 14.82470503322051, 14.723200708718542, 15.094861568316215, 15.270398464130098, 15.253150706582636, 15.29033084327861, 15.16442051073763, 14.915266455026453, 17.570975809835048, 17.542871359243698, 17.455742235572934, 17.518893775132273, 17.798338297307815, 17.897782768751945, 17.743102266881937, 17.489248423202614, 17.547815229691874, 18.68658595963627, 18.96633329560056, 18.912689426626205, 16.524154907329596, 16.802948060224093, 17.147987633208842, 17.365049118892003, 17.466568619514472, 17.484951461795827, 18.68180721962053, 18.943214655462185, 19.28694962698413, 18.381090406931506, 18.555896624027387, 18.77217363227513, 20.66111687114846, 20.57673295284781, 20.471158752645504, 20.45601165452848, 20.31278343653128, 20.372942107609717, 22.37370368727565, 22.31405970751634, 22.916542192875987, 22.90976581053533, 23.161448881294778, 23.03743722934337, 21.417956256847184, 21.540547370525992, 21.71857949907157, 21.994761077126427, 22.20121504855276, 22.1559994300498, 19.199722866013072, 19.22201265398381, 20.462715200280112, 20.61931420883909, 20.459589904917525, 20.016947377049647, 23.29470045285506, 23.45971215087146, 23.69945104299007, 23.82681549657641, 24.115632939253665, 24.296296290694052, 25.910499684717685, 25.315058869747897, 25.361113044195456, 26.712588920090266, 26.80986487427193, 27.48744696016184, 24.75079353151261, 24.951854396872875, 24.990704745251712, 25.1372336546841, 25.33957931048488, 25.190198894179893, 24.47582379489574, 24.68526315639589, 27.93736958807968, 26.97944704504292, 27.307832011369182, 27.122299535558668, 33.70646575076568, 34.04777304149258, 35.30225276065982, 35.43242368270915, 41.79280537177093, 41.86360214479976, 42.17034292289137, 41.44459665289449, 39.71056426089325, 39.6367651589655, 39.74117582570807, 38.73607650848117, 33.16367071748509, 32.18398983971366, 32.13699265110489, 31.66159308606588, 25.605585792383437, 25.4457173059446, 25.165625265795207, 24.30703175894802, 23.90791042281292, 23.980601834962133, 23.80359170619359, 23.45279934850607, 23.523401658223445, 23.429039937986307, 23.158817250311238, 23.152226001789607, 23.488972143713045, 23.407297643168377, 23.118322839091192, 22.67615447798074, 24.277181972455647, 24.615867706803765, 23.960930821117337, 23.47658310221044, 22.836689174758792, 22.296476610877683, 21.731000269607843, 21.16771510823218, 20.344288706803734, 19.46551646809835, 19.462423583184204, 18.63236762877373, 17.157861413165268, 16.164661876359062, 16.223620955571118, 15.984729573757004, 16.16860812955182, 16.351495969965764, 26.97627492923968, 27.084369918222848, 27.534741065904143, 27.93347189495798, 28.413009455648925, 28.668607091970124, 29.18711335379708, 29.59126848117025, 30.17272990764084, 30.709641132041703, 31.971532782684303, 31.85810058263305, 22.15906054392648, 22.45997511126673, 22.170869640834116, 21.80439376237755, 22.064469058979142, 22.00151386858077, 21.96364040928001, 21.676223648615, 21.273457420090256, 20.549867449024795, 19.854746027699967, 19.356849138110803, 19.121737027452284, 18.800861623015876, 18.84787383497853, 18.4028900245098, 18.89216960537924, 18.86135425443511, 20.8422322843, 21.58312134974903, 21.364965953672584, 21.0037514615624, 21.02354427544352, 20.91355359158108, 20.751772660831, 20.55884777527691, 20.35522358448128, 19.94390086975647, 19.87011964091192, 18.69860211865857, 18.188117461918207, 17.156629367791655, 17.05851764832711, 16.711319584205715, 16.861404909897292, 16.685399109321505, 16.807782423268105, 16.861855542002548, 17.215788959383755, 16.972757115624027, 16.658398290305012, 15.77221321204482, 15.486845803376903, 15.487226528789297, 15.728967600918146, 15.90485555166511, 15.973057421179584, 16.14204440460629, 15.929276202610149, 15.810998679193904, 15.309574532212888, 15.13065633348895, 15.587417954715225, 15.636348672969188, 15.617289363211952, 15.6821095660844, 15.48305736912543, 14.98668987502022, 16.560904058205676, 16.85061379816371, 16.80952828415811, 16.796110976385012, 16.850508762449422, 16.771389365157173, 16.994717500800125, 17.033214184407097, 17.089244404799018, 18.12074488634973, 18.06358177906822, 17.95397810325241, 16.862394710877176, 16.543608319094307, 16.485032347997095, 16.529367136109173, 16.349774380046824, 16.28557383224401, 19.145950377840027, 19.175285125583567, 19.18208740873016, 18.1446675869132, 18.14782476151572, 17.85174169989434, 17.97924834376819, 17.965861679271708, 17.982925075469446, 17.894727212418303, 17.844958286114835, 17.54701733909119, 14.460173071999172, 14.37220002902272, 14.833026941643324, 14.712233015109195, 14.691392980314347, 14.423436323685028, 14.665820893557424, 14.46659326915876, 14.473225162961512, 14.52424059064737, 14.67676399089636, 14.419811373482728, 15.556675337457206, 15.065546570644658, 14.87119889522968, 15.022723385926218, 15.087410704158886, 14.961076468409583, 15.06544291534392, 15.217683816133675, 15.234033025132277, 15.202462997665732, 15.172749310379707, 15.029423749533144, 15.336115382976711, 15.483381828577269, 15.467440967834849, 16.338248944677872, 16.30480367328042, 16.003978073218175, 16.248321279022722, 16.168960817615936, 16.19709814558046, 16.199105732804234, 16.124712334472587, 15.46351096575371, 15.103502856048328, 15.027700111019689, 15.11521192394377, 14.065384259570497, 14.012751164799257, 13.639507745409274, 14.371869038359788, 14.461460440320572, 14.516983371226267, 14.592471218098352, 14.724355000311236, 14.485044820369096, 14.693059648725916, 14.65694851984127, 14.55500405096483, 14.609693446389668, 14.642669674058514, 14.4504697167153, 14.954572077419858, 15.022219265950826, 14.695508129240585, 14.56068754454137, 14.573892942858444, 14.264020198412696, 14.38704407913165, 14.308088731995024, 15.353097035058743, 15.26422908496732, 15.288573253968254, 15.08247482990974, 16.194502235727906, 15.99833533714597, 16.081372952769996, 15.99923682199024, 15.863524351151572, 15.867355788593214, 15.95773770751634, 16.004763784454227, 14.61625744494924, 15.63338899546115, 15.727149317615934, 15.31036676268285, 13.878320758332707, 13.878951055555556, 13.870486864301276, 13.883540043416096, 13.853775794506694, 13.423758422332453, 13.710003818215078, 13.76493380042017, 14.042666029308196, 13.11800432850918, 13.070559193510736, 12.836333036729046, 13.059389514161222, 13.021497415421724, 13.033999718176162, 13.04111474011827, 13.148570405661356, 12.894570739325266, 13.231868712714624, 13.002321929911432, 14.148996442448649, 13.990145079350167, 13.959322238391564, 13.693289418300653, 13.999875400093371, 14.034009253145053, 14.293495881886091, 14.6687503843643, 14.866115243919234, 15.167439794889251, 16.05860377544351, 16.739682338041284, 17.15888662822907, 18.01889391129785, 19.145283119281043, 20.027668850295672, 20.9468286940554, 22.16031844102085, 22.87160517948698, 23.873290847416747, 24.981687528955305, 25.54899467475879, 26.10939321762372, 25.55559365281668, 26.299470235371928, 27.635037634892758, 27.71282745385932, 27.479066764628072, 27.870227039139195, 27.843473765019752, 28.282603133201704, 27.914946522007607, 27.54025000217865, 26.870754575474635, 26.841148841814505, 27.13382140196079, 29.338355032776537, 27.35668101252723, 26.9248392010582, 26.541067117024586, 36.30302564528154, 36.00227384796141, 36.78738631505862, 36.883980658574544, 43.55820521747588, 43.48953825629409, 43.81082408370943, 43.10044608577459, 41.72112733950623, 42.65079142989419, 42.42622086834734, 41.68080807951681, 32.67830941801467, 31.88676050438782, 31.237590190553995, 30.311132493930906, 24.212059185416667, 23.769916308901337, 23.67535191814504, 22.83085477664826, 22.366441636165572, 21.9247771984127, 22.0207738881108, 21.939440024505263, 22.41767416622705, 22.51790530571117, 22.412784007469657, 22.114666578275752, 21.93695055143169, 22.07448480607494, 22.85186210226684, 22.57489400412388, 24.66074915408713, 26.143011475023343, 26.582276170726345, 26.43030400051681, 27.108023250233437, 27.15747200101152, 27.404477720199196, 27.345903783707467, 27.22973646584189, 27.103835641223156, 26.921370416977904, 26.881384884765016, 26.036176506296687, 25.20645913040772, 25.17826524094306, 25.582633537503888, 26.25591503083503, 26.314708197406443, 37.29603738390913, 38.47001072477824, 39.55925463149705, 40.24032992203548, 41.43497867794896, 41.97542011878372, 42.00822111064425, 42.24623239635854, 42.74737643467561, 42.63524092343605, 42.171089735371936, 41.68623552666188, 32.073064478291315, 31.83492133446416, 31.730173132352935, 31.30569879707438, 30.636956544662308, 30.521784806567076, 30.896483082656395, 30.835533456115783, 30.61314808948024, 30.530616978369125, 30.986953066059755, 30.92632425443576, 30.65411169125429, 30.561016624105203, 30.26005423240806, 29.568906150800192, 30.377855402115102, 29.746275056567068, 31.3713947805789, 31.759032878618115, 31.224711594669444, 30.28464796101774, 30.083124557889825, 29.60004536990352, 29.03203830726735, 28.50848312421997, 28.004288436819177, 27.608293997324058, 26.91855772204845, 25.79832441409897, 25.01946759453781, 23.909442734669685, 23.88975446934329, 23.74535779614068, 23.407893625094676, 23.392893734198317, 23.37505357547012, 23.486749710901027, 23.493673351540615, 23.19171382212885, 26.445002628929352, 25.93767566938998, 25.55858067289138, 25.70529412572752, 25.462315358324258, 24.74418801164347, 25.32867862130408, 24.878463729147214, 24.477184399815872, 24.024502262838467, 23.647520277388736, 23.14919025995954, 20.031863357719946, 19.46314706162465, 19.16827289604731, 18.66847140421724, 18.510467085511987, 18.43158051462807, 18.17537829738562, 18.594440137038983, 18.574827665955397, 18.44958007920946, 18.43419505423281, 18.171711435311643, 18.77944967460318, 19.45917208667912, 19.93666038180828, 21.45722820152505, 21.906651652661065, 22.0394666826953, 21.94097014464675, 21.99816876065982, 22.405687606053537, 22.85235219218799, 23.179413298397137, 23.568965483839463, 23.408843868806414, 23.02026171381886, 22.791234956349207, 21.80861717701525, 21.788598324696547, 21.76941591013072, 24.41752051618425, 25.66556126618425, 25.66421561640212, 25.62477579295052, 25.545990729914312, 25.18029932765328, 24.491119998132582, 24.51282180042017, 24.719421256769373, 24.195007863056336, 23.74618910325241, 23.17764252762216, 19.891386663709927, 18.835658120136944, 18.362168384220357, 17.916176314347965, 17.720501598428264, 17.465760860488643, 17.445422323607225, 20.05739524712107, 20.055752213040773, 20.016564619747896, 20.037031490429506, 20.065371855119828, 20.30370541238717, 20.76061722253346, 21.11278366223156, 21.405911575396825, 21.65851443145036, 21.902473314892625, 22.181371487706198, 22.038340845704948, 22.23984270837224, 23.21167313686586, 23.143062009492688, 23.00556404512917, 22.660185754746347, 22.88315741674448, 22.52726548887333, 22.30510864067849, 22.068154852941174, 21.600562873482723, 21.69606088040772, 18.704477561553983, 18.427404548474943, 17.565177480781202, 17.830231088857765, 17.869941794740118, 17.9374021424681, 17.405452880718954, 17.42096689985994, 17.32987848638022, 17.295263715452847, 17.407866285290876, 17.23437890973521, 17.243947161998133, 17.400406502256455, 17.3462816127451, 17.150069850373484, 17.020798167911607, 17.069619378540306, 19.451986978913787, 19.476912338313102, 19.45574757189543, 19.33333611834734, 19.279631742841584, 19.450168562489708, 21.017146225723625, 21.127568616324307, 21.065199345315904, 21.13770649307501, 21.152981941176478, 21.02920258348895, 21.544125765246008, 21.904095596016184, 21.90666323288204, 21.856329274843937, 21.97117071374105, 21.852589813330617, 20.13416964456894, 20.110635600529104, 21.482587469465194, 21.576366744864615, 21.65082988017429, 21.899809940476192, 18.99559353283536, 18.82194968720821, 18.87951030913477, 18.932785287970773, 18.82046249206349, 18.75574977505447, 18.768004716619984, 18.8313003881108, 17.489855071584188, 17.46252316721133, 17.47533400478071, 17.457177988795518, 17.38641450311106, 17.469745609321507, 17.51654775583567, 17.85306052279801, 17.9337374178338, 18.075226774136457, 19.151807327419856, 20.05222780641145, 20.04528336336757, 19.97528333885777, 19.97945001151572, 19.857036117491443, 20.007024663157484, 22.18784665740741, 22.19359839071416, 21.955960635698723, 22.11925677925615, 22.71363831788957, 21.32964815950825, 22.10072942561469, 22.865484703937128, 23.76750662721756, 24.471197195300345, 25.10566054684096, 24.97883589355742, 24.08253928369125, 25.029941558590107, 25.573037003579213, 25.86552745277, 25.980445673555664, 26.080663498210395, 26.436505828976035, 27.732164579725836, 28.077451654761905, 28.27288423550161, 28.68833963881108, 28.757819752100843, 28.692983986150026, 28.765714948564423, 29.009020648459387, 29.523318095374265, 29.974349591071427, 30.95171015126051, 34.41556514816134, 33.508438700625014, 33.3030505350802, 32.79684358642042, 38.46162585324073, 38.79021118326071, 39.55700170573216, 39.11848843152817, 44.8770081167114, 44.51732996148849, 43.72831259067402, 42.0757122478019, 39.58487765087146, 38.93432875244519, 38.44413740896359, 38.15731362519452, 33.87612055774719, 33.15653874891067, 34.74306982500778, 33.93026385517041, 28.33251223420482, 28.3615038671024, 28.868014257314044, 28.405560833528508, 28.40010355547775, 28.40409983003707, 28.4327786360359, 27.616256346739345, 26.68006807437013, 26.29457297032888, 24.401792379544165, 24.51213559191971, 24.500485208600864, 24.2144166830648, 23.84704267953287, 23.205891987198683, 25.1277260606903, 25.97507445065943, 25.915723583566766, 26.046692471599755, 26.09645442561404, 26.01471287232468, 25.86418278586991, 25.83494627061936, 25.85436736912543, 25.95711017506356, 25.77587076089325, 25.659923603797075, 24.46486190757405, 23.596272736147547, 23.643444574004054, 23.538208871087, 23.472137414736363, 23.445937523673365, 34.34237612970744, 34.28322591199813, 34.243132681942505, 34.19098282275132, 34.30237838839415, 33.69730139499106, 33.50632787153751, 33.45338454088404, 33.59300638472676, 33.828828061665504, 34.00769364013124, 33.90522680788982, 24.057349771993348, 24.367506781123563, 24.61830482752318, 24.689619347805788, 24.873699687130404, 25.17049950357921, 25.404743144802364, 25.602086883753508, 25.600116411686894, 25.43404977933396, 25.0752706751686, 24.72455372447868, 24.13314840970796, 23.75734530322129, 23.30634612000017, 22.916316933096677, 22.757559539526923, 22.245174013071896, 24.174840799097414, 24.74862941844852, 24.56921767391848, 24.289724134298165, 24.07574648653906, 23.518673499767885, 23.34425202030813, 23.11338392055712, 22.969268600140055, 22.938108556875065, 22.48684549247718, 21.6693516267507, 20.793084061780267, 19.73885896444133, 19.32686777513228, 19.19626569351074, 19.237194890756307, 19.29820308797334, 19.2350495659022, 19.208343300108933, 19.139318831932776, 19.00818662317149, 18.94439569615624, 21.096230571973237, 22.60173792030748, 22.417454456193592, 22.40320845059135, 22.32204600272331], [9.676643856598194, 9.847481650617286, 10.043550804648438, 10.166008341814504, 10.143021241594694, 10.71454731154684, 10.701263410597573, 10.316013410999329, 10.399496355945251, 10.470758663166592, 12.46099464013383, 15.829070597471862, 16.09320226268285, 16.21586764670053, 16.83684591293184, 17.24848011095549, 17.050833598661686, 16.60675014954871, 16.594997554544037, 16.953262948525538, 17.234033331559942, 17.8138452763701, 14.970791561056648, 12.779613169389975, 12.913859715919704, 12.687167239987954, 11.935938942343606, 11.664778655228757, 12.009298015717398, 12.658254276065982, 13.071114752645505, 13.13353965740741, 12.890575345898174, 12.246861099361968, 12.450268946000625, 12.130182630796762, 11.856603492415836, 12.617507726579523, 12.835122192265796, 12.847069001867414, 12.410850176704011, 11.847679866946777, 11.459370202192916, 11.3926497867258, 11.402612747276692, 11.151470795751631, 10.755240664332398, 11.232234123793962, 11.13830792495192, 10.381517544351077, 10.392850485527545, 10.84104382446312, 10.822423501011516, 10.861508515795208, 10.8023698205688, 10.534697048319329, 10.556025302273316, 10.963726128229071, 10.84978556329225, 10.549825384142544, 10.406300359202229, 10.1544608365235, 9.723025461503555, 9.297784779723, 9.20642177404295, 9.094122518285092, 9.074323492919389, 8.992661129707438, 8.98685349937753, 8.640966382664176, 8.578382455095706, 8.464477457431398, 8.589098889978214, 8.589563476700127, 8.46232071959358, 8.341783239573607, 8.306295932384065, 8.317201630947425, 8.346437457344528, 8.258192814814816, 8.215233024976659, 7.985002201291629, 7.84035290115483, 8.12879821636711, 8.34329173653906, 8.926101855586682, 9.000942865299189, 9.069890404917524, 8.983945509648304, 8.977399959570496, 9.067341279800807, 9.009353247432308, 8.961124941643325, 9.1182725843481, 9.131062558434484, 8.925840187805404, 8.580944824437832, 8.021048527933395, 7.964320526688454, 11.186688236500158, 11.197035692799846, 11.112764444145366, 11.090499916290591, 11.12135461493123, 11.223531943477855, 14.371542063557987, 14.370146248894544, 14.396649602184231, 14.491878214973028, 14.564856880951409, 14.545421781668225, 11.358516183784626, 11.296763058901336, 11.348545916744474, 11.399615504590724, 11.412775923669466, 11.46161608296122, 8.242637292639278, 8.285557998132585, 8.261473030189853, 8.384974775054465, 8.441031393401158, 8.464182737861812, 8.458844472611268, 8.611513129396203, 8.617211095082476, 8.603611197945845, 8.667856869714214, 8.684715776455025, 10.953443307656396, 10.899955957159376, 10.81431200420168, 10.73062129746343, 10.781211683862434, 10.720712528600638, 10.753515525639331, 10.68182112877373, 10.667420641644268, 10.65358792013956, 10.55802765515095, 10.41348523439347, 8.157394724833374, 8.067137969421104, 8.154414524198568, 8.124990505835669, 8.016470125972612, 8.121372193899782, 8.118013329598506, 8.025124229751533, 8.068952385563863, 8.062957317460318, 8.15371130042017, 8.222656276453732, 8.130772566369053, 8.056519833177715, 8.015408874883287, 8.160824422191098, 8.352037786647992, 8.320128196467476, 8.328855766651106, 8.361503458527855, 8.560730826330532, 8.589956092816314, 8.582581404019502, 8.644948373482729, 8.456794794506692, 8.941692304699659, 9.084335169780331, 9.337518675925926, 9.194799414700697, 9.16761216721133, 9.187857176514749, 9.14664377482104, 9.041018293904322, 9.230417926704016, 9.35472482586368, 9.36466404466231, 9.756559493606051, 9.227000677806958, 9.164743427559912, 9.04506353881562, 9.237929587707924, 9.38406616328382, 9.274110493575282, 9.424327975432863, 9.379608027414282, 9.505779537453371, 9.343734715023226, 9.248265310199224, 9.144841071610369, 9.171622456586624, 9.087131587145969, 9.131071559912854, 9.125497204407244, 9.080487978213506, 9.06873277628568, 9.058478570572673, 9.038375648848428, 8.91237693051665, 9.134864747821352, 9.224696384298165, 9.239304545770455, 9.26502180667148, 9.387673320235526, 9.23930911336368, 9.04304629635543, 9.0042410663684, 9.284969398908109, 9.177883227121605, 9.11599970562126, 9.213447780164955, 9.043239650106104, 9.127054225470095, 9.200754107843135, 9.093814721659257, 9.113321880096482, 9.164724770697168, 9.248356446623095, 9.22652878968254, 8.891783440892702, 8.831104649782135, 9.005941171646436, 9.022511764939308, 9.203001636505345, 9.054785010037348, 9.09942317429194, 9.137231717954426, 9.012276042561467, 9.173060736129267, 9.420702717009029, 9.418613708743775, 9.527705178225848, 9.52722999411248, 9.283130817460318, 9.397799036245331, 9.290812495642705, 9.219703697478993, 9.101636437881917, 9.070121034702767, 9.091711209694989, 8.952932007391846, 8.62249258489998, 8.621312039524978, 11.510658745422251, 11.473257003568747, 11.50870487987993, 11.365625939386868, 11.362794842890212, 11.457547146265822, 11.52121900497977, 11.548559912620604, 11.544330507158415, 11.509919024431994, 11.473231413813032, 11.555703085386194, 20.37565425770308, 20.5136469987784, 20.666205110333024, 20.735474536959234, 20.61817063634736, 20.572505749221914, 20.67023193681917, 20.53370514862875, 20.52570818110929, 20.48390824891068, 20.68355125816994, 20.66163945108039, 9.25911283410364, 9.218622913206476, 9.084241774665422, 8.976003710862123, 9.049339318088636, 9.09011961469032, 10.263760760270776, 10.267376564011457, 10.238989530578896, 10.343308115343278, 10.20055834430439, 10.139486858621227, 10.007353075817656, 9.870724026508212, 9.982495420012448, 10.096353950564124, 10.064218396358545, 9.97500277134103, 9.028235125661377, 9.049941492361114, 9.060238252567691, 8.982595783457828, 8.980023405408382, 8.912738509103642, 9.009428197245567, 9.037222595238095, 9.011872190554, 9.005034774976657, 9.057306086766518, 9.217388409741671, 9.122654161012118, 9.175375856131344, 9.238552981325864, 9.438319345393712, 9.476463554777466, 9.633342751711796, 9.427936472844696, 9.206314336679116, 9.279757646981013, 9.6373789213352, 9.683252143357066, 9.56682806100218, 9.565502120710788, 9.473282168454352, 9.36701957500778, 9.19024989500468, 9.139941848117026, 9.06437449197531, 9.228711616313934, 9.564722425303456, 9.28079368409586, 9.180331332399629, 9.398739674214132, 9.74561395331466, 9.760903396903204, 9.81035987605042, 9.700648995268695, 9.85898477832244, 10.973873169545596, 11.718758840336136, 11.783878034673608, 11.71520130967943, 11.825689237317148, 11.55085909929266, 11.230003132897604, 10.872848224400872, 10.582950759726112, 10.543623301431683, 10.610222289523692, 10.821335778190194, 10.067504987013695, 9.280835870759416, 8.917026369096915, 8.821375260818694, 8.865959722766885, 8.961872208293132, 9.046500804232805, 9.324563421879862, 9.44997454226257, 9.448772377840026, 9.61997468366921, 9.329262409208692, 9.054654638499846, 8.989040419988465, 8.881052814892625, 8.831909617958294, 8.889958437130407, 8.77298589531461, 8.714563138275507, 8.443669353641456, 8.272299080610022, 8.196358664721444, 8.075796369207785, 7.991648018811599, 7.959901745876129, 7.916071160650097, 7.836143285169624, 7.831024828353564, 7.772472398459383, 7.768637087826153, 7.729866478913788, 7.7861132805789, 7.953332962107065, 7.863380127684406, 7.793485415966387, 7.900702795596016, 7.9544466626206045, 7.986549526221601, 8.063533631175433, 7.918142035635301, 7.896508052742115, 7.916190238724199, 7.956197283073985, 7.862945596093993, 7.754810736060535, 7.8336995864456895, 8.0462957316371, 8.0223481013033, 7.953613328509182, 8.008328438141923, 8.030910097340882, 7.950978225091454, 7.815032803688141, 7.864286118808357, 7.874787367802677, 8.013781277544352, 8.045882186056, 7.863254248054777, 7.453693138129606, 7.613188738484283, 7.754168800809212, 7.811773587290586, 7.617359665421724, 7.617957100451291, 7.640142777544351, 7.698984989962652, 7.718136947245566, 7.560230523731716, 7.588781225178961, 7.631336968098353, 7.828867945144725, 7.715690560068473, 7.589959859991971, 7.458220964596951, 7.749747485527544, 7.718433850673716, 7.977523762687392, 8.251004217242452, 8.348463921743742, 8.36715247945845, 10.603058515873018, 10.49624936476813, 10.53020373288204, 10.957164506237037, 11.181615833488951, 11.326392052131965, 11.162456164254593, 11.170731084191916, 10.896438388266416, 10.66706871607532, 10.597582303532525, 10.578387422342791, 8.363951651882976, 8.385039655211907, 8.110852386554622, 7.726636644413321, 7.61261386686897, 7.449229181683784, 7.328811559835046, 7.1975024394646745, 7.166830346560847, 7.166757016028635, 7.097921873638345, 7.093094870992841, 6.934112259850358, 6.945384527388734, 6.908373313766992, 7.081563523489211, 7.134138071106962, 7.258619761982572, 7.578372562311962, 7.590203498455496, 7.683753631560587, 7.902932058356676, 7.918631679660754, 7.916825040227203, 8.249026496430554, 8.23707706722689, 8.425903868036103, 8.341094693821974, 8.229850332477437, 8.191920904040263, 8.261804140367257, 8.370511677637722, 8.548018517818237, 8.716475788437597, 8.89416914785315, 8.90570266665305, 8.714234227513227, 8.773069581914001, 8.653809950980392, 8.702700800887023, 8.822369181683785, 8.85220808940243, 8.680364190308902, 8.406629578074101, 8.448676871163388, 8.290613789215687, 8.293988942343605, 8.416215949891068, 8.446960703092907, 8.527611852510635, 8.596064834967319, 8.665280175536882, 8.829425670946156, 9.030095872979564, 9.071836923124804, 9.150740305910883, 9.234068994553375, 9.259473020308125, 9.568524909119205, 9.683506259414878, 9.890490578275754, 9.873296391631165, 9.918359749533147, 10.08510113554514, 9.731293313822263, 9.63778046739807, 9.562502460239651, 9.421184075598214, 9.434050346093994, 9.608760549564272, 9.35385609483738, 9.139635731248054, 9.038648356442575, 8.93309097230976, 8.845009637877373, 8.833011320961718, 8.873452352253217, 8.814974171179584, 8.82514460882484, 8.72952879791602, 8.69152910480859, 8.449829886399003, 8.470625404706794, 8.505987316673803, 8.441972745038012, 8.40109044761581, 8.212327487472766, 8.239330545112304, 8.28660108204755, 8.17905884982882, 8.170835516918252, 8.215238583926633, 8.071132472904347, 8.098200498422425, 8.026299889900404, 7.977502224634299, 7.873568860663714, 7.820067387326193, 7.930366727746654, 7.964353847416744, 7.925380176198261, 7.994659721686664, 10.817698998988485, 10.722799194366637, 10.77003076641768, 10.739211469109868, 10.6027807394958, 11.25722281154684, 12.097811485060692, 12.068301394489213, 12.05622575342359, 11.872998095938376, 11.80218321646504, 11.684685215530656, 20.60101398236617, 20.659356437286025, 20.67402031761593, 20.74315908667912, 20.68065211437909, 19.960388109702876, 19.045219877139747, 19.042600917133523, 19.126258695144728, 19.149104043261747, 19.18417196700903, 19.315005273460724, 7.858711072844724, 7.735418397214441, 7.572852873474946, 7.618911936507937, 7.706297427404296, 7.834641176520516, 9.268058143090569, 9.301067318627451, 9.190226786414566, 9.628767538359789, 10.056669474789915, 10.05943311170378, 9.883396551198258, 9.871807192577029, 9.972439833177717, 9.980450700669156, 9.985836028483254, 10.000002777504765, 8.77324236647474, 8.857947801782732, 9.142362693588543, 8.901923800070028, 8.524301927326487, 8.379553900071326, 8.203178971444133, 8.233273183707466, 8.199890655462184, 8.195492996094641, 8.17540798184913, 8.167868689526275, 8.117039823918455, 8.029568573120358, 7.828536906006847, 7.843398140445068, 7.853435660908809, 7.881946645064973, 7.932644357677058, 7.858469112200436, 7.884136497043261, 7.967045232726423, 7.980557781502241, 7.929724434610697, 7.945191793028322, 7.935597178198597, 8.005315442317668, 8.038450450669156, 8.091556573822492, 8.25139119195456, 8.640345536664206, 8.816048250365064, 9.0030022910831, 9.006946950124494, 9.19878376851852, 9.31805114441332, 9.281001501191136, 9.376709195533769, 9.267173427562511, 9.26444063878551, 10.375815080778636, 10.510009488406473, 10.167493186663554, 10.004930254590723, 9.925574793012766, 10.306015977746654, 10.15905734714118, 10.054689726657331, 9.958746594846474, 9.754801511904764, 9.761576113834424, 9.821741404371505, 8.61203356162465, 8.359624119358855, 8.28628841293184, 8.30852750054207, 8.450301403983815, 8.22535740865235, 8.12963342297507, 8.062224443510738, 8.220151663243076, 8.144466030189854, 8.008345259492685, 7.951928379396203, 7.959318209038801, 7.973613310301898, 8.015410403428824, 7.723464165421724, 7.387308983893558, 7.419637761904762, 7.476390974789916, 7.545391589321389, 7.346327850606911, 7.453744639187805, 7.858184527884131, 7.9152337586238195, 7.975074556333645, 8.014135917826675, 7.961155347105509, 8.136902256978821, 8.130294776404451, 8.061204840491751, 8.044413782368503, 7.95874607438531, 7.970557780112045, 7.765138152661064, 7.326480060068471, 7.477080004435106, 7.438057630718955, 7.400690613600996, 7.336390555788983, 7.205128465686274, 7.236139224789915, 7.257091599906629, 7.232193581561889, 7.228212109204466, 8.448253799019625, 8.498111540616247, 8.489164505835667, 8.361740992439195, 8.281150492374728, 8.261944139044507, 8.35706088453159, 8.281286532368503, 8.259484376828508, 8.363799808434484, 8.461542918222847, 8.504307169790701, 7.663914146143943, 7.659937111500155, 7.920462342741726, 7.996739425014267, 8.185233309835045, 8.247912749766574, 8.32805308068783, 8.459426127295362, 8.54422082005009, 8.723609052011408, 8.90626507858699, 8.987430356442577, 9.030242867335824, 9.017757202155307, 8.904820799097417, 8.94575441075319, 8.888057753034548, 8.924582257467078, 9.0841829446915, 9.03921129512983, 9.13898471249611, 8.973760860589158, 8.87697691075319, 8.930609512670532, 11.420498042091376, 11.518399467553689, 11.554797422735763, 12.146856690398382, 12.571863828431372, 12.762500637155709, 13.426670417133522, 13.573990587135595, 13.643231810740872, 13.735057066299028, 13.816040064839754, 14.025614312314556, 12.24318728537193, 12.351084174914408, 12.550570120901302, 12.396994352552133, 12.432094507140912, 12.682291082867922, 12.183651530112046, 12.458008990412647, 12.809353933162154, 13.580626603719264, 14.107926244274568, 14.519634852868164, 14.074966445300344, 14.157699889157335, 14.190294680797413, 14.15026275241208, 14.182886222300032, 14.33919070017183, 15.955004448459386, 16.07126114169001, 16.22405053532524, 17.056601125857846, 17.130473820157473, 16.911894873539612, 17.17117657594149, 17.485446466826822, 17.75209626151572, 18.085361921957677, 18.33097086009702, 18.242847960845115, 16.666048733971365, 16.471237929990828, 16.036616048417216, 14.853700563414254, 14.7222728964811, 14.705103990551413, 14.709823612278244, 15.023928807405325, 15.074090438986158, 14.968198507469657, 14.81862674642079, 14.750680354609544, 14.887720605357153, 15.319983222689077, 15.990511952782969, 17.360522942532956, 17.993172595751375, 18.778511125972614, 19.464034648004223, 19.47551188537909, 19.80472240795207, 20.34460415943044, 20.662330626050423, 21.45639485019973, 22.286395104368992, 22.425598364456896, 22.64196110128645, 22.15768934663865, 22.9667820312176, 22.86568716037777, 22.46119131971677, 22.56186062397835, 23.216879538437592, 23.38672394832452, 23.67798696863264, 23.121404187001385, 22.428619206504823, 22.106970409808454, 21.46703552963352, 20.76272660955493, 19.4553717735346, 18.69098987481845, 18.6587398068005, 18.05533679211732, 16.920679998366012, 16.63288821879863, 16.62225197495851, 16.95891433392534, 17.224420468565203, 16.85715279036013, 16.97070326891729, 17.52299714503579, 17.753735016262063, 18.110833166084547, 18.001919090942398, 17.904224865622737, 17.989589829209464, 18.71247707773109, 18.58334750140056, 18.63334528548086, 18.467957370915038, 18.893783800264558, 19.70556103586991, 19.55768670329652, 19.77472773918456, 20.051312591844997, 20.134575900560225, 20.49482588842204, 20.61953108461978, 20.18856924159664, 19.763151963741056, 19.157979040294823, 21.725661442187988, 21.606896205684603, 20.4516202858699, 20.24446394443669, 20.29265736461252, 19.845827129551814, 19.22782467242453, 18.46198476388825, 17.85757984204793, 17.329642425848117, 17.13657793499391, 17.165581605080273, 25.942317956941853, 25.64788698334889, 25.55594287130408, 25.39305978750389, 24.78958859064737, 24.522058158963585, 24.37456278361344, 24.53546607065048, 24.57299914427264, 24.785034802443203, 25.196902452057405, 24.961825138284976, 13.233338261967011, 13.097096780440284, 12.924748471366325, 13.093761694989109, 12.874365647836912, 14.681112276623734, 15.8986224890711, 15.492298420948108, 15.363329916888423, 15.172167479388596, 14.651854632975414, 14.564513356236152, 14.450288370759411, 14.174626687208216, 13.990805362356054, 13.65354911048864, 13.957018040258328, 10.845646824310757, 10.41701473241519, 10.663518048008092, 11.23137295471522, 11.438966104563493, 11.68153449572051, 11.839153341736694, 11.74651332228447, 11.740929177004228, 11.617670836760828, 11.891146699735453, 12.649034460849157, 12.956163524898848, 13.213336958061005, 13.718387220519512, 13.11817558638606, 13.09417720401494, 12.909725822673517, 12.714758175296348, 12.955759830999067, 13.006298075941489, 13.03889239526922, 12.92751179963042, 12.1417095856676, 11.839428661764709, 11.609596457537103, 10.78616734842826, 10.925810169467786, 10.658520194240198, 10.583971203314658, 10.438095450206232, 13.36247079917523, 15.6560078283458, 15.612543738717708, 15.376276225723624, 15.077436394646748, 15.20717959394259, 15.32960260714286, 15.500475662889706, 15.535702170332124, 15.538627843849865, 16.474626230703393, 16.489300171291116, 12.15281772454676, 11.099797306178028, 11.117199271319638, 11.157173637011102, 11.191392011504698, 11.047673333022098, 11.133408622624884, 11.190339236150017, 11.00876335683162, 11.106212132970889, 10.176417317927172, 10.315205677212916, 10.180058833350335, 9.904304952147523, 9.889853287924712, 9.976281854263927, 9.984876499455336, 10.089860213280732, 10.910245540927484, 10.9137002692188, 10.966113900560226, 10.911594675466269, 10.926832996109557, 10.96778083005953, 11.146093195566191, 11.108305808123248, 11.243945424680984, 11.385710140756302, 11.479517588529024, 11.198892007936507, 9.95609957244009, 9.684229851073765, 9.38234836484594, 9.272103327777726, 9.127868883831312, 9.325558145113602, 9.403303287892935, 9.31511230524432, 9.022710372082166, 8.911872534418768, 8.639502713507627, 8.743067694401002, 8.38639122742634, 8.720940730777963, 8.594769398215583, 8.714727155139926, 8.759836536803611, 8.265588024354837, 7.816675673280424, 7.793966019140989, 7.776064782679738, 7.867882954481792, 8.013022515795207, 8.070520382275133, 8.486900054232805, 8.164619297385622, 8.494836977046374, 8.679372005668395, 8.708949487005912, 8.72427402692188, 8.933272514628074, 9.072780308059713, 9.206716076797385, 9.015863994236758, 8.781186385993106, 9.061111232492998, 9.191279000364206, 9.369983865962512, 9.2609668173047, 9.044573190631809, 8.986040973191596, 9.165221728446936, 9.138107114534703, 9.112703283273031, 9.06184918479614, 9.226699669589042, 9.28744881240274, 9.145082722051448, 9.516526881740882, 9.496783564659196, 9.530670460473075, 9.497824685185185, 9.446725285869904, 9.32413190087146, 9.531881640756302, 9.60805823373794, 9.785201106665545, 9.720994475723623, 9.74853911048864, 9.701013275149789, 11.57415526738964, 11.434619942987483, 11.402859896825396, 11.547995420712729, 11.757503281398488, 11.987887656071042, 12.866966380860957, 12.690413669998836, 12.705665579607595, 12.734508588468724, 13.073145366394336, 13.222633344070962, 11.673565027466545, 11.704237153751688, 13.487478025177028, 14.230837296374103, 15.078893103096796, 15.13415192059962, 14.620309777155306, 15.244962203081236, 15.926234409975102, 17.070560312169313, 17.805581408730163, 18.661394071300137, 19.082783107843134, 19.807705900741365, 18.873550785792094, 18.129958555322126, 17.951323858854654, 18.205005082710866, 18.18413437457205, 18.423324583878, 18.350098774339923, 18.171235771708684, 17.687549009648304, 17.111821006251947, 16.887523226346094, 17.243655762743817, 18.17990712340492, 19.142280986349107, 19.89429776672892, 20.993857074074075, 22.475885821487584, 23.412601116144067, 24.112020832321814, 24.50746431676004, 25.745186566068263, 26.401396230314347, 26.960371311313416, 26.170807955649607, 25.19438869103123, 24.63943942841581, 24.0837740314348, 23.172986024509804, 23.741584133040256, 22.877322818783068, 21.98156891370993, 21.188728225412387, 23.04201814096445, 22.32604615170597, 21.256919798153334, 21.128801099517588, 20.88816866216299, 20.86463912838469, 21.28891789262372, 21.528462631652665, 20.003112419156555, 19.825574784702766, 20.83495895222533, 19.771134960514267, 18.549752862122627, 18.81623280205416, 19.49764761181139, 19.66585489855731, 19.399003579217243, 19.533284918845315, 19.02119809429468, 18.518861404606284, 18.19315171109555, 18.403130767040143, 17.564243828742608, 17.926995888903157, 18.12914599922191, 18.27677904271709, 19.14967618391042, 20.42018977870299, 20.67543939510582, 20.69152971919676, 20.736837909041395, 21.21093944506692, 21.42859797385621, 21.048159288944664, 21.306195701195666, 21.144204601839544, 19.99146425241208, 18.928196208916894, 17.92165975326797, 16.53176513875274, 16.42162708448361, 16.83736432352941, 17.21339690802988, 17.139914175848116, 17.558403166277625, 17.959038697401184, 17.258259257391845, 16.978673602629943, 17.190501863942707, 17.390142235138498, 17.586864747727983, 17.652619179660753, 17.35535269117647, 17.05324282570806, 17.23428562184874, 17.419879239729227, 20.55367209430439, 21.36390136263877, 22.497606497691677, 23.116446535558666, 23.72033075342359, 23.413513822440088, 28.662320798268755, 28.609134819016493, 28.559687698790725, 28.068987131341423, 27.30363025520153, 25.60629221112812, 34.12458434593838, 32.850937697922426, 32.949336301653446, 32.36311326562792, 31.807324268440716, 31.704518257549054, 26.141010531434794, 26.276442748443827, 26.35489505975724, 26.531288600529106, 26.698368784158117, 26.87617897144212, 14.96726816215375, 14.540952880131506, 13.353419927404294, 13.033578581543727, 12.65845348311547, 12.652190655539991, 13.910003850217862, 13.62473988974479, 13.34068875552443, 13.05531325210084, 12.701704440941782, 12.41473027404295, 13.717190498577883, 15.580338943510736, 15.511961121381884, 15.61386963250856, 15.56458857010582, 15.144248765873016, 14.232137176643072, 14.079233225123046, 14.572106767507004, 14.55766494125428, 14.440090164565827, 14.327221285838132, 12.212491353120855, 10.590103292950513, 10.81786218557423, 10.972768812947402, 11.05476713585434, 11.087965013513276, 11.033740215219424, 10.899022410787564, 10.35660166837846, 10.34859746872082, 10.62336654668534, 10.605224696700905, 10.864048291938998, 10.81230639596172, 10.83650359897292, 10.878326733417628, 10.786807028272516, 10.603592726434291, 11.470416281045752, 11.580703228446934, 11.5788446826953, 11.675675158417633, 11.356655570796375, 11.363166015795208, 12.794618152116405, 13.010190354497356, 12.47187215989729, 12.297353835511984, 12.492781243930906, 12.641597703159045, 12.894029848648072, 12.8670333286246, 12.872449158885775, 12.875315579131655, 14.068126839558046, 14.200731828898226, 14.097997754046062, 14.634474125978624, 14.746601815200618, 14.605276708294433, 14.571392684640522, 14.488591540771866, 13.26170062037037, 13.168558669293366, 13.120415853708243, 13.221478321495551, 12.53912562612823, 12.549543280656708, 12.045091459850608, 13.397928378234262, 13.205124661686895, 13.259798171569283, 13.258241251945222, 13.169648504979769, 13.139823587379398, 13.072512880796763, 13.014025412542797, 12.71946558812766, 12.137519371693122, 11.88851632563025, 9.620810424502672, 8.700126050127741, 9.008142349427455, 9.03074009554933, 8.815462217709308, 8.685266261126673, 8.810501680738408, 8.691781170078587, 8.74604124712107, 8.862304326719578, 8.950788912464986, 8.972110042639278, 9.267710244242142, 9.465878342981638, 9.205546649237473, 9.182483529333958, 9.253891439542484, 9.287770716931218, 9.53619290024899, 9.734260355197634, 9.536034502256458, 9.450843363678803, 9.5903317316371, 9.852224970899472, 9.534677891378774, 9.417674887410522, 9.215035421646435, 9.313851863134143, 9.510271028791903, 9.53298582640834, 9.36886150280112, 9.23042963741052, 9.515868539562886, 9.593020755874248, 9.551804704170555, 9.324986186118892, 10.520754181995024, 10.478363886087768, 10.488298706832271, 10.476188591658886, 10.413235839558045, 10.729963212107064, 11.925628845238096, 13.953528507547466, 13.665070563369518, 14.11889282684928, 14.17687835216309, 14.375106685345346, 13.738000877528789, 13.93855664028945, 14.13310105975724, 14.62036076696234, 14.784726354566084, 14.735893440554005, 13.169360814425769, 15.368898369134453, 16.271960237005917, 16.00121551562403, 15.97353352044818, 15.901297152771058, 14.98171753320884, 14.939270786258946, 14.89569729761905, 14.811752399377404, 15.190244287659509, 14.864019170114098, 16.860326625816995, 13.65757128828198, 13.255835937777729, 13.416462455259882, 13.589010589635851, 13.817468045754898, 15.121934346638657, 15.958978042009672, 18.914417015243952, 19.111361064030294, 19.17975750396825, 19.3301757183026, 17.91971046413402, 17.951167842514785, 18.6976984896391, 19.16306778887333, 19.25731590709617, 19.19683929786813, 18.294393141067538, 17.33063048140367, 15.285142568082788, 15.836557414728595, 15.327222420127535, 15.68688085230156, 15.28586642611137, 15.114092700742424, 17.674430942614645, 17.607878275054464, 18.082763648459384, 18.264052959803927, 18.470448201447244, 19.08068217180205, 20.86909986671335, 20.48085045513345, 20.780254690460648, 20.60070115810769, 20.457183226657328, 20.141848875431247, 18.072703326953, 17.8518651267507, 17.422133219319555, 17.465181797930285, 17.236442226190476, 16.1863030402272, 14.995585936118893, 14.729504406940553, 14.711244309912852, 15.061670865546215, 15.73443579466231, 15.597393183551198, 15.65515845678309, 15.82535246026901, 15.915247149415787, 15.942289544030112, 16.32454467217878, 17.53712435745409, 19.03191692670401, 20.131587495327643, 20.0570216586862, 19.881160950124496, 19.370156642468096, 19.28982084056956, 21.157269984014167, 21.558049760192965, 21.97695056659924, 22.132916808590103, 21.824613459173676, 20.15505158162153, 18.81302093720821, 18.54362525978512, 19.459302660942527, 19.365838689993776, 19.165665412075946, 18.60851144790825, 18.19432559494761, 17.775506642623714, 17.54075140402272, 17.46663383431188, 17.38770545199191, 18.69567262029256, 20.86223704901961, 23.637487246887645, 22.895975394233304, 24.13791256396087, 24.13408178581545, 23.75605817351385, 24.307189025599133, 24.48855236196701, 25.043965634920635, 26.32329831473701, 26.72670912939621, 25.270777928571427, 24.2986863802508, 21.765219902965832, 21.966329192110173, 20.83532422369334, 21.21007100373483, 20.83490930897915, 20.98960609407096, 21.673660483971364, 21.76553018160597, 21.2049148618892, 21.304530039282945, 20.811450221206822, 20.23858371615832, 21.136183749292616, 20.96165281274431, 20.92170274027389, 20.76673291705571, 20.48198697472313, 21.0802266434861, 20.300612348039213, 19.84159255081637, 19.19808412011555, 21.877057690398377, 21.939681446311862, 22.23128721277493, 20.918859172644343, 21.287580479261717, 21.02522687970744, 23.933087579898075, 23.16710263300929, 22.941175522408965, 22.657521553299095, 23.123115370940997, 22.681256132942654, 31.179726093495493, 30.482005259827865, 30.20881845043997, 29.8317028503814, 29.028157021268893, 28.86810530443104, 25.30184642785539, 24.64916754846969, 24.37535569526339, 24.371105714792535, 23.279173171568623, 23.225771804944447, 11.264078475101153, 11.477260074618735, 11.567621767740428, 11.552887714052288, 11.473889545518208, 11.632139289729356, 13.152300372782449, 13.003864098039218, 12.815330791589515, 12.732080718720823, 12.805280911920324, 12.761031572727209, 12.843112738242429, 13.03532789674759, 12.961448420712731, 13.232550207205104, 13.442872260037351, 13.484667410959617, 12.001992107492672, 12.066062978829494, 12.017864649452743, 11.866975516686788, 11.8430027570028, 11.746669937363832, 11.878214017299266, 11.741725516106442, 11.277215631711018, 11.116008757314036, 10.774111112090855, 10.414015110631182, 10.319239257936507, 10.54602033147713, 10.816990822235526, 10.98964565592904, 10.986277233271087, 11.097257809212572, 10.893592686303718, 10.235602472533458, 10.630607269374416, 10.818004693836244, 11.051890806596743, 11.151669776057556, 11.501114078792034, 11.060415949337976, 11.067943998046347, 11.10357425770308, 11.098182015594857, 11.109711080291005, 11.41678157438531, 11.676044153257818, 15.08310582388578, 14.954133234228532, 14.938708639198827, 14.882638065970276, 15.266511953703704, 15.678727982955555, 16.315887042728956, 16.152852690398383, 16.952339968270454, 17.01188568923125, 16.66575339807034, 15.736496299719889, 12.784062411585785, 12.821949695230447, 12.71697047852474, 12.523222348117026, 12.456947909352632, 11.44107191557734, 13.199745353903236, 13.467148834795069, 12.544645487311872, 12.29885018549642, 12.478336816760038, 12.149318809990664, 14.16227742141301, 14.072851630641145, 14.036544213896669, 14.286535229769688, 14.096721776161946, 13.600985752169573, 12.5075685, 12.25657436834734, 12.179447239554486, 12.29075250280112, 12.008614464830377, 12.29758470546944, 10.49916924291939, 10.371244310768754, 10.34690989939309, 9.926751081465271, 9.62080080960162, 8.927308753034547, 8.81922056302521, 8.958043940009336, 9.088891422268908, 8.89403834360411, 8.869199243775288, 8.48961509662439, 8.424301722066605, 8.306319077653283, 8.125597222922503, 8.06413600393324, 8.056295991051977, 8.253034445447533, 8.921816394802365, 8.790334092359165, 8.955520428649239, 8.981605815349104, 9.008429121683395, 9.20444450773586, 9.615705281969731, 9.897374263217786, 10.102348662533071, 10.501790958019503, 10.45376338170972, 9.855453128036103, 10.03782232429194, 10.033942663888023, 9.973058338571995, 10.01654544379564, 10.06046475463664, 9.748090805391511, 9.455646846755778, 9.372185100082994, 9.422315581822778, 9.069169121304078, 9.480198436507935, 9.184608367569249, 9.18087559477124, 9.226466184484904, 9.045128484593835, 9.116594387969574, 9.163751057111734, 9.12247486967009, 9.196893299953311, 9.251083111733584, 9.235497231014628, 9.290471828616196, 9.347871408963586, 9.227058965602632, 9.118823918222844, 9.234932441332088, 9.736947159741677, 9.825051754636142, 9.822829313180828, 9.740871248210397, 10.01800011679116, 10.076323905528971, 9.987780529333955, 9.97290189599027, 11.753695846780658, 11.810395350144631, 11.816123204507113, 11.749806927243492, 11.58746348521631, 11.638707305633366, 12.502041246940816, 12.593780162608946, 12.55292299509804, 12.553056341546066, 12.708614660237709, 12.803863325429246, 11.36139205929038, 11.555156979691876, 11.885677541783382, 11.835598062313906, 11.68121929309511, 11.70488874068115, 11.059410039523748, 11.20271025427949, 11.3267349223947, 11.715834135831, 11.864384600918148, 12.805465427598318, 12.645559074074075, 13.049002049063054, 13.304644088857764, 14.204135123375108, 14.491967131107996, 14.960963352672737, 15.752277816243264, 16.29857561749144, 16.50238605361033, 16.74780306178027, 17.180480841736696, 16.93492989600387, 17.110879535227337, 17.496620069561157, 18.06011627699969, 17.746867218253968, 18.13589437700164, 18.182058655073146, 17.6246356538282, 17.333532464052286, 17.79957951641768, 18.323137321973235, 18.26127987353273, 18.871643697790237, 18.64662261258106, 23.7514349624183, 26.1260174011827, 31.35757346981015, 31.176716891456586, 30.711665474556494, 30.6725085699502, 30.765930043962037, 30.43286063177885, 30.27807783053221, 30.93539588481495, 30.75769055260994, 31.29942476659599, 25.07281824937753, 22.84260670323685, 17.90839184274821, 18.41159675640303, 18.822761826719574, 19.01845021389667, 18.79971087457205, 18.91028711463715, 18.955366630329905, 19.389853188997822, 19.33146419943784, 19.305198831388108, 19.501849291549952, 20.31016379573348, 20.81217176131341, 20.95929821120644, 21.38415853050109, 21.983752527528143, 22.41415186000557, 22.80104420867441, 23.10130856222961, 22.48625010529232, 22.62938276201889, 23.131019247510118, 23.70864768923125, 23.406169654995328, 23.54494463225892, 24.045076518518524, 23.965335754046063, 23.73651675427949, 23.741201501789607, 23.75097173451603, 23.538362886399, 23.18323918806412, 23.12611723593229, 23.363616326797388, 23.80582013927793, 25.01326069770336, 25.53189599315282, 25.820284969032063, 26.515863794351077, 26.78253308852255, 27.65043935309096, 28.26315186974789, 28.871123791861194, 29.47983075147837, 29.446786433533045, 28.52791590118269, 27.24613016013072, 26.019468274976653, 24.963989703703703, 23.874876958994708, 22.929640057515407, 25.44876961749144, 24.09068687099284, 22.65415070417056, 22.52960660169624, 22.58155528921569, 22.763066146747587, 25.78138628610333, 25.52549703773732, 25.49000710395269, 25.416234495564893, 25.001622135932152, 24.985336430750078, 33.98568129248366, 34.084091779489576, 34.23183926844072, 33.36010691845627, 32.32079772331154, 30.58445924836601, 28.30355109648304, 28.17019181512605, 27.89515177956738, 27.469825266106444, 27.365635058590104, 26.621319101449075, 14.328576680283224, 13.863012589169, 13.330360078431372, 13.08156747307812, 12.934658021864305, 12.46725690051582, 13.415243637254902, 13.118356782300443, 12.58411781170246, 12.302983363409735, 12.145488623171492, 12.161613806956115, 11.920943684938791, 11.817680613600997, 14.862756016184251, 14.801476535247431, 14.76262298887333, 14.87030498277343, 13.610300174557162, 13.636885126206035, 13.589068829676314, 13.561434374260816, 13.717891111596137, 13.856849911316663, 14.103547057734204, 13.47489979248366, 11.12177671879863, 11.139809215841892, 10.997288125816995, 10.79549991293184, 10.845787053532524, 10.94400385418612, 11.337266985118005, 12.249386821817616, 12.305957923275889, 12.01511952868429, 12.38159285418612, 12.337607678692686, 12.338018474167445, 12.214101489742196, 13.111730808745722, 14.291415909586055, 14.880060001011516, 15.326887961406785, 15.57098836686897, 15.564798717631495, 15.719619165421726, 16.214420078987064, 16.14628063530968, 16.254179835885466, 16.40664954367284, 16.901332726336086, 16.300269418300655, 15.35880545339182, 15.064655321117336, 14.833492559835044, 14.32124088958593, 13.94710439910605, 18.198002230314348, 18.37884713593215, 18.07793911061315, 17.79771484508248, 17.944401472171517, 21.539197951914097, 21.447767337690635, 21.33438635620915, 20.71813957874261, 20.138576046996576, 19.77352466565515, 20.04630259127759, 18.551744006761595, 18.04204480912699, 17.85217063390134, 17.60288739961744, 17.45320934636752, 13.533728951758484, 16.452572108844926, 16.89467556800498, 17.031785625038903, 16.755784175614693, 17.068769739035435, 15.902124644102084, 14.337862284158108, 14.624824101410956, 14.43180826984127, 14.26840471165656, 14.01047397388409, 13.979786472066603, 13.587836352941176, 13.513537754483735, 13.27465354749977, 13.31077382280645, 13.028047324074077, 13.021261725129037, 12.67510845588235, 13.053763341114225, 13.150937274431996, 13.105514683658836, 13.348803807967633, 13.269882093711097, 10.472432747354498, 10.385836166044196, 10.28929784500467, 10.232766437530884, 10.336716187363834, 10.533354480859009, 9.306634297074384, 9.472451030890134, 9.335478584033613, 9.281449785548292, 9.059393303999377, 9.424488634765016, 9.431461425925926, 9.575873280034235, 9.681937760356368, 9.466897828746502, 9.34035016923436, 9.070765688920012, 9.763492319249922, 9.59781055018674, 9.525492753812635, 9.4567484420006, 9.31568653400249, 9.039243936741364, 11.808413578553033, 12.417118196788444, 12.530241484282612, 12.736331545129165, 12.940229765328354, 13.125608057578589, 14.170655091892314, 14.19368953890445, 14.319175196457104, 14.843526530189852, 15.090130165410054, 15.430459259947868, 14.073161005171698, 13.764331555711172, 14.390580435253268, 14.492156230625584, 14.25204627388733, 14.278523893745652, 12.62972565585123, 12.767008609866172, 12.801114676081546, 12.4752812603635, 12.349780995253658, 12.255980913165269, 10.840558579598506, 10.435908479655245, 12.366184501633986, 12.280593714830376, 12.320985190967892, 12.40123971799202, 12.365369814170954, 12.384739013772178, 13.42512965490433, 13.590344224011826, 13.650565213253453, 13.513509626439465, 13.657214261360105, 13.730313106442576, 12.1950033908393, 12.251595288048552, 12.42908050449284, 12.618114370358056, 12.982498694444445, 13.030586797634802, 12.15276712074256, 12.087857749660238, 12.313691442732647, 12.56586711056645, 12.575339270223186, 12.628782352210552, 12.299865645541225, 12.493803496874028, 12.904944232415188, 13.059652575941486, 13.196278057889824, 13.382918904061626, 13.594361579715873, 13.965967429738564, 14.72712312247121, 16.02821399146439, 16.041671142779336, 16.195013646097895, 16.176225073731093, 16.01858707228447, 15.541815260754968, 15.688801007023605, 15.307423848535995, 15.345834859632744, 15.595826269606274, 15.510354053765951, 14.438201582077877, 13.627273569450084, 14.273535346638656, 14.406796544895736, 14.517781826871952, 14.842781918451992, 15.0371410842816, 14.901281822829132, 15.083955914560642, 15.370229472295492, 15.776290434192184, 16.553906789717356, 17.294288813839557, 17.44065589470416, 16.927212449326973, 17.900245400018278, 19.103608836169663, 19.96919320086368, 20.28252659498793, 20.811765786968348, 21.208425271756177, 21.23128221405259, 21.03317744547197, 20.5806425753811, 20.27808190720765, 20.403616799326933, 21.33619371239236, 20.36089475901328, 19.1246083285418, 19.38894762397552, 18.66872111678733, 17.638853862019616, 17.311440266376376, 17.203069591153863, 18.182320475192828, 18.58022663438158, 18.1966788828172, 18.601671752567693, 19.058490268362902, 20.072012636194327, 21.042424085119706, 21.29144136469032, 22.856642677559915, 24.36556236079988, 25.400963802209777, 26.045009813530363, 25.76426218696442, 25.923982337145976, 26.110954295430023, 25.70171309739924, 24.52319741369826, 23.62858941870268, 22.7898653208061, 21.61664617513681, 20.39895716573296, 19.85372350186741, 19.137902438842204, 18.24756803026766, 17.246020703192116, 16.57221576231997, 16.73343113048553, 16.81425487682851, 16.839859384298165, 17.01823518899782, 16.837873049045125, 16.417782336212262, 16.4803313677949, 16.255182333562868, 16.012738334293232, 32.7052095938356, 55.32033712312325, 59.72902175312793, 60.1342973876206, 59.85819103497413, 59.771879070130886, 59.28149672161454, 64.42601212278755, 64.26337680234788, 64.06911428213508, 63.96991981201369, 64.5253632050641, 47.075668203937134, 39.02033908647292, 36.47636608029878, 35.82420892187986, 37.32606746693121, 38.37495680031164, 38.187311934206924, 32.86973140363045, 32.918041062713975, 32.92707254933085, 32.885842491146, 32.108064502468494, 28.7408595698095, 16.0202503505291, 14.979790565981949, 14.526104376361657, 12.805261802676627, 11.686980090879512, 11.843676849906627, 13.154072188044667, 13.535645557111735, 13.617131870915031, 13.498292419234362, 13.274090407874262, 13.22772535496421, 13.236474109477124, 13.325745893415426, 13.490070683239962, 13.650530098583875, 16.120188868892004, 16.355655513791053, 15.105811830143168, 14.843758576953002, 14.462540078965011, 14.20802175614107], [27.90445220338793, 27.872722305477748, 27.978882358305466, 27.94407395160286, 27.97107645992842, 28.006709414799253, 28.159087868036103, 28.038560551487446, 27.78249565143817, 21.19899869766833, 20.0651706556178, 19.83890080603693, 19.65325656959617, 19.630441632897607, 19.73968066370604, 19.66130798373275, 19.646029817224942, 19.68594556567071, 19.584722587846247, 19.594648051276064, 19.363020941565512, 19.74585515779645, 19.95920906061313, 20.080275818773345, 20.221121336514425, 20.382078465919705, 20.377461169701217, 20.529235378530583, 20.53549734508248, 20.58542348817305, 20.756867469376363, 20.895231961795822, 20.692448896669777, 21.167753048622785, 21.04677915639589, 21.04255645728291, 21.328507258792406, 21.3680614614846, 21.40500593983233, 21.429450145969504, 21.366060210910117, 21.345366804990142, 21.29949357415188, 21.27220210029567, 20.85484882220666, 20.93505480555556, 20.873616915148094, 20.91403171380071, 20.79342979652972, 20.959363200259368, 20.920971966854054, 21.093339200202305, 21.289538132664173, 21.422739025832552, 21.659732838313104, 21.780608272642397, 21.66876562426081, 22.060283913087464, 22.229515042557576, 22.310376401956244, 22.292334307734205, 22.179492468292555, 22.323170448101465, 22.124118998132587, 22.02093885142909, 22.21706400357921, 22.45288796444133, 22.623759368502952, 22.517430276610643, 22.96999226120448, 23.031288664595653, 23.277840887955183, 23.571733464207902, 24.00737828413737, 24.256969506613757, 24.546726831812837, 24.820333259181453, 25.089920861763005, 25.12724259744529, 25.319252723622785, 25.326701900949264, 25.64368814526922, 25.69795309204145, 25.58149203174603, 25.61305773517289, 25.7798039204015, 25.616281753887204, 25.73293663040772, 26.0600216101774, 25.778298915893767, 25.60681906925252, 25.458305260270777, 25.06047655851229, 25.39911978034028, 25.424204319172112, 25.539451016394988, 25.368895594615623, 27.073417784158107, 27.964489019841277, 27.97375646584189, 27.543310345938377, 27.510371684075768, 27.642638191954564, 27.80014997346717, 27.66357436645723, 28.01075455552287, 28.138723654450665, 28.220180457357475, 28.43390337093449, 25.964675738095234, 26.871575653361344, 28.36317962558357, 28.390385538449927, 28.275497927793342, 28.22083167678183, 27.78312382692124, 27.3019520786648, 28.65384268389421, 30.65822455376595, 34.14302747114652, 34.080683858232184, 33.95225713261361, 32.25183969345908, 30.85201090660079, 30.76980302513228, 31.29462768432929, 31.21749201867414, 31.22562433613445, 30.889421759025836, 29.44475556364768, 26.97067291440106, 24.37128208325553, 24.55160606652661, 24.35685783571753, 24.289341192970085, 24.660573697401187, 24.220714360876386, 23.263373240585125, 22.25926533149835, 21.124151457127297, 19.937778120525984, 19.35301655547775, 18.593312639344077, 17.336578565515094, 16.214823097416744, 15.440501992530344, 14.725336464528874, 13.648431735916589, 13.103931415810768, 13.288256839898466, 13.572799745331466, 13.935411992219109, 14.517565752703211, 15.318846089402427, 15.167602963507624, 15.342747710208853, 15.39411792421413, 15.53118042779334, 15.18936777544351, 14.981119937052595, 14.863506294662308, 14.5406867640056, 14.328495549408654, 14.14104354302832, 12.94909684072518, 12.734671054933084, 12.704475189143729, 12.508123750588766, 12.399662184282604, 12.21091602412076, 12.243847394802366, 12.322328012838469, 12.441048360021783, 12.398714279256144, 12.4749095148615, 12.36060787122627, 12.023193687830688, 12.160502025633503, 12.019461234827263, 11.923135462807345, 11.76491172782706, 11.781114390828948, 11.974020397602198, 11.968116848194834, 12.08509860243444, 12.155763880718952, 12.289344943657278, 12.446940370603798, 12.324692479761904, 12.76182192724868, 12.96868707142857, 13.049814542604915, 13.44889263671024, 13.592995873171493, 13.517953839013384, 13.330922579209462, 13.225453442982936, 13.25924617623716, 12.983975361344536, 12.8005611826953, 12.473510957049484, 12.672755423280424, 12.496562072673514, 12.368375738344229, 12.045464881497043, 11.742362657018363, 11.645068466386556, 11.631120819483352, 11.469183396280734, 11.23788988821215, 11.243203224712108, 11.19887517597846, 10.729260011909362, 11.798996908263309, 11.58877234949143, 11.547367321739808, 11.543590561661611, 11.424221063725492, 11.299092355742298, 11.212225238173046, 11.084258192314836, 11.118475826530892, 11.18316997743542, 11.168623280734517, 11.29384720954398, 10.299519408885777, 10.278524967709306, 10.18756786423515, 10.151153226968567, 10.373746644679184, 10.25426021047308, 10.261895774743229, 10.434087518240354, 10.5229950961718, 10.658434024298431, 10.741760661064427, 10.40554434955456, 10.654641104333315, 10.692519317046637, 10.6707193680361, 10.681015962807349, 10.493184457205103, 10.496856317691808, 10.56064688507625, 10.383202985994398, 10.29986713951136, 10.030275813886302, 9.92885887507847, 9.552224914951628, 9.95290893417367, 9.9263332249148, 10.136907283691254, 10.10303711640212, 10.06330344886011, 10.110957290771864, 9.945299160023083, 9.863870604964209, 9.884360706908785, 9.822255241129785, 9.77250272024458, 9.412295020930594, 9.818884610177404, 9.644085168268882, 9.600415912698413, 9.491571269296609, 9.425310514161222, 9.422591005213198, 9.45573558636788, 9.50751188537245, 9.531118336445688, 9.695098137254902, 9.69891462605042, 9.42170194640849, 9.452138481465273, 9.316508287659508, 9.31451019615624, 9.398907776766263, 9.43718955150625, 9.295217220121383, 9.245959295518208, 9.068326628598662, 8.967028760893246, 8.868032498132587, 8.951680745642703, 8.601921242872058, 16.142427395969502, 16.564925110433535, 16.388253723700593, 16.17669191020853, 15.925190885854342, 15.872361834111423, 15.740784034313728, 15.525050667211328, 15.383080550385811, 15.292139966110986, 15.025736927482106, 14.721187214386129, 7.125838418300654, 7.193478422891379, 7.21282463313103, 7.202514377684407, 7.228335348088517, 7.063057208683473, 6.986113057889822, 6.9384644115371295, 6.945030709694988, 6.959745739106753, 7.00607784842826, 7.105835308994493, 7.063864952899461, 6.818716480317619, 6.67071457850918, 6.668307927093059, 6.616859876595083, 6.609569963818861, 6.557420083800188, 6.73334911258948, 6.726145521630876, 6.619513671490819, 6.598180856676003, 6.08176347021199, 6.370118389718851, 6.2671429715803, 6.264773657718643, 6.333799338546529, 6.4445885708839095, 6.467861055866791, 6.4977288799408655, 6.449387859007676, 6.534007198957361, 6.460536065555635, 6.51355203540305, 6.538994214509425, 6.545272552209773, 6.596867647447867, 6.426833980314347, 6.569306119981326, 6.539310838827304, 6.5565704221911, 6.55277484879902, 6.533611408520724, 6.32842460709812, 6.318408106760312, 6.30372018199502, 6.457332246031745, 6.545699727591035, 6.7321703343448505, 6.914423673358232, 6.80035646739807, 6.776033631107999, 6.845188643323996, 6.855464087379396, 6.839993273264861, 6.946522215686274, 7.057075314503579, 7.240916844218813, 7.204173827820675, 7.290053784235916, 7.222764001867413, 7.2188143117802674, 7.315240713507625, 7.407224287581701, 7.461113192032369, 7.478080950870813, 7.604790045334709, 7.873394172917968, 7.881498380174293, 7.790534227513228, 7.80140721435754, 7.738608587238704, 7.782799022408963, 7.854652434562714, 7.921993257236228, 7.968361156629319, 8.025016169545598, 8.030039505524446, 7.828197958294428, 7.768919253112355, 7.788783541861191, 7.782938606753812, 7.531276938498554, 7.799472004435106, 7.756503023731715, 7.829113267584812, 7.844936471521942, 7.92357586196701, 7.867989981792718, 7.847705195144725, 7.853903197323374, 7.875229068222856, 8.077217390989729, 8.044082889822596, 7.777692301956765, 8.140963813414256, 8.03243707928727, 7.837432477124183, 7.808039377029247, 7.931642889744787, 7.925786291607664, 7.950621336134453, 7.973155552598818, 7.884839197167755, 7.86080970689387, 7.818795151027079, 7.739885747743542, 7.652352528244631, 7.687018802521008, 8.587513792328043, 8.51526367142664, 8.245513320799619, 8.39965668635232, 8.416279117024589, 8.328933283795003, 8.489920506224713, 8.380436437597261, 8.512329558745721, 8.57219183827995, 8.644068547930283, 8.718506348039215, 7.9354531308745715, 8.042126801898537, 8.190527169000935, 8.140083826719577, 8.148879423591659, 8.223265957983193, 8.205833641456582, 8.3194331870526, 8.328613433699687, 7.960266989616856, 8.191117800653595, 8.167996841892313, 8.109521624494242, 8.022656013483827, 7.936750277456095, 7.958805172595706, 8.002194041238718, 7.957600507238175, 7.951778833955805, 7.791157424758793, 7.818554888422036, 7.801027288515406, 7.778274802054155, 7.801036054232805, 7.704112715686276, 7.852168265788079, 8.077145521805965, 8.072877904295051, 8.045800501945221, 7.979573079676315, 7.971522104717054, 8.019444617258014, 7.985599656406277, 8.230835618944395, 8.28399610473078, 8.221946737784004, 8.36394283488951, 8.286988487394959, 8.045051057267353, 7.947119300778484, 7.923001729245126, 7.937981057734204, 8.030863909634688, 7.978039442575085, 8.009378734827264, 7.59337561631134, 7.861017587379397, 7.868396139589169, 7.93611831932773, 8.027081918145038, 8.167263976968565, 8.243396115512503, 8.286757596293704, 8.283601648381575, 8.482441591892313, 8.67838923093682, 8.738457016586267, 8.636417095004669, 9.082476845818425, 9.432479279723, 9.690889625505756, 9.826804699212834, 9.815252495409275, 9.815964274509804, 9.81747705010893, 10.001678625816991, 10.269559043495176, 10.614822969498912, 10.944940016028635, 10.886218926392775, 11.53571497520944, 11.662161727435418, 11.7581865375817, 12.024473223389355, 12.381301290771866, 13.017295835855265, 13.55288170751634, 13.743226208950905, 13.698851885076252, 13.71909577334267, 13.807991568705258, 13.468051281939571, 14.652700139978212, 14.812214565515095, 14.6765339921413, 14.749052565515097, 14.674014236850295, 14.021746211934596, 13.559254310272072, 13.070434420234214, 12.559176243075006, 12.0140408105055, 11.70183555590311, 10.613655573685028, 9.96818186676717, 9.38095707640834, 9.071358740662932, 8.689467807967631, 8.397532602240895, 8.385284696545284, 8.319080263149704, 8.32015198934018, 8.271720623638345, 8.283032320339247, 8.252331686585746, 8.002362578953989, 8.092971313966702, 7.955926376906317, 7.693800206660441, 7.681111123106003, 7.74488759500467, 7.661435091503269, 7.676409532475492, 7.619549090734922, 7.671790125194523, 7.688079070572674, 7.612616431513258, 7.399993276361656, 7.833059956582633, 7.923335543767525, 8.171440059056955, 8.118785867537497, 8.031391078742608, 8.17777769677871, 8.198335616168691, 8.284043266442973, 8.363476052131963, 8.363550672253346, 8.368057887877372, 7.963891563414254, 8.249243648749223, 8.236150858465608, 8.276475331101516, 8.283244694833488, 8.250807416717905, 8.14087525287893, 8.111295370759414, 7.991069288593215, 7.895593068394024, 7.852817086912543, 7.808961026844071, 7.611365836601306, 7.883823382975412, 7.743473545129162, 7.717182638577653, 7.757192121693121, 7.833900323996266, 7.796932443821973, 7.81190926556178, 7.838826126984126, 7.824549703781512, 7.905541153983816, 8.082385507391844, 7.773616738162424, 14.72186918557423, 16.004182800887023, 16.175111724867726, 16.246642712074, 16.252707596171803, 16.462042393246186, 16.523977469187678, 16.53863661072207, 16.66003722455649, 16.590720752567695, 16.55843335326733, 16.575830909250026, 8.878107068723581, 8.721995867958293, 8.548552897992531, 8.54350819327731, 8.456708484516028, 8.26001386196701, 8.189857318545751, 8.103685852769997, 8.005004716308745, 7.998076785148874, 7.818505873582769, 7.519892796903075, 7.766577649961752, 7.707004796607532, 7.523632264690969, 7.442108072038075, 7.486292913848688, 7.488706902596876, 7.472728498132586, 7.47970138523187, 7.408074473155929, 7.44024294187675, 7.555097780345473, 7.238240113193796, 7.47794325077809, 7.544512389744787, 7.572803733971367, 7.597722021942109, 7.8591104924091, 8.047009708761284, 8.073204627606598, 8.051094860722067, 8.120707534469343, 8.133165327633183, 8.207826512085022, 7.897019451213819, 8.238253858776844, 8.14896555182073, 8.135429565981948, 8.153193135801825, 7.974759426859634, 7.803736920557112, 7.794145263772176, 7.82388906014628, 7.829049974712106, 7.832974026065981, 7.773984272564582, 7.558466630702096, 8.10986212535014, 8.07374670035792, 8.298776993235204, 8.458085622315593, 8.49180198801743, 8.58984364067201, 8.618863272175538, 8.584755119890552, 8.619140810613134, 8.708700109554933, 8.71641230602241, 8.437017112044819, 8.415532135076251, 8.425280379707438, 8.2071127119722, 8.1015453173047, 8.095557808901338, 8.123685502723312, 8.161668942343606, 8.231703737550577, 8.25643582998755, 8.24957505804544, 8.297238278944912, 7.984090059679427, 8.469939190499534, 8.54366283788387, 8.667164239184562, 8.740053523187052, 8.923604083411142, 9.02282930820106, 8.959775949346406, 8.930478703229069, 8.784946634220354, 8.733398922735761, 8.680198486227825, 8.435434503559758, 8.49803664456894, 8.412509262138189, 8.283041759259259, 8.106113669925563, 7.861472466444913, 7.714663587595317, 7.770599493399978, 7.694731622860254, 7.980261163087455, 8.316671517040149, 8.469369700026634, 8.310065714052287, 8.766855717709307, 8.84818193199502, 9.00867223443822, 9.078335411453471, 9.022759089791473, 8.950280257334795, 8.96333582239341, 8.911032115001555, 8.776136688053745, 8.518386995876128, 8.516076046238107, 8.015070286695725, 8.242152087379397, 8.181554806567071, 8.863718557332843, 8.86562331590414, 8.93100372105509, 8.951872172918613, 8.87213825889745, 8.926736913943355, 8.909068703236851, 8.79274280026455, 8.622439116311348, 8.350305904516159, 8.559640303633875, 8.576312012293807, 7.855128582010582, 8.340142238328664, 8.39381639267105, 8.456300137566139, 8.489610106131343, 8.502808449190788, 8.500191590180517, 8.549934983115469, 8.59577969475568, 8.515345948490507, 8.927575017222408, 8.86728749502023, 8.930971310068472, 8.51881172936249, 8.56586599072518, 8.656946855897916, 8.658321636700519, 8.792542355742297, 8.78731103898226, 8.867476788904451, 8.913527045030605, 8.52047658924681, 8.70663166153128, 8.727350430750077, 8.70971782578587, 8.61704460776533, 8.65083116207594, 8.583316740040459, 8.545034981248056, 8.375149715839946, 8.45308139519141, 8.401038658107687, 8.422702900482417, 8.062792525117773, 9.53732275093371, 9.64759574431995, 9.632472203470275, 9.731771946988797, 9.566006294880696, 9.657521120603796, 9.665177760192966, 9.575462534702767, 9.596069366013072, 9.75125839853071, 9.808336069016498, 9.800553630791578, 9.120492665966388, 9.087210669000934, 9.1277384624183, 9.195114307422967, 9.304923005202836, 9.248335909663869, 9.257502582010584, 9.261624820339248, 9.158734767584814, 9.016218433317771, 8.885760920946156, 8.86018685558668, 8.358489543417368, 8.378685572362278, 8.436711277372527, 8.651118285815441, 8.644215597416745, 8.77265398638344, 9.120742433162157, 9.255765963507626, 9.279927811391223, 9.400100564029602, 9.594724885776534, 9.640002679610804, 9.714316261671334, 9.712619334578276, 9.377733626206036, 9.226078499922192, 9.27153389772798, 9.25202409022332, 9.074953424525363, 8.942682264472456, 8.802918095315905, 8.73766815558992, 8.606547520514319, 8.280546661635142, 9.348384863023911, 9.189166748988482, 9.190058472766884, 9.269206518129472, 9.42099935550887, 9.51455889869281, 9.494201903205726, 9.635037616713351, 9.763354647195642, 9.87060724502023, 10.074897762527234, 10.289344584578942, 9.77192831792717, 9.908569198431522, 9.915569881652662, 10.104983950669158, 9.990135744864611, 9.790110092359166, 9.72185377552132, 9.755523338984204, 10.04524314589169, 10.01623056014628, 10.007411750311237, 9.533714199190786, 9.502026378695923, 9.325964071973235, 9.199395585278555, 8.866636269607845, 8.686017728250782, 8.56694015787426, 8.554378899548707, 8.37603202116402, 8.158415064970432, 8.04131197455649, 7.920914843526299, 7.6343187140924975, 7.982245307734205, 8.11554590554392, 8.276286298705134, 8.441391243775287, 8.509848303532525, 8.693162992452537, 8.718447713429816, 8.56896622447868, 8.530586141223155, 8.717990151338313, 8.689365097284023, 8.379731953314659, 8.550634706971676, 8.511940030137344, 8.448524821006183, 8.441872328976036, 8.485233224951374, 8.386374625583565, 8.360807489573608, 8.455590798241518, 8.351916608776843, 8.367042354331277, 8.36157771039527, 8.027003196855869, 8.502040070033216, 8.499831890989729, 8.382549276412508, 8.488092847650172, 9.090613815437289, 9.12454471635739, 9.013132931019168, 8.968494680905694, 8.979594122303503, 8.898578728875533, 8.967257106435452, 8.72154778623366, 15.879210706921752, 16.50646329466231, 17.093482742136125, 19.103537074540927, 18.41725063295273, 18.50618862942799, 18.5795149624, 18.68273615662932, 18.68175115757989, 18.714127131341428, 18.661671879511623, 18.387383804181564, 11.317715231792716, 11.370173494086524, 10.52968998793962, 9.032857523653906, 9.176141289838158, 9.168074335950308, 9.21179292554662, 9.071666742685965, 9.337217713040772, 9.423702096093994, 9.63689319475568, 9.77436980780745, 9.550522851067289, 9.439997721599752, 9.366594678260192, 9.325349989391407, 9.207317822973636, 9.06500482306256, 8.93358791511049, 9.031538383364458, 8.7603082989418, 8.633718151960784, 8.445968552088157, 8.100446025521318, 8.388216486072208, 8.44344105236539, 8.679279128695923, 8.74299692779334, 8.90833811116558, 9.137883025049048, 9.368683738406476, 9.458018355508871, 9.616919029228274, 9.758424607531902, 9.8615549473746, 9.5974469169779, 10.208772566993463, 10.363788653050111, 10.453158719965764, 10.487009959183402, 10.393963832839896, 10.269727014344072, 10.219780774632351, 10.114846124416433, 10.550037787531773, 10.6201938644726, 11.038901286046276, 11.207182747587924, 11.639452167366947, 12.046779287348272, 12.160238614791473, 12.261751299019608, 12.60437780399938, 12.86549376416122, 12.892330377917832, 13.20181438453159, 13.199725626150466, 13.383060840576736, 13.2289694929972, 12.76015439931528, 12.867066517553718, 12.332328144179892, 12.223469690778996, 12.305054020487251, 12.49162539126719, 12.652722829636115, 12.788474614611244, 12.941047013519956, 12.462313792848091, 12.795826484126984, 12.75878226626206, 12.538243025054465, 12.759059836756924, 12.934945241382673, 12.864712973934669, 13.09735533332944, 13.401270513060872, 13.551070374260815, 13.98622460504202, 14.085598178804856, 14.567216828275756, 14.385631910187785, 14.516471437130408, 15.232876557734205, 15.751024342933665, 15.829913358465609, 15.941143368325948, 16.27573035255798, 16.189497806022413, 16.299130945066917, 16.28953051859633, 16.443787748366017, 16.690882757547463, 17.008064297474554, 17.504649891654154, 16.63375392464079, 17.117714444640914, 17.680732633597884, 18.089747606537397, 17.965487509828115, 18.047474201914103, 18.251671751172328, 18.349631260816327, 18.254283957049484, 18.45986930174292, 18.471734233525915, 18.44530115345812, 18.31168321584189, 18.56627238157485, 18.336704561780262, 19.023217130881708, 18.91889365146216, 18.874734286181138, 18.82116307181761, 18.667180716901505, 18.59321657625273, 18.400866351540618, 18.321237237736675, 18.122798967715795, 17.787995224798355, 17.654201649004044, 17.127402189075628, 15.95994420961718, 15.730181418220251, 15.65372956660572, 15.334222011593528, 15.242782016544124, 15.185446086056643, 15.318457403361345, 15.53245271529723, 15.749015171936277, 15.6079042351385, 16.4470539411661, 16.691290388785152, 16.763533946778715, 16.828512667289136, 16.441586688182124, 16.29421040256168, 16.055104569249924, 15.635782056489262, 15.156344608854653, 14.589089675614687, 14.060623672944548, 13.087168940554, 12.74723625925926, 12.515325299278324, 12.325240734748157, 12.17375661406785, 12.368675100451291, 12.704074206790771, 13.059664777388733, 13.448991792561468, 13.894438628245933, 14.213008151960793, 14.425027127373168, 14.584005900404604, 15.189875698879549, 15.529642214484127, 15.771995419934642, 16.080230699579836, 16.047690955536755, 15.896710572698158, 15.816771076875192, 15.59934179590725, 15.379528571817616, 15.3120940961718, 15.013199603500484, 14.193791324385309, 13.94795874019608, 13.357488539838156, 12.9321266040305, 12.471184439931529, 12.24299969424279, 11.901407855004098, 11.666466204870837, 11.302913402349828, 11.070107429505136, 10.9714683828976, 10.831218999530554, 10.489682957671958, 11.04000307088391, 11.36805872385621, 11.39674453742608, 11.634477757876857, 11.521459462624495, 11.402262612223783, 11.31323131162465, 11.317049729280786, 11.051186053999375, 10.92722526626206, 11.017503072829133, 10.909977161879478, 11.077294733998604, 10.915749994164331, 10.989988706971676, 10.962397896358544, 11.021436188530968, 11.02055862169312, 11.041151406756407, 11.107682399652454, 11.207428109485626, 11.208394451188614, 11.318259445414656, 11.062042829983426, 12.16479772363665, 12.095724530039844, 11.909437825319015, 11.78976025589986, 11.715080171101777, 11.738875501654087, 11.695665715917755, 11.659953556354395, 11.66629108761282, 11.692164268051664, 11.636921942092672, 11.6393704190944, 10.78547685135258, 10.829895405929038, 10.862892383986926, 10.98065430197635, 11.117822749766576, 11.085684597829994, 11.114276851307189, 10.94704999704326, 10.880502190791969, 10.900322392701526, 10.892773379984312, 10.493237816215377, 10.581776874494242, 10.578083853330224, 10.701363362978524, 10.642579550887024, 10.499003741830062, 10.472798930202822, 10.483191313569876, 10.4363543505291, 10.599138999610958, 10.480665479147216, 10.458758616557734, 10.24851821226268, 10.656114083800189, 10.675572176003731, 10.743366534764368, 10.831566671646437, 10.9336956267507, 11.11692631387139, 11.16770597323374, 11.232080374961091, 11.19172805166511, 11.187811019763462, 11.155756734343552, 10.90328728190165, 11.200700977124182, 11.164113392857145, 10.920807977513226, 11.02153641643324, 11.04790676556503, 10.977103643323996, 10.876265649470898, 10.896085696545285, 10.81381684087042, 10.819337654684096, 10.79355554046063, 10.48720848358232, 10.67734170308123, 10.675761493775289, 10.765887418655335, 11.975416280812324, 11.983593417600376, 11.91135467271644, 11.88403913748833, 11.776853794817926, 12.287923163943356, 12.662837154061624, 12.6021226302521, 12.1659551267507, 17.314327586990352, 20.04470647400989, 19.852969547852474, 18.591975210239653, 18.422505136557223, 18.336538497082824, 18.30868379342969, 18.31861826563959, 17.574512398352397, 17.471122580532214, 17.571907318394025, 17.498123810457514, 12.095971551898536, 10.201660047401973, 10.30226207099674, 10.275404336912542, 10.29841321879863, 10.336902909897294, 10.480002906006847, 10.475542026133422, 10.583842417398987, 10.71736518215064, 10.891606667989418, 10.715775252183194, 11.073870592981637, 11.262224976735135, 11.519442524198569, 11.59009419791602, 11.847423916086353, 12.07966883699035, 11.995558898897066, 11.94990951626206, 11.655714790522888, 11.534192782485874, 11.464543321739807, 11.1999722590187, 11.653247478057889, 11.42674373019764, 11.26065838881108, 11.29403636056645, 11.493798468150242, 11.67832231356987, 12.02605843565204, 12.410273968487394, 12.936194000855895, 14.274186717086836, 14.590323840024896, 14.609820855042017, 15.0017314554155, 15.325036466931216, 15.988370281901648, 18.04914788017429, 18.229736054310614, 18.38530829974518, 18.61919255431061, 18.952535517357237, 19.458506664894568, 19.535068007002803, 19.597474625894804, 19.393945710497928, 19.549722987784, 19.620278564036724, 18.789041400560222, 17.05369544467787, 16.75833799802561, 16.493708927015252, 16.123775182021827, 15.633615404316451, 14.26141506463133, 13.787862306255835, 13.479839821717116, 13.041041403007316, 13.316777234749456, 13.206020153983816, 13.498385503144137, 13.671021183629009, 13.734154146280735, 13.97957888764395, 14.525283809774743, 14.84971591153128, 14.572185202380952, 15.550881788904451, 15.711631141300964, 15.526380079053844, 16.111318459772797, 16.241215784154868, 16.40349844537815, 16.678863384142545, 17.009483769091712, 17.01138853361345, 16.77249072082166, 16.8792341573296, 17.045444175445997, 16.657674773187054, 16.70818601844071, 16.544506045051353, 16.86702949727669, 16.741177118658573, 16.626777291238717, 16.731287106364768, 16.555125974807574, 16.380867664565827, 16.17600695611513, 16.03565983488951, 16.357836866462428, 18.39348728338002, 18.34390506224712, 17.873086829750232, 17.659967009881733, 17.614624311496268, 17.87045780890134, 19.40778473795556, 19.91160873357714, 19.864372339791476, 19.74066790489614, 19.790350151648905, 19.235908715624028, 17.95440683667912, 18.233739335434176, 18.313380612044817, 18.313268251322757, 18.515239224219425, 18.345348374027388, 17.05589940207491, 17.097058618425148, 24.603340190476192, 26.28765158154373, 26.02470099673203, 25.66965875287893, 24.97389772657952, 24.797791268517223, 24.648833113750776, 24.944830186998708, 24.72882905098563, 23.561620560331832, 24.96040795785661, 26.337787086511444, 17.761043689876676, 17.204290707827575, 17.18972130427835, 16.860146894102083, 17.052574655306568, 18.67030165048241, 19.73456610239651, 20.815129342881143, 23.17471700420168, 23.716082675593952, 21.99237218331777, 21.053633138266417, 21.584676671466184, 21.81250608426704, 22.21435177577638, 22.24714635364145, 22.58865910255214, 21.290292578275757, 20.61605214116905, 19.70132453500306, 18.361944625630883, 18.96741673132133, 18.70203368537523, 18.48514022429351, 17.855917095397125, 17.723179402816687, 18.641638919467784, 18.538994171689232, 18.16003769422336, 17.08945357165508, 16.258140699083413, 16.373561696002984, 15.383550657985174, 14.417538709868223, 14.129215925332211, 13.652000259792318, 13.647975000479978, 13.505008856085809, 12.34541607452355, 12.410670675868772, 12.392498548552757, 12.614758349984438, 12.167175910327842, 12.394039354686113, 12.595651748643537, 12.418546863211953, 12.511259118580767, 12.497496001720956, 12.2683761118892, 12.070761486227823, 11.960466922580142, 11.90795056590414, 11.982733644562453, 12.26450107236228, 12.376039163632118, 12.885945873560535, 13.992534003890444, 14.69223257406623, 15.168201868482855, 15.267592957368509, 15.334792412300136, 15.451670973544974, 16.572726179287923, 16.93030809640721, 16.55626552651987, 16.130515133831313, 15.475707814270152, 15.35992685901027, 13.812248342871415, 13.346814039876415, 12.750905782057266, 12.524461106006717, 12.593059061469033, 12.59731908722344, 10.983862029126245, 10.818826494513814, 10.83183743277311, 10.747194631953532, 10.693151483385629, 11.713630509736664, 11.535170869596824, 11.3014219038282, 11.221669789060073, 11.349725384079004, 11.216433646293265, 11.032108472377844, 11.092129057033924, 11.222447123944306, 11.262911399631134, 11.205023940166916, 10.96489097853776, 10.064285995020231, 10.09599688305322, 10.36994715580639, 10.991916853174605, 11.368492565359478, 12.088336702303144, 12.558318141145346, 13.049221558278868, 13.357519923591662, 13.64468600420168, 14.011843024665422, 14.125187435959315, 14.664091192032368, 14.837356880490724, 14.954306900715842, 14.829161220899474, 14.617043944366635, 13.87549384500467, 13.423780256535949, 12.716139144491128, 12.245855575517496, 11.82702638103019, 11.432885817071272, 10.723522567460318, 10.705983326408342, 10.432250631419237, 10.06971767187662, 9.566470956777817, 9.21064212464986, 9.27988564737006, 9.249437574306205, 9.306095023809524, 9.328646065670712, 9.422528072517895, 9.44128164379085, 9.186006276081676, 9.625805417678183, 9.801022616635542, 10.061818621065466, 10.251818722144412, 10.546265681995022, 10.6322227578587, 10.84922329123872, 10.977362598194834, 11.069090216636852, 10.966060296374105, 11.072729506224713, 10.872570371090768, 11.043924246148414, 10.757689318082788, 10.623267337978495, 10.49617913569354, 10.242733805322128, 10.10835926493931, 9.877413944517066, 9.908279918630695, 9.900334066760038, 9.883770168179405, 9.72654329816371, 9.588840127840024, 14.514824113980316, 16.864038325521452, 16.816928031417937, 16.849430339869283, 17.000982682306255, 17.121631942640764, 17.181879210161842, 17.03060687394958, 17.078690268440713, 17.060338416511048, 17.1591572245111, 17.006162770852782, 11.290079796840958, 10.52371174852163, 10.58167184290383, 10.499171739651418, 10.435705157937806, 10.395229189029596, 10.27059565242764, 10.049148173358232, 9.98674872831224, 10.179538234928463, 10.294284996597508, 10.150957394179894, 10.422694193043885, 10.12938087634583, 10.26618785073838, 10.345331712729536, 10.310441607298475, 10.455836247510115, 10.47065401081544, 10.869968233734074, 11.906580591962342, 11.942175934004206, 11.776785829071647, 11.181613496031746, 11.436058271008402, 12.501791115546215, 12.51358171720679, 12.7004773032991, 12.7344594886399, 12.75848832996468, 12.99774898877565, 12.470662537580942, 11.887523868036103, 12.087175570854347, 12.24860030112045, 11.89413221879863, 12.18046675588974, 12.152801960550889, 12.826905253112356, 12.917736928026766, 13.02160447084716, 13.081485765617572, 13.051251956855786, 13.785953478369125, 14.027522476501714, 14.088832037270464, 14.187445596313156, 14.15302581100218, 14.638608135545056, 13.659986521293671, 13.4207898024432, 13.380444789060729, 13.739053675381264, 13.825166804777467, 14.011004874494246, 13.671945095004668, 13.701434054621847, 13.81077593915344, 14.00417057018363, 14.170852676081545, 14.65805725925926, 14.74751300568005, 14.91285652771294, 14.858194040227202, 15.087176286492374, 15.148262854357306, 15.078953547074388, 15.140032168923124, 15.33982324333113, 15.639917843604106, 15.527361782913164, 14.927099283769063, 15.140732483893556, 15.452856270074696, 16.098508003249023, 16.283626707999545, 16.030727613834426, 16.142779499610956, 16.416799934640522, 16.25995726276066, 16.385898054077188, 16.226325211122788, 16.31405880407719, 15.831776799074726, 16.285132456735035, 15.584774188707984, 15.013701102270089, 14.774605769292071, 14.836287729925305, 14.535854630560092, 14.162711452225336, 13.862376496489524, 13.43102964721444, 13.291963208894208, 13.25658122603486, 12.98296017262619, 13.194914857920946, 13.212413889491389, 13.4104557464986, 13.425609620358705, 13.364905619638968, 13.674726036336756, 13.95250389114535, 14.363159487702324, 14.832797989573608, 15.556876042483664, 16.0538464579885, 16.709032198633814, 17.294719792794893, 17.41247830200424, 18.23861582410873, 18.557626221055088, 18.780999479461048, 19.126202616013074, 19.0719098994709, 19.128926234516037, 18.84259544919079, 18.29285230003112, 17.701710917989416, 16.29098553610333, 16.15259777474323, 15.830907654075892, 14.893532025321615, 14.612762899004046, 14.33954862970744, 13.934440241674446, 13.931217558823532, 13.729038899269248, 13.611226696899974, 13.265145203392468, 13.190837009103642, 12.817941929582943, 13.146450900587483, 13.371753645035792, 13.145281438608777, 13.105169225490195, 13.023913366644, 12.796800697790225, 12.741511299719887, 12.58162732360722, 12.330997069552083, 12.32993777419857, 12.38597215600685, 12.13656668288688, 12.461130759337069, 12.347175811224584, 12.386259264550263, 12.475966663009649, 12.614578659508249, 12.738479114456895, 12.674002118269533, 12.493413822051044, 12.552470683006536, 12.504463982726424, 12.453981044736876, 12.067951100706118, 12.18509432158419, 11.994552656473704, 11.738429575619875, 11.351391739884845, 10.976870051587303, 10.636687870759417, 10.496400948101464, 10.293219307810716, 10.291389127840024, 10.144944285091814, 10.073088501945223, 9.81137536041278, 9.960455481617643, 10.674304787975323, 11.420689352552133, 11.563189388266418, 11.620428044117649, 11.549748510348586, 11.53848357678442, 12.8174427597929, 12.80955762394958, 12.84972095607002, 12.870946528478058, 12.669890848007178, 13.02708575723623, 11.911342766144054, 11.370105779878616, 11.378693407857403, 11.37906943207283, 11.411212238717711, 11.316779355217903, 10.235406724556489, 10.260339022097726, 10.44729971150342, 10.35015423015873, 10.035635206931476, 10.299584586848365, 10.413499598739495, 10.59303739721444, 10.65440062130085, 10.718051198101463, 10.839353681870538, 11.155238520075349, 11.262430767273576, 11.267040648070338, 11.400343953838574, 11.497867326797389, 11.29777828133153, 12.641413280812328, 12.752986734749454, 12.66945687917382, 12.498952745642702, 12.427113551198255, 12.272160085667602, 11.985334691643326, 11.88046769701214, 11.67854863895892, 11.402752496809835, 11.3538986171024, 11.204631551313064, 10.127257644799773, 9.991979809679428, 10.016520161064424, 13.873656899237476, 13.834023351851853, 13.875974578609693, 13.931731221513518, 13.985792837223782, 14.028437472689076, 14.008355779956426, 14.00469108986928, 13.762682622315593, 13.933713025822186, 13.84913546101774, 13.705388717135062, 9.76784314379085, 9.707226806489262, 9.664321081777157, 9.660730957827576, 9.473389567304702, 9.350374003812636, 9.396234931582438, 9.348135102396514, 9.04248381154684, 9.27077046833048, 9.312098763927796, 9.39933267911609, 9.64263995530268, 9.639768891845629, 9.60391454684096, 9.440912954367024, 9.461741576641767, 9.484223192888264, 9.483683689931528, 9.455525140375691, 9.159589423897058, 9.445849652321316, 9.378027508481171, 9.290350260426392, 9.108221151047184, 9.145553213313754, 9.116507906629318, 9.139752583099908, 9.04892874642079, 8.988331348506069, 9.017509222422582, 9.057873504123872, 8.736489491920205, 9.012203567649667, 9.032635586601309, 9.175859371926547, 9.206153074385307, 9.26783170253657, 9.325051609243696, 9.389432845938376, 10.163973406006848, 11.152304681839404, 11.114242113445378, 11.195420946700905, 11.072477151960785, 16.611951344537815, 20.01176080601398, 19.892059412486383, 19.84778296615313, 19.78986546195145, 19.717804277233117, 19.715311173522284, 18.914781089713664, 18.3811348111578, 18.49402933154373, 18.595315327462654, 18.4298532334267, 12.06211537802418, 10.079806688686585, 10.19870030804544, 10.3423602456427, 10.410681918145038, 10.483989808979148, 10.441739182328504, 10.296557241348298, 10.230355224945535, 10.139864895580454, 10.197023903906008, 10.219120685418613, 10.867036161686896, 10.924869847405162, 11.005549047074386, 11.23154295463741, 11.384503321739809, 11.576273052287585, 11.836023338307417, 12.161025787777522, 12.517701551665107, 12.890703508926812, 12.854846191332088, 12.630574503890443, 13.04722962637735, 13.517878940087147, 13.842874439443928, 13.867639152505443, 15.519184062947405, 17.13686518285092, 17.207878266421574, 17.099633611655776, 17.091596571302784, 17.152677385154064, 17.081458085901026, 16.789227780261832, 17.105066904269766, 16.828113267507003, 16.965076425303458, 17.296642817735243, 16.2051500677949, 15.97183168425148, 16.604422929505134, 17.10436968479614, 17.884012374329995, 18.28905921102184, 18.47601355267663, 20.0330513364816, 21.382678689020054, 21.41849335544425, 21.38307759798058, 21.27682897191591, 20.98083907682624, 20.41034877980238, 20.0162100331538, 19.503070240351693, 19.1288987194211, 18.914243676081544, 19.220777621922007, 18.880096273229203, 19.76154340375039, 19.68489744203237, 19.86908307236228, 20.00128683667912, 20.050532901305264, 20.16577825140056, 20.12594368386243, 20.18518515707868, 19.77972750653984, 19.68777096700903, 19.401902917989418, 16.863434650560222, 16.39829297105509, 16.161981188920013, 15.882640287970744, 15.637631181061314, 15.308397725568003, 15.155769314737007, 14.984115765415275, 15.02149921529723, 15.252485172580144, 15.313262654372862, 15.2710591381108, 14.681550462347628, 14.798388325241207, 14.848688719265484, 14.597272771630877, 14.43490595697168, 14.318243934562714, 15.41895384608816, 15.61273262978136, 15.128136387021478, 14.732701343215064, 14.536139280501088, 14.59562672175537, 15.671501210392677, 15.803974363518652, 15.780146593215068, 15.899913154761904, 16.095762607998754, 16.13439512491636, 16.360070793976302, 17.45150543075008, 17.671850959928417, 18.02551335061738, 18.54836884103641, 18.74980878602552, 17.579183419000934, 18.31568202634092, 18.691319021397447, 19.578156169156557, 19.798590906162467, 20.018037788826643, 18.364258192421413, 17.60790621234049, 17.806671630174293, 17.551802538204168, 17.560527020930596, 17.59367846140679, 17.167273798636455, 17.308725383597885, 17.08092858146592, 16.49416212441643, 16.58771647510115, 16.615340363600996, 16.541607720666047, 16.58663239028945, 16.48996723140367, 16.542623863109526, 16.302028113600997, 16.05756012301587, 15.52796264992027, 15.854089366013072, 15.779016864612512, 15.507138694136453, 15.193853082244011, 14.92274179349518, 14.7735078173047, 14.459362062975288, 14.334868147681297, 14.362918365935265, 14.015224948957362, 13.817055644724556, 13.291905478369126, 13.303014889744787, 12.946980486772487, 12.711610686585743, 12.845628497899162, 12.596865846544503, 12.61441699291939, 12.43556777474323, 12.416125495487083, 12.243959856987235, 12.160442080532212, 12.044384762138192, 11.778511015433404, 12.099309955259884, 12.040903238026951, 11.78968259880382, 11.691858080170787, 11.731159158659835, 11.591614539555671, 11.65574409381233, 11.395004387618346, 11.264840728446934, 11.152745765250543, 11.114685520074696, 10.68906638203198, 10.792846032990976, 10.92633356755983, 10.881564347591866, 11.03570100702605, 11.018812020287282, 11.0067370633059, 10.888546445891084, 10.916139638671025, 11.126744385694666, 11.246567073801096, 11.427885967417035, 11.230553849468308, 11.671256752256458, 11.595726571817616, 11.48302340639589, 11.328670162542794, 11.318700613226993, 11.482643245175847, 11.732080310457516, 11.680775567149082, 11.579106251478368, 11.68292336921491, 11.598128203405444, 11.25127531667447, 11.436266022331154, 11.520548997547722, 11.269052982679527, 11.18839934850007, 11.538875338558205, 11.672955942530177, 11.685743148869374, 12.003147507829002, 11.900012146708614, 11.908254862306569, 11.983885215647373, 11.782136508948922, 12.895108575770196, 12.761133229037371, 13.007071666835902, 13.039480164572964, 12.717178193588548, 12.45847918630954, 12.19028786414566, 11.8882012535014, 11.85976043331777, 11.638679319743362, 11.56361661336757, 11.828012020106486, 10.972850844075667, 10.868350496274902, 10.983235600217863, 10.940294216542172, 11.053198687908498, 11.044870020619358, 11.13042555018674, 11.28013606652661, 11.35611386181139, 11.475436863048566, 11.617925735449736, 11.350073116168687, 11.544867793206642, 11.514454611378255, 11.201811687986304, 11.18913431084656, 10.894652358776844, 10.851366173280423, 10.67053275225646, 10.496465945767197, 10.351361463274198, 10.27554223023654, 10.00165761355065, 9.426286841814504, 9.662546572630074, 9.757876120370373, 9.891351716542172, 9.841556810535328, 9.855735647292253, 9.745030691098664, 9.750586271630874, 9.645093940696649, 9.65201975961718, 9.555175315126052, 9.529740819297258, 9.225056268674136, 9.44718477559913, 9.341456777777775, 9.311410104341736, 9.420231025132276, 9.391858020930597, 9.34006053260193, 9.375083976346096, 9.434311376283848, 9.418978104521347, 9.556832568238406, 9.559206382041705, 9.209078573911324, 9.545203093837536, 9.652017083877997, 9.63267291557734, 9.631335289311652, 9.73372794530034, 9.781769678960474, 9.698013743308437, 9.79359008288334, 9.889474814581389, 10.062861896280737, 10.104692312636164, 11.648490354964206, 19.77240968731427, 20.38459252567694, 20.376340753501403, 20.71315228423592], [83.90716662519452, 83.73360744364281, 84.68197936310055, 85.21690181537065, 85.32637414554083, 85.71034081767715, 85.21862176792914, 84.48229239169001, 83.908126673047, 83.58239031419235, 82.59794050105991, 80.40065978392468, 81.87720277308007, 81.76445133691253, 81.03504961813856, 80.18497146389669, 79.6645985645814, 78.96424456642481, 79.3574739029723, 79.55173916853406, 80.30584211902105, 89.6115968925459, 89.47999517023098, 89.58714182897602, 89.11762576369438, 89.31164374921414, 89.74565961896981, 90.50649792281357, 90.00302876174071, 89.64547303174602, 90.3847228478058, 90.55105124872917, 89.87678750377957, 89.80604903555867, 90.70946966830066, 90.04475168835914, 90.6063453513072, 89.7844186283847, 89.60466209025833, 89.20048666456583, 88.87209031442576, 88.10127849245254, 87.8413890971258, 86.89451393650792, 85.39611195339248, 75.12537847315592, 74.94562478275753, 76.31563660644258, 76.75856218837536, 77.80313708948023, 77.04726236354135, 77.00060549097418, 77.59278343145034, 78.25338000739185, 79.29005679137295, 80.03813348117026, 81.95482639137879, 82.7011550235761, 82.44673958042264, 81.98467464563103, 81.82006178789294, 82.21142993596327, 83.32441458169936, 84.388649160999, 84.68837625365684, 84.45173087875149, 83.28271540884096, 82.41431192884998, 80.76747354820036, 80.36793596201964, 80.52595966692446, 79.73953188761185, 78.30771605364211, 75.46048956722689, 72.88499144736487, 70.14754844833489, 66.86236712669948, 65.41704295066914, 64.32700528197945, 63.36763134165888, 62.13227540238031, 60.55629738366207, 57.81980442584812, 55.81583669553377, 55.561751661839246, 55.241645805322136, 54.64711214410208, 54.56733624758792, 54.18653523031435, 53.94933866386554, 53.757602836445685, 52.98225521389667, 52.5630991834734, 52.05539939931528, 51.7781667167756, 51.29525110054272, 51.9264225314549, 50.55003395797801, 49.46745935690944, 48.10673483717739, 46.5196666074541, 45.56573538803299, 50.365321462262685, 50.81825637449296, 50.10131556582634, 49.6601115198938, 49.21469795238095, 48.58174270199191, 50.49602702233116, 54.63819147253346, 57.47267004419546, 57.414452666499386, 57.27690867969215, 56.030712308116776, 50.69922428245539, 50.04866916811976, 50.80062052692188, 50.77257409075372, 50.46401860884392, 49.5751391855155, 45.741511111041085, 42.32925869102, 40.17567754158954, 40.36303388632513, 40.69038402900003, 41.04163478952693, 41.21871505991285, 41.55860784469344, 41.41762013523187, 41.50667743277312, 41.59673124066293, 41.546406071804, 42.30186712249844, 42.50419883520075, 42.73310405096483, 43.57971737356314, 42.9716109737784, 43.309464549408645, 43.76590841856718, 43.55650515024899, 43.47679718556645, 43.305305933562906, 43.956157552730446, 43.82229076377217, 43.17843290077095, 42.873085765094935, 42.342996364593056, 41.2438899030501, 40.9195785183629, 40.53944768162867, 40.22907279953599, 39.93900397191099, 39.69263198385855, 39.17267587500194, 37.46595765919701, 37.22257475233233, 37.3463056582633, 37.14071193222845, 37.10195173062558, 37.123209784391534, 36.10116507718642, 36.04280711881419, 36.19267982172165, 35.80323687190774, 35.412494944911295, 35.040151895813885, 34.385065799564266, 34.01973975466853, 33.7526406153906, 33.07429643957751, 32.84002283244311, 32.33575744296607, 31.908557464519134, 31.520185306878304, 31.40154360434174, 31.187356635932154, 31.01050319514473, 31.03223700062247, 31.48673456862745, 39.46636880921257, 39.43660658582321, 39.48481431893868, 39.40889731979458, 39.42686185029568, 39.71197817561469, 39.60955055291005, 39.73224414612512, 39.73446391037193, 40.21305953050109, 40.40842395634922, 39.749213755057575, 32.01266157088391, 31.805138795751635, 32.23330450723623, 32.34545398379046, 32.3591096371771, 31.571424674912464, 31.990374689075637, 31.957783676470587, 31.95417556481482, 31.458665803232964, 31.214256385698725, 30.64749192911609, 31.016445812204324, 31.331259625427947, 30.723154243230628, 30.507146478446938, 30.367447394179894, 29.751737607998752, 29.91331553120137, 30.205134263772184, 30.17898744203237, 30.33008994172113, 30.330175823840648, 30.067600676063886, 30.171105159062797, 29.944480775443512, 29.98094581421523, 29.991207379551824, 30.24181970463741, 30.482229861422343, 31.263778385290586, 31.72266522735761, 31.95665389052288, 32.01767847080026, 32.112258497707884, 31.52040788440385, 31.06388596794273, 32.10148595899471, 32.419731236565646, 32.52118552840025, 32.289069292405856, 31.645762095315902, 30.901636684513434, 30.69696843075008, 30.476835766651103, 30.40423798910675, 32.47222617234672, 32.82481304956427, 33.36931260278556, 32.60371511444847, 32.39684586266989, 32.403589710706505, 32.89027506691566, 33.12937768852383, 34.36441047916473, 35.435009876187245, 35.99468497665733, 35.638469721755364, 35.67764005384377, 36.36637104375259, 37.58011548817305, 38.3926267320054, 39.19084424626517, 39.91834445020231, 40.431628823218176, 40.37686369623405, 40.65807816464299, 40.72310648311547, 40.97657923008092, 41.02817127310925, 41.94266964503579, 41.38599720557112, 41.55169218386695, 42.05663326059435, 42.05347982919325, 42.24467960885466, 42.41278474175227, 42.383733076267646, 42.75795355524431, 42.79536341184252, 43.02501195518208, 42.3187871355094, 42.03617101398078, 42.131987759103644, 41.50755962902144, 42.51514460418612, 43.48893601252724, 43.41601021804455, 43.30561876820728, 42.6316155407239, 42.94429153906007, 43.489454057422975, 43.46600787055648, 43.66421132858115, 43.63093378921572, 43.26384404878618, 43.56520965460629, 42.79743134148187, 42.07376190180516, 42.61287285099595, 42.51249267116849, 42.11546690818549, 42.38491440156136, 42.40490880897915, 43.02756014954871, 43.05560405734516, 43.200240502518426, 43.47573824351203, 43.98992571311858, 43.9732116436132, 43.70631436983678, 43.24156892265795, 43.10469185948687, 42.61074748868727, 42.484935706037966, 42.38933385877685, 42.453837398408815, 42.6387909403906, 42.44738050933708, 41.829518288482994, 41.62636617639278, 41.58691372875817, 41.77052690802988, 41.54745028591918, 42.4633632037037, 42.46791369021747, 42.6060188182384, 42.10353764410208, 41.897244849517584, 41.38488952715531, 41.605641225112336, 41.11111232282913, 40.62749105174292, 41.52096940402467, 41.22348219716776, 40.139720901571735, 39.92820795339247, 39.39145315203859, 39.45151603982259, 39.47603933862434, 39.27528870946156, 38.9198493478836, 38.79409051223616, 38.81501080086564, 41.00213688779956, 41.4095467291537, 42.096021913787744, 42.97223419218799, 43.88965430026455, 44.1440671451136, 45.222222607516336, 46.427503148381575, 47.3020133557423, 48.34295438126362, 48.910739054115496, 47.858435055322126, 47.546717069016495, 47.85278580999066, 47.73220924843216, 47.3348726652661, 46.97237474058188, 46.679326507703074, 46.255094394257696, 46.021749355275446, 45.751036751011526, 45.54866261445689, 45.53818209780579, 46.26556588390912, 46.44711082445144, 46.13843478323879, 46.15306840196079, 46.176996666900095, 46.38108125303456, 46.23091136212262, 46.13919057858699, 46.27950992116792, 46.298546885343406, 45.94598371872083, 45.97188147829132, 44.84301193261749, 44.27463663686586, 45.21900362634352, 45.32907085939932, 45.53079872408251, 45.65881181178028, 45.35847149470899, 45.93375887971198, 46.54444718394024, 46.60136597121071, 46.79801888775226, 46.4091048225957, 46.37574306676004, 46.97290292910248, 46.39445735611384, 46.10362393807904, 46.07778054528479, 45.68820751252724, 45.090481704092745, 44.48942134158107, 44.015915252256455, 43.44836121521942, 42.82056885760971, 42.489420458839085, 42.05945659529518, 41.56294452474323, 41.031472490974174, 40.62071814277933, 39.764044253658334, 39.391471931605984, 38.76181671288515, 39.11237456045752, 39.13592747883598, 39.06986330835667, 38.98786726229381, 38.97047011733582, 38.36879587449424, 39.36236810854341, 39.62202494654528, 39.71369403322439, 39.984042348723285, 40.032001396047306, 39.6911908611111, 39.227098960317456, 39.89989190500247, 39.92758814355744, 39.621070223544976, 39.29160907961407, 38.44316580438843, 36.626011731747326, 37.22665343456272, 36.89389915371797, 36.578811569716784, 35.90492518067227, 35.45628013569873, 35.086135322025754, 34.136364948023655, 33.71695383308823, 33.62475432438531, 33.39500928205727, 33.14445360364145, 33.985233372704634, 33.0354779720666, 32.61318328291317, 32.420547501167135, 32.72533510843967, 32.21811488071895, 32.30347898210395, 32.515244319638974, 32.20607763351813, 32.06702270759415, 32.223150783224405, 31.902750547731905, 31.797974332166195, 32.19341451906318, 32.23884173272643, 32.19851925221107, 31.77900031395892, 31.37872895868347, 31.7573891529723, 32.028553974789915, 32.19441533115468, 32.272065242841585, 32.222221192255425, 32.22042336375661, 31.989076161609084, 31.993346634269663, 31.86754601198257, 31.55687827341205, 31.52016210348584, 31.19644524766676, 31.201427071817616, 31.28733790094927, 31.05816671226269, 30.89616853190165, 30.58649233123056, 30.332194631326548, 37.38238637286025, 38.11827333488951, 38.21146698793963, 38.3661777158419, 38.32242608192759, 37.86070773040127, 37.51373575420168, 37.78511978936872, 37.77221589542484, 37.99367290110489, 38.03892046857949, 37.86885028408638, 30.934678856676005, 30.1970133356676, 30.29241031467932, 30.25723057088391, 30.3653700733738, 30.28910910690943, 30.349653193588548, 30.28503588173048, 30.3071066660442, 29.95187976569797, 30.08587904380641, 29.956160479568695, 29.868719331455544, 30.11811509905073, 29.951333293806417, 30.040812845554544, 29.922804476423902, 29.367918637099287, 29.593203515950822, 30.07179336227825, 30.130832181995025, 30.170976910172868, 30.029758400793654, 29.50973888881108, 29.90135947203613, 30.00420516013072, 29.994977911907355, 29.879676312852737, 29.91129156769375, 29.79536239223467, 29.91169112535014, 29.664972579754124, 29.63639713625377, 29.993723973696056, 30.341310890911924, 30.148093955329905, 29.511163335122937, 30.508864073918456, 30.525183035431585, 30.67695298692811, 31.074980597727983, 30.691513927326483, 30.99429108418923, 31.139219596716465, 31.18023681939776, 31.098222523965138, 32.881803476423904, 32.81144650708061, 32.94515043090571, 32.83070703003423, 32.84956269933409, 32.72396551890756, 32.8265099073296, 32.88046077861604, 33.371127904995326, 34.567994420245874, 35.18958722751323, 34.82904843954248, 34.49986477840026, 35.31983084321506, 35.9381315032563, 36.12445448926238, 36.66445641051977, 37.18520579595069, 37.39635205166511, 37.73391984206223, 37.75072894937884, 37.39610928478058, 37.294676076084784, 37.017266798008094, 37.83528831131341, 37.482656674525366, 37.73333148669469, 37.90573361971549, 38.39995684749456, 39.2211170458203, 39.601677693744165, 39.77517864433551, 40.79357250466855, 41.52890045471523, 42.22237868821974, 42.16999219693433, 42.52788469802366, 42.74165621272954, 43.21844256948335, 44.59806233691253, 45.64235844540995, 45.45224173774253, 45.72605554668535, 45.55877996763149, 45.68525794436663, 46.10427206069095, 46.740136340413954, 46.8474545454404, 47.08029087319355, 47.30166311070977, 48.11703818860877, 48.21154379411765, 47.5538503531383, 47.68473023840647, 47.75328037488329, 47.47342348327109, 47.82650239558045, 47.854087722462175, 47.968497524433296, 48.27520896101711, 48.62903737182346, 48.25563313756613, 48.0192515375817, 48.98215788897903, 49.00966082611009, 48.913733870126585, 48.861165918048926, 48.834851199112975, 49.645013748755055, 50.4291824613854, 50.21594439931529, 49.691817560846566, 49.40499213811079, 49.204909646669776, 49.279331316370985, 48.01647223778401, 47.87930077567694, 47.965397902661074, 47.82354702461159, 46.84684745124494, 46.271503488765084, 45.66371842958295, 45.15446750809213, 44.94360884279428, 44.42670602583256, 43.78244948755057, 43.60302984974447, 44.1219378968254, 44.19963786756926, 44.00932028968254, 44.04857112519453, 44.0570613934018, 44.17653391781825, 44.46140341067538, 44.16800710317461, 44.05300894728966, 44.234118246342994, 44.05570329307501, 45.67888293687949, 45.71934887005913, 45.4646016223934, 45.6108460272837, 45.8573400157174, 45.5931290550887, 45.78943577053506, 46.34795132519392, 46.91634790893831, 46.83223522268908, 46.72667967413632, 45.02954849891067, 45.05745908752853, 45.79612520064258, 45.878079337846245, 45.635952386009954, 45.325477084811695, 44.86113728563648, 44.803157057216886, 44.67952372971395, 44.37069300272332, 44.50806734767742, 45.28155232656397, 45.36334818337418, 45.08503055399937, 45.55402205508871, 45.66907136321195, 45.936394374843424, 46.21641802575475, 46.34819465965155, 46.06142959064737, 46.83304757679739, 47.07986779555844, 47.21551511182763, 46.71191267563431, 46.43963451890756, 45.25334062145321, 46.00241202988641, 46.0434601564737, 45.89631013508732, 45.61067443067227, 45.35155218993153, 45.35721831318082, 45.31866462892936, 45.28273167421413, 45.41935625855898, 45.31701189335188, 45.75746038935575, 46.00544370207491, 44.91023322817689, 44.60239298544973, 44.46402954159182, 44.11951476019298, 42.987682425614686, 42.45699379435434, 42.37002016583801, 41.88495632438531, 41.37241942678183, 41.036268680516656, 39.96270836434472, 40.11811281263616, 40.38403523442914, 40.00278101928301, 39.75666516692216, 39.69282821957672, 39.59019730539216, 39.51473218526299, 39.69912571381886, 39.94646724315282, 39.98560555220978, 40.157813711562405, 39.89174229026317, 39.68296323177458, 39.8672986354653, 40.17139293432929, 40.61533108107688, 40.700611214986, 40.42154211197869, 40.71040999665421, 40.9657767307812, 40.19721881613757, 39.73486164472456, 39.099736719265486, 38.109725209446005, 37.483131209928416, 37.64400896576409, 36.833837944755686, 36.036921461095545, 35.28347513250856, 34.46958705415499, 33.97544841651104, 33.89292465063803, 33.75593109375973, 33.80123632455269, 33.793813299953314, 34.0043032289916, 33.81578924447557, 33.65000618189452, 33.66121581497043, 33.70117119545596, 33.63984773879552, 33.554643495175846, 33.30550904613614, 32.97365743098351, 35.350532664186524, 35.392017091492896, 35.51368363600996, 35.11581753640868, 35.15786690240237, 35.32106694615624, 35.213730028322445, 35.23806537278245, 35.44244886328976, 35.02548451112019, 34.80966861940684, 35.056200866903346, 33.215916346560846, 32.902132618502954, 33.39095620401494, 33.16614933955285, 32.71902986461251, 33.53574627326486, 33.62094915507314, 33.48608230539994, 33.86781957459803, 33.97152869568939, 34.017993301276064, 33.66450673506069, 33.702805564503585, 33.14454619179894, 33.10314860704819, 33.02427570658264, 41.12591083909119, 41.51236662169312, 41.4544811004513, 41.47963461234698, 41.09625722401184, 40.39941746358543, 40.100553728240094, 40.712858469343296, 40.5204775391061, 40.38288414309057, 40.30777893977592, 40.58955303991596, 32.26614935788399, 31.818754691824232, 31.645801788281982, 31.304221636032697, 31.23327603034548, 31.40457175980392, 31.39795835487732, 30.99114541571937, 30.87459001203448, 30.873927183162152, 32.446745524120765, 31.69262174696545, 31.625738288281976, 31.66874758776066, 31.575907157173983, 31.42217716417678, 31.397304987628388, 31.22647150272331, 31.48519446708683, 31.547120888655463, 31.55607482197324, 30.315108621459693, 31.64105624190788, 31.577962785714284, 31.81336396093993, 31.73108721802054, 32.22764864449113, 32.424989905339665, 32.34069256302521, 31.86953861153712, 32.11552908971367, 32.164800822440085, 32.18346096731575, 31.11643655236539, 31.95750851898537, 31.31212292258014, 31.647121206115784, 31.9997188400249, 31.67631073739496, 31.38425230726736, 31.34409124447557, 30.928705461328978, 31.36440526181398, 31.64553130356365, 31.676953265092983, 30.884968237550574, 32.11062025925926, 32.001319756146906, 32.53892004041657, 32.39808951447246, 32.57814826089325, 32.79084233270114, 33.378342629785244, 33.504402959694985, 33.864592460960715, 34.95362085200747, 35.69000748037983, 35.3489434248366, 35.25152234570496, 35.52028114777276, 35.790284899196635, 37.06461112270463, 37.64817338165266, 38.35417733941933, 38.79028857438532, 39.24400444203238, 40.5197417646177, 41.319616502723306, 41.83639063562092, 42.35311571311858, 44.08348794833488, 44.66599683169934, 45.94422859430439, 46.92417973630563, 47.96414026633987, 49.00772356598195, 52.67993525474635, 54.30004289137877, 55.03392530376596, 57.10251591370993, 60.67220871613627, 61.48720571638655, 62.34414656800497, 63.24001460276094, 63.07263253633675, 64.2137479886399, 65.44835157376284, 64.94196456828509, 65.78385763671025, 66.08440846657395, 66.35160243705259, 66.29908218401805, 65.09601152916471, 65.0265229694211, 66.0511410118905, 66.06139449605595, 66.72007113437597, 66.3480412526455, 65.75112934842826, 66.20874788779956, 65.25597825396825, 66.10767303649237, 65.87611050046685, 66.06640091495487, 65.870573055432, 66.24421015087145, 67.48854119522252, 69.02939968735801, 70.57589140149392, 72.09841608496731, 73.78964925574299, 74.58996226003735, 76.30630198583879, 76.55335166159746, 77.2870265097261, 78.38858510630594, 79.13759318286067, 78.85210696957672, 86.26992458488952, 85.70493450801432, 84.51116774906436, 84.72304300972611, 83.41872759321508, 82.55751195238096, 80.66877645370369, 79.52046714814816, 78.81020752335371, 79.66018158740407, 80.82536036352319, 81.21421064237539, 74.46462229450671, 74.67763453551393, 75.24002760667601, 75.48448021296295, 76.89738737044819, 78.3128731326642, 79.77482691106442, 79.29246599797696, 80.0381701740235, 80.05701149556488, 79.16410769537815, 78.54028925840336, 79.14156019779024, 79.2887555796763, 80.27295654053844, 82.89098141120577, 82.01149941658885, 80.75222276219331, 79.61401769950203, 78.87460569218798, 78.73475189503579, 77.23362352404166, 76.3287497212885, 76.56945473412698, 76.05394432200956, 74.9846751096295, 73.43166329731041, 71.79272034943004, 71.56307408551197, 72.60091412107064, 72.18902097401184, 72.10627166386554, 71.80868910776532, 70.98334824922192, 70.77350404154997, 69.14434172159976, 69.21645166277622, 69.50520832454093, 70.55173294109866, 69.00272557780889, 68.6067020864457, 67.07656741215375, 66.44244046793692, 65.46065248022552, 65.30048882936507, 66.03671222370059, 65.29653878999444, 64.72933279365078, 63.64643573327108, 61.22757036858077, 60.262353261593525, 60.857172516908726, 60.81233591789994, 60.71638397510115, 60.72051113165266, 60.73695818853096, 59.577188139660485, 59.58674153244631, 59.09283796084527, 58.51459535675382, 57.65421713701628, 57.27413527606599, 56.91591297019919, 55.80916304675539, 54.678852638693385, 54.00977154769686, 53.50725524959606, 52.95113718339558, 53.24608044856832, 52.204400056800495, 51.99216617400469, 51.84453285659819, 52.43098742623717, 52.29106726182695, 52.307393445689385, 52.444085444600056, 53.13725315998223, 53.57829323311547, 53.454181544720704, 52.68381459134765, 53.39629193837534, 54.20140398039217, 54.753500183258176, 55.35493903540305, 55.385623687651744, 55.30484034321506, 56.055659684082286, 56.53053324642079, 56.79622254926731, 56.40940155539994, 56.76445482920947, 56.97434081792717, 57.36935242639277, 58.15041715343915, 58.64933185784314, 58.20569958099907, 57.71809834648304, 57.286169750155615, 56.22333422183318, 56.88103476945548, 56.430864846094, 56.78316460019037, 56.626247193199504, 55.57363012122626, 54.059629235527545, 53.04285798965142, 51.65585515404282, 50.96864796265173, 50.80168506412167, 50.40661498544974, 49.60528333621226, 49.03150670364159, 48.19553823739496, 46.86462968401805, 46.2723533915344, 46.09826386118892, 46.16998892472118, 46.36782972727139, 46.282808715115046, 45.956548117874654, 45.63695858776911, 45.7932660664488, 46.27399302035807, 46.47667960509454, 46.73084634018051, 47.56584656370022, 47.963810556489264, 48.217734727513225, 47.79654451431684, 47.73602771999237, 47.38554743020541, 47.25302802339001, 46.81393765318043, 45.57900407428156, 45.00128644495346, 44.52912035652039, 43.91266777840024, 42.9092426355431, 42.18307267869851, 41.45448187192654, 41.54628882016936, 41.63432036803611, 41.65052182570806, 41.57798501648576, 41.553564017507, 41.44260864737005, 48.23074061507936, 49.12564341690009, 49.1975137079832, 49.16501342569251, 49.21373421467476, 48.72968325202302, 48.722515012527225, 48.63369141604419, 48.64665839602333, 48.51535393686069, 48.56918020012449, 48.37937296638656, 41.20414868853096, 40.8274261118302, 40.750342505680045, 40.52965637503891, 40.49986857671959, 40.22143639517, 40.32003790032679, 40.57002940831907, 40.41484757539683, 40.3569533119307, 40.26514368417367, 40.03342259897292, 39.88919072392883, 40.00308941923437, 39.98778889137878, 40.01648403261104, 40.11491297911999, 39.58935685037348, 39.31639861974789, 39.97905629481793, 40.30556676984128, 40.22453022806309, 40.17601435535325, 39.89565479676315, 40.083878429218544, 40.2681575995954, 40.286871059091325, 40.36548453096794, 40.39112235333022, 40.51917794362681, 40.66522065732959, 40.507009210784304, 40.18449926243646, 40.258304234827264, 40.33896538958917, 39.891373130485526, 39.32303535091814, 40.24799641534392, 40.34974910205221, 40.18606105967943, 40.18340688677508, 39.98446176112408, 40.158473967709305, 40.43474981629318, 40.62150232827575, 40.872595249766576, 43.19014970666044, 43.43581735058876, 43.351081922410906, 43.74727640561781, 43.8862842412076, 43.5841548488601, 43.634005518362905, 43.26793714329677, 43.11465331356988, 43.7677782211329, 44.01882303579209, 43.01124975894802, 42.31221514659197, 42.734558576980895, 42.92752934889511, 43.78959898000311, 44.18959672089948, 45.17128936492374, 45.6261371240274, 46.03174942810457, 46.476553873638345, 47.6919132692188, 50.25920632695301, 51.8743771468254, 53.71058813702148, 54.27139650474635, 54.99001330112952, 55.99231170977281, 56.98186224758793, 57.874915534158106, 62.08536504411765, 63.07964819179894, 63.77369681325863, 64.98004309570494, 63.83980959422659, 63.48561335806813, 64.44771399284159, 66.08054246335202, 65.82963036251166, 67.00271422144414, 71.68687318285093, 73.86095041546062, 77.01111355278987, 79.17228834912854, 80.71657675295673, 81.38180071716465, 82.39979990133833, 83.11658556090947, 83.99141178773732, 83.97037489394647, 85.27607157499287, 85.36250290281667, 83.15502778742608, 81.43861519343291, 77.04195029417276, 75.34095396475256, 74.97426767133518, 74.79180236647929, 74.2669651160429, 73.52221421078431, 72.75397364701503, 72.28812331223935, 71.2915420367258, 69.96956230999068, 68.29508771303298, 67.10102342709305, 66.2794213235294, 65.86569136733581, 64.52793271350762, 64.52635137656267, 64.72366005251648, 64.84739772743542, 72.40479773689827, 72.62679399697973, 71.83631117966075, 72.76306382205104, 73.95161699914411, 75.2413251406785, 76.37108975023344, 76.16256292654839, 77.87372884383757, 78.87208997344189, 78.86681919247718, 77.20471363342021, 70.48372112356054, 70.03236762924058, 70.704462510582, 69.43839615343914, 69.04332175762528, 67.2546751476813, 66.55711258302209, 66.52075906758678, 65.83740184446, 64.85488579528479, 64.14214167356897, 68.56858221568628, 72.25090581504826, 74.30958689270153, 81.74591746226267, 84.58371658045441, 86.75594127972302, 89.01977464371303, 93.57845382858702, 94.75705986227824, 96.18411801609216, 97.61614605921255, 99.03000530890137, 97.19008589410208, 94.2035925625441, 91.25166913879944, 86.08020128376906, 85.8191351275651, 83.87075030434886, 82.49826215258325, 77.77460188655462, 75.7002550585901, 74.32371880812325, 72.74644226525055, 73.96961487916278, 71.67244029707439, 72.77415731744023, 71.64596441456581, 69.70588739347961, 68.75898104643164, 67.6407266617647, 67.10117485247433, 67.12161938764396, 67.09217813437597, 66.49817664737006, 66.22327782664176, 63.44032409696934, 63.31458749696546, 60.78929496913581, 59.93658715787426, 58.89481231255835, 58.76158920402015, 58.521248211095546, 57.7605291416122, 57.07149964573607, 56.08096700980392, 54.80815061959228, 54.79602677116404, 53.92514547844693, 52.73921464246811, 51.98442559640523, 51.5109075935263, 51.199938256069096, 50.22306666036414, 50.21968789091193, 53.52899653327758, 55.16607779528479, 55.11785584168756, 55.96719038628244, 55.6632241014264, 55.80713447945845, 54.7199443971934, 58.08336758478253, 62.31506925967856, 62.33676269725971, 62.75704767001245, 62.45658546551314, 57.835302689620285, 58.96512929232805, 61.576312210565135, 61.05687176453489, 60.945194002627055, 60.57870002711756, 59.95217320597979, 58.04965993798112, 55.70255308274422, 55.5080185922444, 55.03187865761036, 54.51149360496032, 54.38529292513423, 51.22185774346405, 50.30528536631977, 50.79418602209772, 50.680044326719575, 51.08735896848739, 51.359140153205736, 50.480673439464674, 48.587232254824144, 48.43574398832866, 49.57998301020476, 49.4473933527499, 49.30180731624132, 50.88751035472431, 48.1029099679343, 47.33005492771553, 46.745312755757865, 45.518630128040485, 44.99158665639589, 45.73112018394025, 45.18481141523629, 45.22864430253749, 44.38253376708555, 44.01765811780267, 44.07279574035171, 44.17690171125117, 43.79211643111296, 43.65104167577031, 44.45146335506147, 44.43610112193246, 44.55715682491876, 45.55474305497847, 45.813018946589374, 44.92561111125434, 45.05790356240274, 44.713102495876136, 43.77205806325864, 44.19140281676003, 44.99835423114819, 44.32080133068783, 43.94705672603487, 43.38583734399708, 42.33838037818752, 40.23835761469032, 38.5579301212796, 38.91562579014939, 39.15089169404287, 38.80270088890618, 38.55854524817084, 34.91773021249611, 33.977335699657644, 33.86989750772597, 34.17867175764669, 34.58745778800917, 34.692703278478064, 33.434249880874575, 33.129944359866165, 40.18568557055025, 40.3440555533769, 40.31627314022154, 40.81636072438679, 43.344182261671335, 43.26574825096008, 42.94712302550579, 43.10589181567071, 42.65727515258326, 42.56361101447245, 43.64673853089015, 43.60831650925926, 36.74594139822595, 36.35466397906098, 36.12442664602752, 35.50490852696282, 34.61175806061247, 33.98078019911298, 33.627853751945224, 33.6636996607532, 33.404171069172115, 33.18627884964221, 32.233677380952386, 31.76320345027302, 30.51326178371876, 31.373408827951334, 31.41525283714208, 31.44445458193277, 29.917809230003115, 29.77311509173669, 29.56155319942421, 30.001480441176472, 30.07709667001245, 30.20317085543106, 29.35091250973864, 29.502083129232087, 29.38804911756925, 29.899633994374447, 29.89466728431372, 29.96533655031773, 31.0926081984127, 30.955908546679936, 30.801441214985992, 31.328581697117645, 31.581777409663864, 31.666497198257083, 31.97563854933085, 32.01536576933162, 31.499125532679734, 32.058904751867416, 32.30434119510516, 32.61826179575164, 32.08345408807968, 32.69881242598624, 33.47885060441954, 33.83011828244236, 34.30533806165408, 34.96829868222844, 37.8778698899004, 44.00776208928638, 47.54432581364768, 48.206674949850864, 48.61900193946468, 49.096611941721136, 48.84552693510738, 48.96190360255213, 50.06136649206349, 50.43249902818888, 50.62764612542795, 50.24233803003423, 47.69145988359425, 42.18237245178831, 40.344625140678495, 40.26294506473702, 40.2882950628696, 40.207057946934334, 40.379795402272016, 40.562801360517824, 41.58493796560847, 43.64095238990884, 44.56807021817616, 45.70103295248381, 47.5173816171024, 48.10687664236062, 49.04613137543539, 51.654750531959365, 53.30830527762216, 55.546054082633056, 61.18005649338624, 62.7584626250389, 63.72759487902825, 65.3847399371304, 67.69513370290733, 68.17370709679426, 68.88032512362648, 70.50632713231862, 71.54288716503268, 72.35835348004657, 73.84628539379086, 72.97401774678195, 69.64490785280795, 69.57868140675187, 69.73803914737006, 69.36446452146272, 69.13031379808591, 69.94007410893246, 70.51865504520697, 70.95372820712728, 71.41883569917199, 70.3635786599751, 68.97170051400495, 69.16652709802041, 69.16370304393475, 68.67235559547218, 67.75959252668845, 67.3784691118114, 67.23576618301288, 65.974108099751, 64.74149079502102, 63.523730412620594, 62.73438760978836, 63.37033316098663, 63.55549498926237, 63.04952174813258, 62.966850610099605, 63.39840641095355, 63.40195310869903, 63.274703694307945, 63.61608587215997, 63.510639830368014, 70.56735264519142, 70.11519623845342, 71.24303737286026, 71.20584366386554, 70.87991624156133, 71.48525535467456, 71.50944550745345, 71.63808391508346, 72.9577001154994, 76.6950184730003, 77.49765901665111, 78.61044649712107, 72.77082543292872, 73.78331635037348, 75.04569680793787, 77.1833548278893, 77.92611978681478, 77.90279403665684, 78.37405046930373, 78.87191346326772, 77.4829821196143, 76.31711007486908, 77.7616584885621, 77.36598372313351, 76.92910456136788, 76.79191469265484, 80.05165547810739, 79.54455295284957, 81.52835604946137, 81.80950154930048, 82.12349311572777, 81.87121786699046, 82.46354708455388, 80.99478060783353, 80.0100244758972, 79.4118308977079, 79.75508048570558, 78.83185785729587, 75.17167701984127, 73.76876219098973, 72.07385804270785, 71.93890985597572, 71.24572088977449, 69.9180964746343, 69.68559602225334, 69.54688041728915, 69.15287649408653, 69.2975784869281, 69.00174497533457, 68.33470623646708, 66.69552575863678, 67.35650085001387, 67.22579253205727, 66.74527643118647, 66.49455280537921, 66.28820093921827, 64.49548827209773, 64.35928418444539, 64.24322444638966, 63.92674676401405, 64.0867797997977, 63.5926342682851, 63.89610976872536, 63.516260071255445, 62.80838689379085, 62.36201498699546, 61.85988834624961, 60.36804581450358, 59.46175170759415, 58.66871435836691, 57.2459156835512, 55.83268536659728, 54.41189736733582, 53.573763161686905, 51.92004493495175, 51.93172690756303, 52.00883986888746, 51.17013520221431, 51.08192311085564, 50.97301279427326, 50.75439924221911, 50.68502528123059, 50.359351982493, 50.530605882275125, 52.267686166564864, 52.91379588834423, 53.39022715658652, 53.30248051758481, 53.31661323187053, 53.73594855446624, 53.65194203609814, 53.81396892374727, 53.66769995533769, 54.71872579046064, 55.32913687433862, 55.15114034204793, 54.28222199992219, 54.004225354652974, 53.699505551120446, 54.036701436235646, 53.95738373046997, 54.13228854442889, 54.49846917929831, 54.95498898568316, 55.59574402583255, 55.73047002342048, 55.58867980182074, 55.77277874354186, 55.940783259726125, 55.579499291271134, 55.767228078509184, 55.107043076019295, 54.41984341052501, 54.09656650652236, 53.260812569644806, 52.27671234391534, 51.65014607734204, 51.44737144825708, 50.51653747836914, 49.5649507412076, 48.66651204730781, 47.31817345221332, 45.94433403906007, 47.09859806676004, 47.17925166534458, 46.61572674968876, 46.45445001136011, 45.67351417190645, 44.878689460059405, 44.38862658201059, 44.70945689721445, 44.57447450257818, 44.19047642063492, 43.54899820367194, 43.55430968036103, 42.32012249486462, 41.302522815131255, 40.60932015057644, 39.945392559757245, 39.08377047237784, 37.86306488927928, 38.015597614768126, 37.02252897385621, 36.40469845137205, 36.11344739316838, 35.60440766495487, 34.56320763881108, 35.20289151237032, 34.98108471825397, 34.86697415709618, 34.58476657944289, 34.29897941230937, 34.08917178703449, 34.0981182486805, 34.113024855431064, 34.32019557928728, 34.30298517755992, 34.48204000754228, 43.69632721132897, 44.27239323003294, 44.73308173595389, 45.49518748439477, 45.48847121949891, 45.12912333247744, 47.00480257321817, 49.01709030407718, 48.52680535582011, 47.93958080220977, 47.35360665810769, 46.91004020767196, 37.08252401735138, 36.10359643362901, 35.26632737162767, 34.108118236616875, 33.747079684640525, 33.523180201857045, 30.656630254123872, 29.102386129474016, 29.35392900538568, 29.473009347250755, 29.71588072315593, 29.55022291207075, 29.595245524509803, 30.576459663467425, 30.868070580143165, 31.26056426563959, 31.711007833255525, 31.588087190554, 32.400444973700594, 32.54012728680362, 32.67444559127123, 32.7618247954404, 32.922060172191095, 33.05958881131342, 33.016427363127654, 32.89143276618425, 32.87141360060691, 33.07717986585745, 42.83907746817616, 62.57485256426886, 81.48815392180205, 92.38536102591036, 92.132489823296, 91.98425443517093, 91.63682420541552, 91.09004792740429, 90.62204374151884, 91.54172227061936, 91.58365925124497, 91.45458626027076, 79.82757617701525, 59.46687047338935, 40.6272490463741, 32.39734070736072, 32.71173178034029, 32.94552453104575, 35.31084316798942, 36.071069506769376, 37.64046512674939, 37.94528832647708, 38.85180751478369, 38.94036098879552, 39.52838817063492, 40.18184303773732, 41.687195553843765, 42.80908273716153, 44.26251233839091, 45.06290772580143, 45.89880576068641, 47.235029337218585, 48.44963236413594, 49.789736083233485, 50.91102467685963, 53.20218786258948, 55.13706153026767, 56.37954824937299, 57.06987746763149, 57.7576366984127, 58.30867400443511, 59.10648643751946, 59.9912769535108, 59.453164676704006, 59.56092831357442, 60.42059959025832, 60.81603402810848, 60.57611805831782, 64.33488188313103, 65.77755080298786, 67.8244838496732, 69.36354621113965, 70.72074787169312, 71.02410866588858, 71.58993816023515, 72.37601892593631, 72.8072920122938, 73.7643456765484, 75.29796911258948, 75.82977578446933, 73.43197678026766, 72.71307858022098, 73.48145810831, 75.76026321132974, 75.98200703548933, 76.3125929233724, 76.32688854786709, 76.6842950835668, 76.61662242447488, 81.84223253770722, 81.25891152057397, 81.16740563273821, 81.5500991616643, 81.62492254686883, 79.07155278729903, 78.15793216639075, 77.44258208488952, 76.51262021537505, 75.63050221894582, 75.16923820017507, 74.35214345982472, 70.10043274416432, 69.93146603446935, 69.74153488973445, 68.47580856131341, 67.2332941591192, 65.03236254302833, 64.54128049349323, 64.71226279162777, 65.29979497991027, 73.55555322121072, 73.78282001610646, 73.72660973770489, 73.78567046646435, 74.28352279100528, 74.68334404684096, 75.50912891658886, 77.07326495790538, 78.50514094238446, 80.70462161719387, 81.44969226945223, 81.62554164314179, 74.82616929481793, 75.50038591036414, 75.02272838865547, 75.4029152840479, 77.51509174688763, 84.08400805446624, 84.04004626213819, 85.12582394117646, 85.52475729921218, 87.02106543230626, 87.6782769990034, 88.1260584063959, 88.82813775163399, 87.43156634757237, 89.20752749509805, 88.67973299903193, 85.49436241114223, 83.92721455376595, 87.43443378835981, 84.665612343881, 84.31665348249298, 83.15528304396203, 81.53679809461563, 80.09839892242452, 78.77317454076214, 83.80698082446311, 81.48537422673513, 81.09616004396204, 80.54811514648497, 74.96218343215062, 72.27071505018674, 73.01396140092464, 71.30781390883132, 70.04653290577342, 69.65564914284487, 69.00389085947714, 69.44806416051976, 68.39818977552132, 69.22673415048241, 68.58806820270648, 70.67371077388734, 70.32350324502023, 69.1777344143324, 67.05781307648616, 67.07856947993116, 66.54052120055148, 66.31352775496421, 66.54430299175226, 65.25676363842203, 58.92048996794273, 58.69674197432306, 58.96207901276066, 55.632147232593525, 54.86834559796141, 53.91901992563221, 53.31000123708372, 52.53896756170246, 52.55266436425203, 51.4676478724712, 50.20343242125739, 49.67834399019608, 49.15726224542613, 49.171413323218175, 48.25210636509516, 47.61238880994232, 47.24074364472456, 47.14975877124183, 50.87812300972612, 50.47045805112045, 49.74365960488641, 49.65153770401494, 50.619992771864304, 52.37834985418612, 53.73905993417368, 52.85376394335511, 53.35338693528246, 53.284357925529136, 53.24655693783068, 53.23145559072518, 54.16381988040772, 53.41378657835355, 53.8314800209306, 53.57993240957504, 51.860766597576905, 50.15638582383221, 48.84850665351696, 48.632731892234666, 47.719196036181145, 47.29552666923437, 46.94206190888578, 45.51598838671024, 41.053668696449314, 40.2816234624961, 40.6864966018486, 40.68208858877996, 40.67106291677852, 39.50401609726113, 39.284057957905375, 38.592925800186734, 39.331868638026506, 39.64759732878994, 39.62439131325864, 39.08354640904075, 38.78163745898238, 38.7629023610333, 38.476646279878615, 38.19970642774536, 38.17227402950777, 38.05135186640212, 37.69489818962029, 37.9624303483738, 37.15832933935448, 36.800082475642576, 36.80158806893869, 36.802075802632174, 36.630192034080295, 36.714713947323375, 36.795476788284006, 36.48368200645814, 35.83013894086523, 35.63024952299513, 35.190684628974736, 34.47644525560095, 35.118638847338936, 34.7605430996732, 34.27451544876219, 33.90966086192358, 33.339202516651106, 32.99314925622471, 32.41687564900405, 32.31106795584052, 32.252991410052914, 32.04388120714676, 31.6413241601782, 31.60432938010167, 31.347516627908757, 31.297613710524956, 31.29989608356676, 31.369482360122294, 30.656580565203857, 30.739844918222843, 31.06714853703704, 30.83780001377217, 30.75597241248853, 30.81087672868037, 30.82548640346469, 37.68167406421311, 38.12597637472767, 38.31940779244606, 38.13106787139097, 38.0782270478564, 37.932033403362, 38.03221304295052, 38.11772274027389, 38.13435398934018, 38.30290492253152, 38.37307297673514, 38.5272135444477, 31.578577205648926, 30.829017391767813, 30.62333692693744, 30.76841183582322, 31.06584196529723, 30.835846091503267, 30.857748285014008, 30.95112139869281, 30.87103960725957, 30.72887617514784, 30.46861694063181, 30.02713447097728, 30.342036755171076, 30.247136381801152, 30.3000034545596, 30.14506578400249, 29.929387211092312, 29.7142906521164, 30.0419026262015, 30.02329684223965, 29.99877506279178, 29.952001531668223, 29.80751504894181, 29.506342579127114, 29.488717093292877, 29.91265276011516, 29.678840858193286, 29.62980248490508, 29.718485614612515, 29.021141731170243, 29.136282266573293, 29.70801178890321, 30.057535691332088, 30.12454101198257, 30.33565954296421, 29.971613449371908, 29.4774510603019, 30.306952881355688, 30.59539811522008, 30.60242665756303, 30.488740358665968, 30.614884149315284, 30.618770380162616, 30.684188330765643, 30.662102346171807, 30.79607297821351, 34.51639080710201, 34.874584172386925, 35.57979989538791, 34.892509717787114, 34.81473845666044, 34.437787375194524, 34.676398550108935, 34.28037234713923, 33.76501452505447, 34.61139853166823, 34.65277328003424, 34.95571756629318, 32.563855454948644, 32.45926043723937, 33.08851401867413, 33.3320376704015, 33.66176699618736, 34.75622340017119, 34.865959173669474, 35.46112098187053, 36.30077147595705, 36.03538742551031, 36.66370442040149, 37.0840946846723, 39.15880818588546, 40.07447106319125, 41.83797342500167, 43.11862312080255, 44.24289482671958, 45.19037650703069, 50.18179731006847, 51.86146737519452, 54.52790145543432, 57.13612704003593, 58.93112753482015, 58.98127006255835, 60.46658995977281, 61.38799491616805, 61.723013609243694, 63.67158636507937, 65.43809695121381, 67.55233697860255, 66.27117750995954, 66.72616701369436, 67.17394090172736, 68.4070486056645, 69.78902298716153, 71.23692100497978, 72.68281801711797, 76.49319790896361, 77.94209411741363, 78.79735486842517], [610.7884571692342, 609.7424511167911, 605.8655525399938, 608.0092749588372, 609.0772483694367, 606.1146848011205, 600.7822098355119, 597.3254805673824, 591.2206431577063, 591.8660561479147, 597.2210966446468, 601.3921633695144, 605.0534603729379, 606.80731367507, 609.9359710570922, 612.5800614809369, 613.9920440609243, 615.0616087291343, 618.8303244605509, 623.7929701063648, 624.25698067507, 623.5770845203081, 619.9865138677537, 613.4815022662619, 607.7297654366636, 605.8675263496663, 600.5057726124339, 595.9133444672426, 595.1440874011184, 593.417720259968, 590.2730201552937, 585.7909841462671, 583.1513102531895, 589.8857492645502, 597.0106512974434, 600.603524757971, 605.336983401572, 605.9607827129628, 607.5450328791629, 607.9861387523441, 606.9190402430712, 606.4485444033614, 605.043614838391, 605.5733136019168, 600.8049517544338, 591.2881606265951, 583.1314031059758, 578.3989656993464, 572.5558613065671, 571.5097916384221, 571.1193238648459, 571.2404140335332, 568.447274109769, 573.8225105508093, 574.2849098245409, 572.639237017896, 574.1111749426075, 578.5105149276377, 582.516308056787, 601.7038768502068, 632.7404513049331, 633.0795309426549, 634.4675528064115, 633.5287905746188, 636.1472855852786, 627.182236033815, 624.2966260091038, 623.3963198333211, 620.4719431945981, 626.2328769424163, 619.8946595617023, 597.4861695051354, 572.5938808136477, 568.8184054495799, 560.9383741266593, 554.9401783034216, 546.0682049948647, 543.083541714204, 539.6211253569095, 535.2311164767326, 545.512821416511, 544.622152390912, 543.3876912880374, 539.6047486935885, 531.3494428093682, 533.8067621283069, 535.7127226885309, 535.9134400677716, 535.1635313178494, 531.9944049901183, 531.8445704894181, 528.7715171814505, 499.63564359998446, 487.7729155865235, 479.2565645006225, 469.4149280344693, 458.1090872012916, 443.5907904829528, 428.2248208285091, 419.3046793590103, 409.94995792195766, 402.749999017896, 393.4670754373638, 386.85752221280734, 382.454178908876, 380.8267423690476, 378.6762745835668, 378.2247239779023, 378.0897924772019, 372.5076207089947, 379.45330513071895, 380.6834053702148, 381.0433837513494, 382.5175902172425, 382.47245547341976, 382.8995722368503, 380.6085345298008, 379.80513471304073, 379.5975893029101, 378.2723072852474, 378.2653786852474, 384.4410548393247, 374.1737220391378, 370.802837548086, 367.6015480743853, 363.6358199195456, 360.31963688951134, 356.9743760812326, 352.93435673653903, 361.5243768412698, 360.313036239418, 359.37650319607843, 357.3646170723623, 356.53268203571434, 359.1582654919079, 361.3382182847028, 360.98307127668846, 360.0984646647992, 358.8813718404918, 357.47520949276384, 353.35194240203856, 348.9409038089694, 345.3684230606131, 341.86089675412387, 337.7561388650015, 334.16212003283533, 329.5541079281752, 325.5882206081544, 324.4510838165266, 323.2389333667912, 322.3341118867103, 321.56985339044513, 320.50336999268467, 323.0319463674136, 325.0282947401183, 327.1055897697537, 328.8027689396884, 331.8860202998658, 335.28637450160164, 338.27894942896046, 337.3799444779022, 344.5013358368348, 344.9355223133364, 344.1427068510738, 339.8619084481014, 340.8269716483037, 337.4100033894336, 333.2325631826953, 331.5577099683318, 326.7823183952692, 322.79098579434395, 319.228935051743, 317.4999511855742, 311.01005476688454, 309.86984548918133, 311.3440836817537, 309.6243368330992, 316.4910157994864, 319.83976820206976, 321.2242891094771, 324.6407428292095, 327.85527639153435, 327.952028094071, 327.8075530956272, 327.7545941349984, 327.2248476773265, 326.0245980649704, 325.39068358915284, 321.933235881178, 311.55219045883064, 306.9439815654288, 302.4279634068627, 296.71364008527854, 293.06757295440394, 289.777837605042, 288.4931580876907, 286.99940750770315, 285.70939646125123, 284.2479291049642, 282.76807781637103, 282.73365537075745, 306.61220389293504, 326.16036947704646, 347.25380722043275, 367.8783780698724, 386.67311315305017, 406.011779711718, 422.30291113639896, 438.4663942147525, 455.1582411241053, 459.52115373599446, 457.3017239446779, 452.9697221487706, 429.871422106676, 407.7974217781668, 383.7849582757547, 360.7982675467632, 337.222565186897, 314.76050879676313, 294.5381156483777, 274.54517704116085, 254.063636699572, 248.03815432072048, 246.9292104440476, 245.0084581174136, 271.7705853271086, 293.4028206587301, 312.35462230975725, 335.3012393359788, 358.23485572292253, 377.3856147937286, 397.06403284064737, 415.78840097720206, 435.200355702381, 445.3211823259416, 444.991153174292, 441.80639013445375, 414.4861561910208, 392.9002209257703, 374.6086420167899, 352.46457458053214, 331.0050506591192, 312.4240794548709, 296.1139484103641, 278.8396303060224, 261.3205890912698, 254.46345339145657, 256.2848933104575, 258.29128442561466, 285.29275131108, 289.2489638718144, 292.03791496948145, 295.4450744726113, 299.1650833187681, 300.3624681996394, 304.916561309446, 304.1220784460525, 303.4027187481326, 302.8658007072829, 303.03850291254275, 297.5488494989106, 278.00058581901646, 275.49215876392776, 276.69492153618114, 276.0742531182695, 274.9383606777934, 272.3751756511049, 278.17709631434803, 280.4396236202926, 281.6606905897915, 282.8993145949269, 284.7438414772798, 286.6984940266016, 298.78519039114536, 305.3496826845627, 308.58334565133833, 312.05883350155614, 314.67911823412703, 315.3471692124183, 307.4245640631809, 306.8352331325085, 308.4165899381419, 309.49740603338, 309.6315502892157, 305.16861680568854, 295.4592883456271, 291.5520076105516, 287.68813856528163, 284.5591741736695, 283.4086673120915, 284.27138993471834, 285.0309779350296, 285.6658457199658, 285.40146873397134, 285.8351150112824, 285.6007915427171, 286.2743585493172, 288.955823776066, 292.0769798870993, 295.0438840446624, 297.4020203748055, 299.36039549821044, 301.8028604742452, 304.3535935168068, 305.82725820782764, 306.8332720365702, 308.43728931434794, 309.77679975957057, 309.2397418018985, 311.22715696265175, 309.85710649245254, 307.3078179793028, 307.1577880624028, 304.37029602855586, 303.61816614737006, 303.14313112083727, 304.8624450112052, 307.3806016240273, 308.5010122545045, 308.6901704839714, 309.40029920363304, 317.52384239153434, 319.447357734127, 322.0970665651261, 323.0189555890134, 324.5036611587898, 331.6684333126362, 329.7508686225582, 327.3195427343604, 323.8505140534548, 321.4242687636166, 320.8733221813726, 318.512651161056, 308.7967903810302, 306.5638239400094, 303.5841500848117, 301.5120780019258, 299.53798373334894, 291.3715538996265, 292.4723018878599, 293.293342298475, 301.82100437317155, 302.2777697987084, 302.41040341153126, 305.27893598568323, 307.73905823544, 311.3457674216464, 313.7859264361838, 316.6753307436975, 319.59398065413944, 321.7877745295583, 322.6526090312792, 322.1419452110956, 314.81947368269533, 315.43048467001245, 316.1563281104887, 313.44885486811, 312.5044645156817, 308.8833604453782, 306.50005522121063, 304.2057310874572, 302.25459348436044, 301.1176120155618, 303.04019008169934, 305.13035694895734, 305.9899585302677, 305.8809184742408, 306.7702870674558, 327.300526493464, 341.81769722587933, 345.34706266643326, 348.0042451486929, 352.062235423047, 354.8847846851852, 353.1037822379325, 351.2415349410915, 348.5310774778174, 347.8423563867841, 350.40944548615005, 348.97337153680354, 322.5223094991408, 311.82813465919696, 308.5685123975711, 306.0945936237939, 302.6823104579832, 299.4399164601327, 299.61091008806727, 301.54839282306256, 302.6256170311236, 303.05621244514214, 300.56448737223786, 301.26785697222226, 303.0889574966542, 306.3607074277933, 310.06169749338625, 312.4375627413632, 312.8829402422969, 313.7537925309679, 314.119015954262, 313.73125836640213, 314.00045372891384, 313.99194476398947, 314.4802347727202, 314.5941845004669, 314.0875855012449, 314.985026150638, 315.18629544779026, 313.49538687729535, 311.99809671661995, 310.61546701392774, 308.39125129123875, 307.46499624112977, 306.8547838485839, 306.10057059173096, 305.59257146187366, 303.8454096593526, 302.3772423653906, 308.03158486476485, 307.5556470496421, 308.2770620000778, 311.75398500108224, 313.92093703884035, 317.8957876584189, 320.34459377824464, 322.7166841117336, 322.029110335123, 320.62115432259566, 321.287849735372, 317.8431081264356, 314.7789076083878, 310.26553870020234, 306.72050350326793, 302.22653654050544, 299.0422681503267, 294.53839703625306, 292.1361109054622, 289.22288686803614, 289.1047642152972, 288.985008412465, 288.407873339169, 288.6693532780112, 290.39712179201683, 295.4832713257081, 299.6572495791148, 303.7390674901876, 306.37879589977376, 309.1757535291005, 310.5236128314659, 309.5091420495345, 315.76722482759106, 314.21348748908457, 312.84452829346026, 308.0826750777311, 316.20057573397133, 310.1765760233427, 303.69655204318195, 300.3902230108154, 295.2465265192188, 289.2603343976813, 285.355085587312, 282.8299209107532, 274.90769738141927, 273.5034952100374, 273.2511278963586, 269.90350865024897, 268.1069555692499, 270.12756182041704, 270.3533624119981, 271.59961108885784, 273.0059838717709, 272.2801582970744, 271.602173931606, 270.23320013040774, 269.1087530322907, 267.83348721148457, 266.1363417368503, 262.4186620609244, 253.3742601172496, 249.7479664448251, 246.1944387151332, 242.6816057962185, 241.20553000140055, 242.03470272370063, 242.0133261467476, 241.94642401672888, 242.79236025357923, 242.8511678292095, 243.06148040919703, 244.84242422440087, 268.7765020318213, 289.497076321509, 309.44836622805786, 329.60344988095244, 348.2505174734672, 364.8348343151261, 381.346015071662, 399.72115887877374, 416.42115390087145, 422.40500586157793, 421.9278408622005, 417.4536683198724, 394.6166162457205, 372.0480714458722, 349.9477019498911, 328.6321347321818, 307.6406659943977, 288.601506654295, 269.6464642421413, 249.08495621646435, 229.914637120915, 223.0566910538438, 221.894835405376, 220.84644071926547, 249.63945125031125, 271.60000579396205, 293.6898633265143, 314.60247358309994, 334.2527379333956, 352.1943738073452, 369.9531439800032, 387.9568409042173, 406.4126281771709, 416.2216597126517, 415.89301415647367, 412.9827741425459, 384.6921905002334, 362.9227059643635, 341.27266603190554, 321.98973769265484, 303.7806967492997, 285.6961914287722, 271.07000400568006, 253.3149659644413, 235.49867578127916, 228.4517166164021, 229.932855922658, 231.67017340445068, 260.2673046286181, 264.283157100996, 266.99354200357146, 270.4365311738173, 272.3742862530268, 272.0162338308882, 278.39178316044195, 278.2317409814815, 278.2187559661531, 278.49678539900407, 279.86448908551205, 275.20164815981946, 255.4888346549953, 253.74773505298785, 254.71470607819796, 252.518122460394, 251.6514305344693, 250.6075932937286, 253.0124241178805, 255.0491886921102, 257.1558439185341, 257.80572992942734, 259.2203087605042, 260.9417057335032, 274.14802278159044, 278.5368576480704, 282.55551925381263, 287.26170702910053, 289.4738477698413, 292.3767039472455, 291.2342573678805, 293.3878244309835, 293.98972279505136, 295.9640824060847, 295.1842439315283, 289.4216949895736, 278.07929524120755, 274.47086615118275, 269.2580239019608, 264.9522605671491, 263.14006812184874, 258.5149933888765, 253.68161406380327, 251.0106195588236, 249.34561846086217, 247.76695207430757, 247.1175562378618, 248.43425061974787, 251.2512895044351, 254.7331077205104, 256.63088296615314, 260.27899292696344, 264.2870869136321, 267.981060958061, 269.152704158808, 269.7498353134142, 270.4829768980704, 271.2343698977591, 272.6159676968565, 272.2956132773887, 273.7062381640989, 272.67727907150635, 270.9090410707283, 269.13138336802507, 266.1044506161687, 265.5093477996421, 266.9714366386555, 268.48357976820733, 269.1590165064581, 269.63981316122005, 269.99076319802367, 271.7382399953315, 280.1676534901183, 281.447525961329, 282.8312601611422, 284.9556750010893, 286.876741465316, 289.2491226135232, 291.2796755029568, 291.35721670284784, 290.8466290810769, 289.9223498828198, 290.1995704685568, 285.9843205666044, 275.855916461718, 273.6961751708684, 272.56216365966384, 271.5221125358699, 269.41844376556185, 267.7481065788204, 266.24757211367813, 266.0413243053221, 274.2725640424837, 276.14868167164644, 275.44019555368817, 278.87309817242453, 284.2678452782447, 292.7970965695612, 299.71336815639586, 305.71829328944915, 312.286496279723, 315.4733429758793, 318.0651931111111, 320.13079754092746, 316.35703728018984, 318.4869639199269, 321.137285865624, 321.39726114767353, 318.9605204122315, 313.94553928400256, 308.75669922447867, 302.7961334656863, 297.1257236732804, 293.07581549437697, 294.4646997726424, 296.7297365641145, 295.6169659969654, 296.3320042302366, 297.99948661134454, 317.5038027461873, 333.3387065088702, 337.76485273529414, 341.94917292615946, 346.08844769981323, 349.4509526944444, 352.2359612002723, 349.87761222198884, 346.68664990802205, 346.1471540477746, 347.0791859798475, 345.38828338569874, 319.9924705652817, 307.5695882934173, 301.35001143876445, 297.72954641565514, 293.7729533167588, 291.11847889005605, 288.95835326285044, 297.4927791335979, 296.75323237566136, 294.2885438092126, 290.16815406310303, 287.9689212292873, 287.1760394947641, 287.95176024151885, 289.12831502956743, 289.4899235121298, 290.9778238804077, 291.3066437379396, 289.93113684495603, 282.081638740196, 281.6681193417367, 282.0200950740028, 282.46792496654217, 284.7942662020827, 283.82568028430984, 283.9357310055017, 281.18757815149394, 277.5132414311391, 274.9166747546686, 273.7620845776533, 271.46134343526296, 271.61982336802765, 272.6485167155288, 273.3778655762527, 273.26319218479614, 271.5315503020542, 271.97181453275755, 281.67811306846795, 284.8675633558201, 288.90618849828826, 291.4571296791939, 293.8239097864146, 296.4008933242297, 296.73290599638835, 295.2853036434796, 294.84733914596944, 294.5207972187208, 295.0345882914722, 291.008176770775, 288.056468877451, 284.48781188849983, 280.6031475326797, 276.9573429000933, 274.6001148247743, 271.70327648739493, 269.9102938237628, 269.5603032299253, 268.15047053695923, 267.6855297159975, 265.96941227785567, 264.91288444825705, 266.973916503268, 270.4762651310211, 273.0784365694339, 274.62240550450383, 275.9537549864522, 275.9409588159041, 276.14807781652667, 275.372537786648, 282.72538150894803, 281.4751766585745, 280.6398866918768, 275.73965887278246, 279.02958827349823, 274.1239905734516, 270.59417620546094, 269.44249611925744, 268.5272505672269, 267.8081869492686, 267.6349581028634, 266.7434081584189, 260.2904459400872, 260.61105872782446, 262.38701455967947, 260.76041107998753, 278.9689985603797, 282.49733052139743, 284.2176063403361, 285.248681427322, 287.73740674097417, 287.3890915828652, 285.7321868962807, 284.43261819351073, 283.3241525521319, 281.27397215717394, 279.09207705446624, 272.0645382607266, 248.8639904180672, 244.75898119724556, 243.56958849797692, 242.07947321101773, 239.76498218899783, 241.45541595985063, 244.48934024556488, 247.64762993176168, 250.670920870526, 253.51094685947717, 254.76893868347335, 257.8643547728758, 282.3310284684874, 300.78676408434484, 317.3894056559291, 334.13061844708994, 351.6683920987395, 366.7339884231248, 383.28550807617495, 400.4893692452537, 417.379915121771, 425.7887525312792, 422.9476521881264, 419.2184044472455, 399.2701871631652, 378.45157174945535, 358.93716280205416, 337.86758180298784, 318.11701927342045, 298.4601452930283, 277.7790117793339, 256.920116565126, 236.64140961375665, 226.8484617648544, 227.9020210825462, 225.66041590756305, 255.59863078492648, 275.25656305936826, 293.45121619709, 312.28921099618736, 330.54305663040776, 349.6593036771709, 369.0300591373328, 386.8947648870214, 404.9420950108933, 416.8948470247432, 420.6390733758949, 422.8180487400515, 401.3356007473545, 387.8749827396514, 375.4427474136321, 362.0815490349362, 350.57538358247746, 337.1374562801075, 325.58200049361966, 309.2524888405696, 311.45213681356984, 308.7429882757547, 317.2678818390912, 314.0806026290071, 338.62222822222225, 350.4956039180536, 358.45968778406666, 360.4180616902428, 362.84766329114535, 383.09345670900575, 414.48073631629313, 420.23967515554193, 405.2014385895509, 406.312171802132, 407.506074703159, 414.3221677877373, 423.6949187244788, 427.26725360675374, 435.0697698134921, 444.5499909441332, 455.586328459306, 446.5169525192784, 440.4835386239496, 456.0918139268824, 472.9452448370682, 488.1034143666356, 500.7070295561002, 506.7375397412854, 521.1062859445748, 529.7976122928727, 539.7573583822751, 553.2508238768286, 563.8007883168378, 573.654478624572, 575.4734834186119, 584.1757683174604, 592.9546086591192, 600.0629135218209, 608.6718165764083, 616.0112323409586, 617.9506202880485, 622.2101494835823, 624.7776068899738, 626.4880140729848, 629.3586591310302, 635.2402942647514, 639.6975406176472, 638.2174135541551, 639.5406441572952, 642.0041899641301, 643.9301824169772, 640.1641751833955, 634.5130158593936, 633.9938168838235, 632.1097933383741, 632.6019232691409, 632.4017974162776, 626.6646404126984, 628.7440781880454, 630.4462662215219, 627.3733991062855, 623.3302613302988, 622.1321760592126, 620.0958905843448, 623.6589046577892, 627.2451411517396, 629.8703420243543, 631.681861978369, 634.7305628735451, 636.567977886477, 635.5371056701679, 635.7683858321003, 638.0858249863056, 639.256970493464, 639.4369481894648, 633.9032629384532, 635.5105634174447, 637.5035922367724, 635.1577795325773, 630.1281152364611, 623.9594306365507, 619.1072528302988, 612.5912647301587, 613.6996600083255, 608.6142839828821, 602.9148172783224, 603.3364993650795, 608.8463176032576, 613.2804038393247, 612.9878064415655, 621.2005632173416, 629.5819356960005, 637.128628173038, 640.7686869977435, 646.9437432077808, 647.2257105673702, 656.632230886399, 660.0064958254338, 661.6180019456058, 656.4095030922949, 653.1135953478395, 650.0501233399829, 641.9032485172735, 643.9977305779645, 639.8926844544519, 639.8816351915655, 637.285692397837, 636.9755579778246, 631.8606390916589, 632.0024109285715, 632.0130736854186, 631.9974140232648, 631.4335104338625, 632.2261149347962, 636.4094268147369, 632.4766062296011, 637.1606619843604, 637.9262629998326, 642.3713166846386, 640.7020897015251, 640.3220642387176, 640.5614088178856, 638.0238581617647, 652.7508385608077, 653.2514480647369, 650.9740427467319, 649.2698882496525, 643.1062365855897, 639.4549973080454, 632.7195177801632, 624.8706535933707, 623.7305155457517, 617.5334456847183, 616.8243489316839, 615.8026416242608, 588.6191062677404, 584.4968785228759, 576.8143586283821, 569.8595296788826, 563.082586168534, 555.2887295425614, 544.3629461778444, 535.8857627738658, 525.3159204340959, 516.2512095287115, 502.8717561793685, 489.5407581018382, 477.1001594245254, 466.5797202034703, 456.6643857139596, 444.83549619319945, 434.2561027507781, 426.4988734824152, 423.401257698652, 419.9712923782656, 416.48305589347257, 412.8290258166823, 408.5159070224499, 408.44188235620913, 409.6544355468941, 410.6745402485138, 411.6695913699814, 410.7425276476036, 409.5584244901183, 410.54051478369126, 407.0201293294805, 404.54269520494864, 402.7896081617648, 401.0670630650483, 398.562864023654, 393.0587638492064, 384.6276994930751, 390.5977207333489, 385.839326401105, 383.3396846325558, 379.773573940943, 376.9573051970121, 376.8679039929973, 377.29463522175536, 376.45446859593847, 375.6179756008404, 375.0561377501557, 385.1273846760037, 385.012172460925, 383.818609485372, 383.4348933840647, 382.5098975011671, 381.7097554624961, 381.0966169760349, 379.3267946095602, 377.87145251237166, 376.27392278594766, 375.6144587058823, 374.8022647315593, 364.0685853671024, 357.0490049753345, 352.3180165790538, 350.0180591303221, 347.42022116401336, 342.2468195273809, 339.3684968875266, 335.4346246641768, 331.945894012216, 328.73608892467973, 333.3642144212247, 329.06897019195446, 329.2429905716341, 329.34465201112664, 341.21323121039524, 343.4371435332244, 344.9286685299564, 349.7520852699191, 351.7956597404295, 351.01997689635857, 350.13832185496426, 349.1432506904761, 342.2843851031642, 340.54346010426394, 337.36999751131043, 328.5699022672963, 322.95114511375664, 317.7194498043106, 311.72419040880794, 306.767260454404, 304.1913237842359, 303.7377458990041, 301.516817138033, 300.107704375817, 297.3844257274355, 295.8709217751322, 300.3159511650677, 303.4588031345238, 299.1438908650716, 301.45660609009497, 302.1752722903828, 303.4967312957516, 303.8049458438375, 306.2960197904606, 308.8274925812325, 309.4007018402584, 312.5709769573608, 312.3311746778711, 308.6989812716308, 304.82821908543417, 324.3039040189854, 341.38663929614063, 358.7283989190009, 376.73494145401503, 395.0562463647681, 411.2550344875506, 430.3240137848584, 450.3030180937598, 467.70964267732654, 479.61625292047927, 480.6735686730471, 481.1998441636322, 464.9011131875194, 446.6886112280578, 429.1034389136321, 409.66444017063486, 393.50827186453466, 376.08734752497656, 356.58236764690315, 337.1991144535481, 315.7854341419234, 303.73090786741363, 298.7233219989107, 292.8874999992887, 317.19758931979453, 332.3953615829443, 347.98607880695613, 363.5908653334889, 378.863462990117, 394.1487899182229, 410.9196805603797, 428.8062627967861, 447.482312701992, 459.6224875182852, 460.4722712544352, 459.63964646949887, 436.7163001998132, 421.36856687535015, 406.7668476020853, 390.7160259751011, 376.6400925804544, 360.1984996607532, 345.18010074735446, 326.82849676854386, 310.5684581118892, 307.01152208022097, 313.4809605542328, 317.80235954092745, 350.2436915763306, 358.4769281341425, 362.0975668961621, 366.8025591919448, 371.7263774898725, 376.5730550099433, 384.3135883572207, 387.383544558002, 391.1876088315437, 391.7598519883287, 395.2030822713974, 394.3486751886088, 376.6427793834876, 382.7412900050576, 398.2129610330688, 412.98105050023344, 426.1682254253034, 440.6690123653128, 461.6081841861189, 481.6947856729692, 503.0114223225957, 523.6259432794118, 541.6103723126362, 558.8345149279346, 580.4603029867725, 599.3248890021625, 614.951539647754, 627.2891181946001, 639.0066691940553, 646.1820348474945, 646.5521242645502, 654.3500095813882, 659.0243263011206, 662.2400985325241, 669.5475300689386, 677.1836678352785, 679.6532046391222, 680.0460356651882, 676.6182063515861, 678.5640558460361, 681.4123928541082, 683.9769699326189, 689.4832062011627, 689.8299281297127, 688.795701726424, 693.5286711260505, 694.9894687843139, 692.2073471097104, 694.4954505143169, 699.9652675686928, 703.63511900568, 705.3557325205414, 707.2299565992842, 709.0016734805479, 713.2589381225488, 718.259562640834, 723.7677793177717, 724.7642179317614, 723.904253509026, 725.5522784236477, 722.9189735368036, 720.4576913308434, 717.2211503830531, 718.3816232897603, 722.8405644759271, 731.1774532478557, 738.3064926772312, 751.3211125653594, 772.1466907262683, 796.9120676049642, 829.8960395136165, 870.20109499922, 932.7990779138656, 991.1795743555324, 1054.4106495251324, 1102.7141278877996, 1148.3218161032523, 1186.7407974680204, 1224.7567442482105, 1251.967891370059, 1254.405177750545, 1230.6038775386198, 1201.7370782795674, 1157.8689583520022, 1098.5859679646749, 1040.498900589247, 979.0652810519764, 926.869881871068, 882.5373674026611, 834.9143735921718, 786.0372493441263, 744.939673909664, 730.6247861540617, 729.6676285246655, 727.0651347955961, 728.0882037381731, 728.443953476261, 727.9664022570806, 724.4212006930438, 730.6544622664903, 722.0419812890601, 724.0593370272331, 720.9366361769374, 716.6828966900873, 710.6500607698309, 706.8208410922038, 702.8101897515561, 697.7183233072673, 696.8602384894958, 694.2414420413166, 695.2868414998942, 687.1974677352941, 690.3299352436197, 689.4123441439627, 691.8661609419546, 690.7375382397611, 689.9215825535241, 693.2011361794274, 695.5312585189077, 714.4264197838974, 725.6633704403205, 725.6403907694522, 721.9441406875214, 722.834035036181, 726.3397557086834, 727.3556372384842, 724.1093574282603, 722.3969142246345, 716.1677732304621, 710.1195926938636, 702.092474602938, 669.672835400171, 653.0551678064627, 641.6421314115313, 628.9272574269374, 612.2421796523498, 590.8647769214857, 573.4998146733562, 566.9744055501867, 553.154538702377, 542.1257480175848, 529.85502804474, 520.4704825114379, 511.9283137177034, 504.1341920785091, 498.14732857189546, 493.7056626510271, 488.97452648957096, 483.5077997175337, 478.895699285261, 470.2231034522254, 466.6055629450668, 462.1985027820572, 458.468138864846, 451.9520772216776, 443.7646371549175, 439.22528876027405, 435.6331124076196, 431.6260608742608, 428.8120760847339, 428.2605545150988, 424.2555280045129, 423.2560750029567, 423.3588577291473, 422.58735708224407, 422.7574034386089, 425.3689881086115, 424.06378648428256, 433.7639091500156, 434.8967734304389, 434.9310724470121, 435.8807549631185, 435.68874366421903, 434.44186809772793, 432.54567259916223, 431.0677371965446, 430.0697764344072, 425.7557534635076, 424.06644607788667, 423.2422124824152, 421.8198895978836, 417.970688930364, 413.71108638834414, 408.72222097268906, 405.04767403579217, 399.71788043372953, 395.0862811671316, 390.3833680043573, 386.8692338611889, 386.1671244198568, 383.7536299412543, 381.8418555460371, 380.9116842952847, 383.5426870891528, 387.2080790914851, 389.0210330595076, 392.1202819474012, 393.3218321005292, 393.0668946487706, 391.63223073873286, 398.6877112061035, 396.7832473847242, 390.5230912213664, 380.210887540305, 386.93912116836754, 380.4969384376506, 374.04037825365697, 365.35237588873326, 360.68784604419545, 355.0055625359477, 349.477344310302, 344.54757553338, 332.2574539158056, 326.00401724641887, 324.5608112705415, 317.6692866933447, 312.70149173652675, 312.777647838805, 309.9666527364612, 309.8153870256774, 309.5398032355276, 308.5376604347962, 310.1289326210245, 311.6671653027545, 314.00214381676005, 314.63555573586046, 314.8324688407508, 314.68746021545286, 308.35110772230007, 305.3486142631498, 305.3082072315528, 303.2810216258948, 303.5255257336524, 306.22249418892, 306.7738192267351, 308.4479510405385, 304.6174218415172, 304.43919244023493, 304.31532384624967, 305.0458335161065, 326.5765831877529, 346.2623186756147, 362.7017829152661, 377.47566177009816, 391.3265822564959, 404.7729330802988, 418.9674573351229, 431.7356096973987, 448.6740021685342, 451.9381501495487, 447.90814744709, 442.9786799375084, 420.5796173649237, 397.8525700682306, 376.060936576564, 357.9752690584841, 341.4194530054466, 322.54659130928906, 303.48651944670087, 284.19925569444445, 266.65078660449734, 264.2377441160909, 267.9367611166356, 269.88544054341736, 302.6245977055711, 326.7890258826642, 350.2075252609711, 372.44501420305534, 394.4166951619204, 415.90417012457215, 436.5320417171647, 457.2115261773437, 477.7318576034858, 483.5987292000236, 480.2240747788671, 476.6954481970899, 445.37691837830687, 423.5550890014005, 403.5512033548085, 381.4844898291317, 362.6720138278867, 342.90363046031746, 328.193873589169, 309.7070591102552, 296.0375125767591, 295.9836800381257, 305.01260387815137, 309.9345448301432, 343.6948683181606, 359.8261162509337, 366.3707613590103, 372.234828526266, 377.0658115462029, 381.5060948403219, 388.15649268215066, 393.6313557139745, 396.2800860377637, 400.09582930874245, 402.2901160001557, 400.7998743891223, 390.89360117973854, 388.7364969366636, 402.39768522572354, 416.5225761377996, 431.1651273535637, 446.4010857909275, 463.1515731861968, 480.719130341507, 494.1875331769373, 511.6737275226288, 527.8195983968254, 543.3262378866325, 573.0010688768964, 593.6077958868643, 604.0904459596949, 615.4347367022019, 626.5448967394959, 635.2993434873385, 638.9366375461408, 647.1040351454249, 654.6597901417658, 664.3282998195612, 671.1844528618291, 674.4996883584122, 670.4731782917834, 669.3840820448179, 673.031529527737, 676.4960056846728, 679.5847858481949, 686.116039370491, 689.2024350611196, 692.3170168029102, 699.0200984614997, 694.7127854167376, 706.1378369382977, 702.3196160140691, 704.2805344384533, 701.8805630958718, 707.6011191990353, 707.0166844621849, 709.7473373526163, 705.8116529628851, 704.6670675554, 705.4842444884843, 707.4040197802676, 698.6631190337492, 695.6490402121848, 684.7648574574722, 685.1233559747061, 680.9191885926678, 673.4122406392779, 671.2432531098749, 673.8116692057268, 675.7590512914721, 673.0155978438376, 668.4037247026922, 664.2171707579366, 670.6087955401135, 673.673187740274, 678.7890816610645, 684.6107119724713, 684.3954326493146, 695.2236322276682, 694.6735543622004, 698.5157026914807, 698.207329103019, 705.2001857294513, 705.0533421135847, 711.1752639325948, 714.4218721999453, 716.1068575196078, 723.8373034171904, 716.8572227641494, 719.5613338540207, 721.7090135077808, 721.4512329158108, 720.0792882411492, 720.1931332906939, 715.1802180313523, 714.5191641357096, 720.7866452098507, 718.8322631459051, 720.1558700308125, 719.5322407871926, 724.1668359873146, 726.4706328448269, 725.6429600396709, 746.6708549220837, 754.7130289209462, 756.3949424421882, 758.5212846004515, 761.2182125462963, 754.7548478872361, 754.5152238196662, 753.0445883830196, 750.6097004961024, 747.1926202867257, 743.0835889302055, 735.6979292944288, 710.7200747004357, 708.5676968993931, 705.4166084460784, 705.5022825182074, 704.3430048942579, 703.1671481912265, 700.755561564492, 698.8266018385466, 714.5832732138966, 723.60262186967, 722.7356294781358, 722.61971351634, 718.2895195573451, 716.9543581868193, 712.4601346448023, 706.7490381942109, 697.4056147184875, 689.0863348142882, 681.5498349935418, 674.2855390978058, 644.4703785305011, 625.7630964247205, 610.8931679687208, 600.1816048832088, 587.4123649712885, 576.0271343852318, 565.7429226161939, 558.8192580816993, 550.3400483380019, 540.0152089587502, 530.3293124285714, 519.9636779929972, 510.4681628928571, 503.0611654634291, 496.08295123529416, 487.7798806117933, 481.6785107440087, 475.84156434189225, 469.8492351699346, 461.1675914958761, 452.2545076155463, 444.8086137978525, 435.9210999527701, 427.678710582244, 419.443399469032, 413.32026937760656, 405.8710500124495, 402.953423757314, 398.2762325593682, 396.4062281209928, 393.11482127840026, 393.7739722228447, 393.5086587466542, 397.26724625418166, 404.1724830824775, 411.9905558111578, 413.7800885010893, 427.95085094078746, 435.7719222018363, 438.67064295906346, 443.1750561833956, 445.63736667600375, 444.8373131745254, 441.0799713161377, 440.2926374586835, 437.3830976816838, 428.0025728539527, 419.4698823145555, 412.96219157321815, 406.6024286097883, 400.9927688257466, 397.2605452979271, 389.1559679353388, 382.7891594996935, 377.6171231057423, 374.6422083781513, 372.7233971780268, 369.5861169227357, 372.67206121459697, 374.4958900917367, 376.21347998366014, 374.6195240956272, 374.6387532392352, 373.8904835458295, 373.7200649797697, 371.4102838753502, 369.0249342242784, 367.3191915797528, 366.5267539974323, 373.9580693373794, 370.2258070242764, 366.345727140912, 361.1100945753968, 367.93152062776215, 363.71432754162777, 357.91154072439576, 355.710753919779, 355.7087101129008, 355.0899099483875, 354.74992110066137, 352.16224143082786, 342.6355313144258, 343.20321961704354, 345.9846799939309, 345.1288076239496, 343.7613344188453, 344.0019302058824, 342.1916705000778, 338.4801314645969, 335.8185780229225, 332.73969250085594, 329.05247063655463, 326.14291249898787, 323.9076613280423, 317.6614694897993, 312.9481232978524, 305.05221072089944, 293.8376815857454, 289.80683095168064, 290.65905119452225, 290.0507738411142, 293.1418932446312, 294.9876637026059, 296.7170990568784, 296.5610276179584, 297.2388032386399, 297.69943513982264, 297.0902898516184, 299.5267733512294, 323.1603930532991, 343.99013331683784, 362.2999063462496, 382.9103863722378, 400.2686096825125, 419.3072615469188, 438.6698702213663, 458.9232817225336, 478.2357651293185, 485.5622939476346, 485.14910589215685, 482.6242910294117, 463.6373110146281, 444.0858083811858, 422.538441521164, 399.9574068319328, 379.3681563995487, 358.5184597432306, 337.06022536297854, 316.16590899027386, 294.6535698425926, 286.7060306756147, 285.0216972619048, 280.9910634104445, 306.9349350147837, 323.72482454365075, 339.937097553766, 358.5009786537504, 375.0064473607999, 392.1271211021631, 409.8401267874261, 426.8623378768285, 445.0670683581544, 456.6657739426548, 456.9400119976658, 454.2254846936664, 428.9849215560224, 412.22375276167134, 396.4129118971366, 379.1610746984904, 365.1069044971956, 347.68103107529174, 333.072690651494, 317.00520451929657, 301.8655205629474, 299.05037520704366, 306.0405257384006, 311.3338639489898, 344.12268980399944, 358.5466759730781, 364.6053855786648, 371.03514330648926, 377.91564841806735, 384.42373847893015, 395.1017593073452, 399.45764200062246, 402.93749744850993, 403.9963979071739, 405.7891112281079, 404.6989258636788, 394.722117330999, 398.8127919708217, 411.1726631234828, 420.4381817524063, 430.7251532969966, 442.7713016399004, 458.7231833137333, 474.9470985873016, 492.2926370161136, 512.7671502671957, 531.9188620019452, 550.7001250942882, 573.955043495954, 591.8086445648148, 605.315206901105, 617.3899583155929, 627.0413714817928, 634.3374487823685, 637.4061304501245, 650.390496488251, 665.4097888733219, 674.1138849957206, 682.0723961150353, 689.408700820028, 689.669701659695, 695.0234084298163, 706.0442928201837, 715.2494593585435, 723.3118411364743, 734.5775802164645, 739.0974760049824, 741.3203718059445, 739.1172465392158, 740.2207062165422, 743.3138681161687, 736.5854707049466, 731.2756118960505, 725.4846296841736, 714.3605292303921, 711.1486995324462, 706.96210733878, 703.972841590414, 701.9338751217775, 699.7644059225491, 695.2814975535326, 687.407823864311, 688.530572040305, 692.1232244736766, 696.9703684916065, 700.870931409586, 705.4275103853992, 704.9992429608582, 704.4461595447161, 697.1281009439153, 694.8608516218487, 694.009964890572, 694.6016452826798, 704.2569826305635, 704.3116791962339, 699.5331538274198, 707.1866199645723, 704.8160970670713, 703.7904126864827, 707.625830883987, 714.968778807423, 726.2228805830758, 734.2721096728914, 739.9250951031363, 744.467934578742, 741.861825007314, 736.2519538225179, 735.4023062614378, 724.7073736475256, 724.2111304044456, 725.1293904661719, 724.1050634302054, 721.7684686229383, 719.2164036032478, 718.7185373694367, 715.248613688842, 723.1241661107999, 726.3679609288049, 733.0321695635156, 733.2888011857299, 732.48925015904, 733.9870276637099, 727.5825063906008, 729.6378247305478, 724.6773132403902, 721.1284003954229, 716.5389613214286, 715.2273808371459, 701.7953120371926, 695.7773538197932, 694.0293233181152, 693.4818436092439, 693.6239183625116, 694.2859139937754, 700.1704754883287, 699.761407190919, 708.1604489183221, 709.6072629063025, 720.2789730133055, 723.0164709246033, 728.5658253479525, 728.4650870900251, 730.7041912022254, 748.8130183987985, 762.0587589574384, 765.6577417183298, 764.7650739347157, 762.5059570983504, 762.1803039858388, 757.8229041030098, 752.519182638811, 749.9135246678326, 745.6290460995274, 744.9211904859166, 735.9029798229847, 707.3664257821351, 690.8209437392624, 678.9842307765316, 666.9847347026922, 652.466514126595, 634.0427027590257, 615.9617539076253, 596.445560423436, 575.060944586679, 554.6545397781667, 532.7530368420479, 513.8014235054051, 497.79128705625584, 485.2059957253781, 474.8707002615157, 463.67831964737, 455.4834512958294, 449.4559148751893, 442.0244161667568, 437.7287177621, 435.8010756511049, 434.8951329850892, 433.6340868884999, 433.918651401883, 432.1244282101618, 430.0188692320261, 425.9903401292406, 421.7213114410104, 417.70908533380015, 414.8506668574541, 413.8092119673203, 412.8850388405695, 412.3143357961407, 410.4673773498288, 409.6702334329287, 406.531597028089, 398.237762148921, 399.9208675254435, 397.4320802624813, 395.40789340872686, 393.1453685945378, 392.13955960613134, 389.4124611052754, 388.31400481372543, 387.2559668495176, 387.0060953116732, 386.3292718681917, 387.2913797496109, 387.89655776042633, 387.8908446642547, 388.4599139256147, 389.1015104656085, 389.3965584419905, 390.0241478576876, 390.32107589061815, 388.06793490413946, 384.4365984228136, 381.2967126020736, 379.6073261494709, 377.7241648765173, 376.0876078017429, 378.2159978729205, 382.5983398706706, 387.1820499400761, 390.9474250407083, 394.39113901540617, 396.664871483738, 400.81185555438, 403.9992117575474, 409.83804855516655, 408.6953583183162, 405.45499062667295, 400.3659680613912, 402.7745083258423, 393.8298635587069, 384.5645621077653, 377.1819464478613, 370.8651357285988, 363.79183514275337, 357.2581439442085, 348.46463193692693, 338.12162926929665, 332.7340002948568, 330.6643477799281, 326.8793567273803, 324.5913307405073, 326.59476845969044, 324.9956148672626, 323.0079562665314, 322.7667215450384, 321.41733499879376, 316.2624838547892, 313.6211254233441, 311.71800356577927, 309.17961395567244, 305.6448340822489, 298.95823982660824, 287.85792242521825, 282.45555638564, 278.1445586902768, 272.67899487154955, 268.47397262163474, 264.9614875463412, 265.6638784844427, 264.9483493867603, 264.06811780651304, 263.2861144584533, 262.91776922478994, 266.5179477218332, 292.665183698724, 314.97255296848743, 335.19781950520485, 355.798900377451, 375.9642900534548, 392.73262685768753, 410.0188495243543, 428.7617158720043, 447.98332790079377, 459.6724536413788, 461.8441384083411, 458.02633246677567, 435.7454197376284, 414.1161096037193, 393.4157305071584, 373.29553780283226, 354.61922911671337, 337.22058962494486, 319.44404972603485, 301.2740745087924, 282.29515579186113, 272.30646925186744, 270.01340436399005, 270.646571491441, 302.79857412418306, 324.6545541104887, 345.0146298892779, 365.124197774432, 381.789235029334, 399.997960279723, 418.23609817678187, 436.1246299256147, 454.5405780946156, 466.7269354428882, 468.18055307375903, 463.0044513175381, 433.871021646981, 412.1970209924525, 392.7571067705416, 372.2354324767352, 356.8002461174136, 339.4038575803001, 324.90052016310693, 308.3727828752334, 292.2800968952692, 283.7078494690282, 285.4606816969344, 288.681439278478, 319.4257324512686, 334.2880316960846, 339.178042543562, 344.68504138117675, 349.51919862071406, 353.92386320154185, 362.03406543807534, 366.369282384924, 373.4054377774666, 380.37505968370687, 385.5868542655657, 386.63688631444535, 372.05218739534575, 372.364546989807, 384.0375924140024, 393.83710507368767, 401.9221513022098, 409.60327914192345, 422.30706213407007, 433.2886467551275, 439.452337334272, 449.2525608571979, 462.05492327463537, 473.3171016997725, 501.8376349530035, 515.8792011469034, 525.9981268178493, 538.6361205254526, 553.6880075788204, 569.5705141108776, 581.7357074754902, 593.5276796731242, 604.7881484252367, 613.2691762093059, 621.5943621648763, 621.3283983877354, 616.3238923644569, 618.3807837089948, 620.430941790495, 621.1531282062856], [548.8564619270153, 543.3340143806412, 547.0094002143635, 551.5211211464364, 554.9069953519297, 569.9072934127762, 571.2134927114845, 572.4667340741519, 575.6667571734359, 585.7601549829236, 596.0268555749299, 590.7430736878657, 600.913643416511, 605.1660401736843, 616.2872195966387, 623.4960635822441, 627.3841576818394, 623.3462383833645, 623.2940907275912, 624.0450623101464, 617.7072310671491, 611.0683649021942, 600.885044799253, 593.6799166886801, 592.2666168971289, 585.076129953159, 568.4748380395949, 560.806704719032, 557.4226313470192, 557.3962344197012, 562.9491691479925, 562.4232974442111, 557.9066267277467, 553.4638043412698, 557.5693211619204, 557.1857235666822, 568.1606051412232, 576.655373639237, 588.4399596625595, 592.8034837084898, 592.1413963255525, 589.0272151582892, 586.8920925178961, 587.1753864372082, 590.7402521150793, 603.5525065263772, 601.6554106442577, 616.5361922748988, 606.1458790748522, 607.6132071518831, 604.5810963631342, 603.914966889217, 602.0251676996577, 601.9323735608465, 601.9894530125051, 602.4300876071428, 602.5567236129784, 594.484868188531, 590.8488816728913, 580.8348893882663, 578.1630823746486, 570.629347441721, 566.0809383845316, 566.8906761183287, 563.0478805280111, 557.7941019439776, 552.0119309435106, 546.4264501253501, 541.7144353469498, 537.2530613993775, 535.9983110760193, 530.319109542328, 527.2673934509027, 522.8399932085933, 518.1851570382041, 515.3561885371926, 509.6107574074074, 516.0042720504201, 519.8978339056956, 519.9289831163243, 512.8270115385153, 508.903520530968, 500.7946061553844, 498.5679054118412, 501.29437146086207, 501.78933302746657, 497.90961627941175, 493.96762409656094, 488.5003973719265, 479.355619152272, 469.8533802677605, 464.8498289221911, 460.6387686500156, 456.7570030522876, 451.1427036431683, 444.42031001921873, 434.3633908129474, 424.7061871284625, 417.5180887244786, 412.1192462643168, 404.8047205652816, 401.31764665561775, 402.50649883294426, 395.9843269968876, 389.3871503325552, 387.2355248382314, 383.50233508263307, 382.4945129134266, 381.14552222300034, 370.342703792876, 376.147230005291, 373.54878109484906, 370.66037000638033, 367.9257441741363, 363.3272296749144, 362.7190792528789, 361.4669535570339, 362.8469602359165, 360.71375423225953, 361.2356957448646, 361.86229524004045, 369.615541151276, 361.6934621710239, 366.2293079715998, 365.7105914046063, 367.8907708717709, 367.919081605042, 366.26288143775287, 365.98903324992216, 365.7178065227202, 361.0926021088378, 356.73850057625265, 355.3706452215997, 351.68196506255833, 346.315900488562, 340.1170385437286, 332.6713513093954, 329.10398283512296, 327.035653788671, 322.4857857216776, 313.5872514536304, 308.0514122897604, 308.57140908341114, 308.2636599630407, 305.4991966988017, 308.9458758653906, 310.99174537309364, 308.68193570401496, 305.63451953903063, 304.3096665590569, 307.09151158341115, 319.58037309095863, 323.20307771086215, 326.18219716106444, 321.1802227553688, 319.2341914354186, 316.9974544225801, 311.4041649815593, 305.6095230843449, 304.273374256536, 301.5268228390879, 300.29708800474634, 298.62586009243694, 288.46625070339246, 283.20314360558666, 294.92006277583255, 290.64131118790846, 287.33541128236845, 289.8725621441021, 288.70163234041394, 287.7059816784158, 291.3028800480859, 290.8326204460006, 296.5238247247121, 298.1409082538827, 297.132829286259, 294.19448422526, 279.1627399800809, 281.54986424361965, 284.6421421383442, 284.2897137629941, 283.29853659749455, 283.55067842779204, 281.0174917975412, 282.5371191016301, 275.62923773988484, 274.38825626455025, 276.7406551891535, 286.26532330563333, 291.73648672992533, 289.3449755953159, 290.12814440709616, 289.41074322774665, 289.86217602777776, 290.5181515479303, 293.1797928723156, 288.316370681995, 291.7089095934485, 291.6847884067843, 288.4053186871304, 279.9193872039372, 274.7963210577342, 272.3080346241052, 273.6137154068627, 274.94826970323686, 275.16922402046373, 271.7242498171491, 263.37738191479923, 256.11231879652973, 253.91201035006225, 253.0505409874728, 251.58165867250236, 254.1978674604731, 258.6398696809057, 257.7040515824774, 258.51854880376595, 258.2669353401805, 257.97833497136634, 259.3417661758481, 261.1749655300342, 264.5856998581543, 265.1052752551354, 266.2644342591814, 267.3543165477747, 264.1519770160286, 265.61410652225334, 263.17614374618734, 260.87089584228136, 266.13128337122635, 267.1469017636944, 268.35120114635856, 271.6401630098039, 268.847740133131, 268.3581927670401, 269.2136729727669, 268.1614367102397, 268.1541176566293, 267.9445890017896, 264.17876942701525, 262.4337484528478, 254.9765379036726, 251.0911859455338, 251.68119043860884, 248.42388326571745, 246.4508262816682, 245.27966441417675, 242.8134571346872, 239.73384974634297, 235.6596469873172, 239.92000272759103, 237.9978343621226, 242.20472613476505, 244.06786950350144, 244.46035959998449, 244.5287755259104, 244.29694577170864, 240.0816266951447, 242.79357946786493, 245.01290380220985, 246.0803985052132, 244.17581545362583, 244.154439303766, 242.06300483364456, 242.402463788671, 245.18253489760352, 245.60085061313416, 244.66349979863065, 248.8443732035481, 250.40801988064115, 255.1283582474323, 261.43838961998136, 268.82569989744786, 268.5154784520697, 271.32191766573294, 270.5812987282135, 268.8268641992686, 277.9547653597884, 293.14886853859326, 293.5043244304388, 291.16514343829755, 289.4814282911609, 291.00307132150635, 292.4619024035948, 288.7524504412543, 286.41623069109863, 286.63369873576096, 290.01017615880795, 292.9406245830999, 284.23373944117645, 272.2306811305633, 269.77189984889515, 267.499035390056, 262.43042424361965, 261.37673130009983, 263.6928047685185, 265.2310449170557, 266.2351654537037, 269.5234719138305, 270.3621906864301, 271.9541593368347, 274.34344657741985, 275.9825487051043, 277.541241667367, 283.79628165040464, 288.85439917374725, 293.4443910632586, 299.81989139309053, 300.3079109380641, 296.7346807127114, 295.243905356676, 290.7236033593993, 295.7298267570806, 299.9258726167912, 302.34893469047614, 304.37081561344536, 304.5337440084812, 301.01507210395266, 297.033803923825, 293.126028648226, 293.11554994740123, 293.580690456427, 295.86958605711175, 294.76202187215995, 287.980467888033, 295.2429096289287, 294.5301528361345, 291.3496792999534, 286.2215240580455, 281.4251376846405, 281.45084949260814, 280.07654326073765, 276.21304098043566, 272.75250330322126, 267.6666496283847, 263.46610035613134, 265.26850336679115, 261.1176664591503, 263.32367826416123, 263.86351078431375, 263.2624182120293, 259.4282693691254, 258.7960082765328, 264.7987383751167, 270.1047120878462, 273.5373742942733, 273.3173511008404, 272.435796812714, 267.8675986335979, 268.97085680329906, 267.37317363515405, 270.3737317370059, 274.6298931636321, 276.88463741713224, 274.7813357688297, 272.97144956185804, 268.67223426122393, 264.3403163117025, 263.9624721277071, 265.8940313681528, 267.6035572813552, 267.7334053801273, 266.79381485726805, 261.5138031265436, 257.30742318480264, 253.01289903342052, 256.10288970910767, 258.7605812572165, 260.9383124059291, 264.72799107741986, 267.87636508006534, 267.4531534794584, 263.9011147386399, 269.2761860702614, 265.4408657069717, 264.81752181847185, 264.6931587513228, 263.7286453237628, 260.8291578134142, 263.03101638134143, 264.1202226015406, 260.8734998511516, 258.8314248244631, 254.9219906038749, 258.583343786648, 256.67326601120453, 259.07654021062865, 267.7851957371616, 271.21888292647054, 269.62043918643013, 267.1224624207905, 264.44437328976034, 263.8798830218644, 264.2484603339558, 264.24133255571115, 261.3513354975879, 260.09888499361705, 259.97935558683275, 260.25962865102707, 253.2221851408341, 250.04660537169315, 246.78026833099904, 247.12551646646435, 247.729171706038, 246.86680471895423, 247.085865609944, 254.1958178313103, 254.53188180026453, 254.8146056408341, 254.0561282180205, 252.99043965919705, 252.7080348319328, 254.5034888582322, 254.9828902775444, 253.40409384523807, 259.35156587620605, 259.8145818203393, 255.9917101480645, 254.65844291672573, 254.7386137299253, 251.89889841456585, 260.0041291601308, 263.88015565445073, 268.2845684404762, 271.71143300015564, 272.11001094646747, 272.6551696163995, 273.8612038792406, 273.58814067016806, 271.8387122933396, 272.0632590026455, 271.57704320066915, 276.22838980656707, 268.9505749800064, 266.13051867499223, 263.31107098506067, 262.607965510582, 260.8644334452225, 262.9313278627451, 261.7072530418612, 260.1858425606132, 260.11538315904136, 261.4638618947245, 260.17796549618737, 258.6127394563492, 262.37180500023345, 259.7522505290227, 256.7372701033303, 255.0530554214908, 254.95849601548397, 257.5529597406629, 260.3315564147215, 259.74742769296614, 259.1899466209916, 271.94394726042646, 268.0825285922035, 267.32406073330674, 270.8874471276066, 276.22844495930593, 280.0737674973545, 288.87132094117646, 290.75167998482726, 298.3657760280112, 305.3836426750701, 310.5769260044351, 311.6842781488484, 300.3841559503579, 299.3289030472981, 291.7476042493775, 292.40686640157173, 287.5633364324619, 284.1676362329598, 280.9366798366013, 277.9358593542639, 268.75687727194145, 269.4055253839091, 267.3315235927888, 265.0230935894802, 265.0344673706038, 265.94898924688766, 270.50547590764086, 266.0863918124027, 266.39936509593844, 263.01669071272954, 258.42273794460004, 250.70093589737004, 247.8270792745098, 244.7954306540616, 240.11885074371827, 235.94923873474943, 230.76841845121385, 226.0968261877568, 226.60285518323997, 228.65652548047, 227.0723467942733, 228.7357118867881, 225.56852733846875, 222.5823048140367, 220.86011538017428, 222.1574257053377, 222.3512534606287, 222.43534282882044, 229.17129365390605, 230.6719046769374, 232.58057013624335, 234.55064234547152, 233.22264088126363, 230.8711855907252, 230.581142833878, 230.6316799706793, 232.77285660908808, 234.304328978836, 236.6747333554311, 237.7147816690009, 236.7649767187986, 233.86760954520696, 228.0733374825708, 232.52194511546844, 237.4890854270931, 240.83721466837844, 241.62589556427017, 238.5635610172736, 237.5695123578431, 235.8455320992064, 232.58709788935576, 231.73115969670087, 234.7149251774207, 234.6361715258325, 234.7139808703704, 236.2425866637877, 233.6516346293962, 231.59947055166512, 230.60773624284164, 228.1222983832088, 229.1256613222845, 236.0516715575008, 239.32990033496736, 240.75049152769995, 246.84725521238397, 249.33664804699657, 253.25602421973232, 254.32329823148152, 253.8642068863212, 253.9665092440088, 254.48718859757236, 255.8766611219265, 256.22334852738874, 255.9482727566916, 255.06303724091228, 247.65152904271707, 244.2131942446312, 238.9504547990196, 240.32863918868657, 239.5857876567072, 240.3882250758637, 240.3505271377996, 242.8883783527856, 240.8386129301276, 242.44273589123543, 242.52727005431063, 243.49537453929352, 242.62737790087144, 244.4808172528012, 241.88129859352628, 240.64982345347028, 247.1080026686897, 256.5523159889511, 255.66198059126984, 254.5182909701992, 253.1752954548708, 253.9017809079521, 258.05882123218174, 259.08550558597886, 259.1484230400716, 257.969880398615, 258.4276037067383, 261.3403021325864, 255.4651044642857, 245.1297593562092, 244.82744262005917, 245.24073935371925, 243.7112133532524, 246.2625487738873, 248.02414930656707, 250.24369391036413, 250.2788082004357, 256.25827054053843, 255.47306617966075, 257.62095550474635, 263.8017998593993, 271.02061648334893, 274.34154014863896, 279.72561811393933, 279.9381099327896, 279.7316704156967, 277.92817739180595, 278.43748911023795, 281.3881134934065, 283.26128064152414, 282.2026310705384, 281.97700302087696, 280.0552873177798, 279.0717607331933, 279.35239115056606, 278.55377815966386, 277.6136406430076, 279.38505551914096, 284.48862107897605, 284.30188099984434, 277.4339574388422, 277.95397022486776, 276.9873997815904, 280.1222785511983, 286.5583835298786, 287.1300655349362, 287.6523864779801, 289.0361933979925, 287.8640310100373, 284.3724149321506, 283.1905901241052, 282.4653235212419, 285.2454794351852, 283.03214422587087, 278.32611626563954, 273.5994102552132, 272.221215085123, 268.7855656636321, 265.3987622646995, 262.7846213770497, 262.20551678376904, 263.4613024199346, 266.8285668472612, 269.1793542772332, 269.4587974538593, 270.85993391573294, 272.3551720182851, 270.7566510308901, 271.9903009156552, 273.0061188466629, 273.09473712924057, 274.6827179056911, 273.6528925387488, 276.08908094436663, 277.79586623327106, 275.3226864070184, 273.07385957508563, 272.2445451672891, 271.5117188895113, 269.97383286366386, 274.7975712492997, 277.11354295279205, 280.4306101655774, 281.2728152885154, 280.9001671448024, 276.8877113191721, 276.27776014052284, 275.4172179687208, 274.74815899400875, 279.1879582161531, 281.5536266645658, 277.2677704558045, 279.8249733004202, 283.0034329589169, 284.8866968357454, 285.5551464809368, 287.32854663297536, 290.8887245563336, 294.29855583644564, 296.01294161725804, 295.7455695923592, 295.2505455991285, 294.1340242853252, 297.51551140834107, 292.6077187660286, 286.49048868837536, 281.4137133039994, 280.79308686142235, 274.812931468643, 270.645401782991, 269.03630002552137, 266.70967710597506, 264.88903680003114, 261.69434111492376, 255.2695669680205, 255.8106080169623, 260.5969566845628, 262.74169501120446, 263.8394431606754, 260.69364947066606, 257.41478631100216, 256.42066113523185, 260.24993367950515, 263.9895060763364, 264.0561489032835, 270.07660801867416, 269.2045455597572, 266.9843254099751, 267.2508106440243, 266.01604178906007, 263.5177897062714, 262.7933910343916, 259.4830397482104, 259.7349772509337, 259.9076418397915, 260.71801731652664, 261.2013373846094, 259.0807326311041, 259.5431228145036, 260.06457670191406, 269.7609756914877, 270.1884175177742, 271.4038942998755, 274.5913818392468, 274.9900588467943, 276.22876459835044, 282.77142694957985, 284.5696492046374, 281.8611215175848, 280.4863334980548, 281.3158654453781, 279.24259478127914, 273.110835207672, 273.5982144956427, 274.1836116007625, 275.4278021718799, 277.3901878009648, 274.2836132587146, 272.8432121532057, 270.73598438359784, 273.33451062013694, 274.49051370689386, 272.00662325591344, 271.2368565447401, 271.5486337460317, 272.31277763429813, 272.1246649026611, 270.31518713764393, 265.96226616892113, 263.18944305936816, 263.0480762886704, 264.6784777970355, 258.9579733924666, 286.7366787568761, 284.89115967229804, 279.7953931614772, 282.93756130401545, 278.2212385129552, 274.9409622826651, 279.6744873769063, 280.51397779357296, 287.9330377508559, 289.91646033688335, 288.98242954474006, 289.4724218606442, 273.83386944992026, 274.47613141223155, 272.43703945697166, 276.2813842229225, 279.613031318005, 282.261402177949, 281.97131043129474, 283.3908447858699, 279.1490854377529, 286.22630384803927, 287.24524453236853, 284.6320571480703, 281.0082362238562, 284.6220313573763, 288.92649779909743, 286.4042220542328, 285.11077152093065, 282.98557533691263, 282.0490091314284, 279.844311971522, 279.38741763017424, 272.489917282991, 269.4232597010582, 267.4022227336601, 265.8321618709929, 260.10462358644565, 259.4671236825397, 259.57299996086215, 258.41044044631184, 260.6526000645814, 258.3674704534976, 257.451555133131, 256.9467630140834, 258.37724888266416, 260.34702406862743, 259.7645451415344, 260.3066824362745, 258.2012226601307, 261.0143125954715, 261.724635470277, 262.9865061059757, 259.5013254889511, 257.278352104264, 251.13834251556176, 249.65130745294653, 247.59003904225025, 245.86849739651416, 245.0561017661064, 247.56549795315905, 248.25616953711483, 249.89921319460004, 252.04373849610957, 251.64737741168693, 252.7737561255836, 253.9661462074385, 253.2371603530968, 255.75549712365972, 258.5973628992375, 256.934041265873, 256.0771547528789, 264.22434785589786, 260.8302057353719, 260.00994970245875, 256.4673854960318, 254.94843572424523, 254.3440313304544, 254.09888887986304, 254.8091311552288, 253.5291447900716, 257.14012762877377, 258.4307535157174, 254.6447254424214, 267.23126614635856, 268.2140706952225, 270.7777481665702, 280.0611839732312, 283.9422715030657, 285.1958792257217, 286.30322014617525, 288.34399921742767, 287.9359819402555, 294.38117421280737, 299.40472377956746, 303.2650209383753, 299.7370135120604, 302.3642171952212, 308.08191198513845, 315.31041150155613, 322.0443722949736, 330.9968518148149, 340.667148617411, 345.4628798069561, 352.2884531111889, 359.45418540608466, 364.9123940890912, 367.2466802938064, 378.5619404668535, 387.90055853548085, 391.5287687860255, 404.80501705042025, 421.9302966177658, 429.7506010967164, 437.66689685192966, 450.31259275840335, 460.81145289993776, 474.17366327419865, 491.1426494919857, 504.8099938546529, 525.2392488558202, 531.4174809264706, 544.1958139779802, 551.4570662139745, 553.8501122315469, 568.0740097448647, 576.2928543270309, 582.0787452200435, 589.5081265471982, 594.7114682438531, 598.2411050315125, 599.0820368179991, 600.0333834292717, 620.0498301513338, 618.8846623755485, 617.39400896662, 614.2888015846561, 609.5944599188539, 616.0251620201524, 612.2373543430595, 605.7414176138935, 609.6377111673669, 607.3312084347183, 600.5538719365858, 588.1389124077971, 570.6681561500933, 566.9488568166043, 567.8072983092729, 561.4083030000706, 552.9601723238407, 541.9942683376822, 546.5921619110644, 545.4670457006691, 534.3138718068004, 531.7539221897758, 525.2690077629941, 526.286715886845, 526.1104218641859, 527.2613172012916, 533.1277596116422, 542.1315086835511, 544.5862025452848, 542.9630121721133, 541.8489979025833, 544.6034681252723, 556.3620894807606, 558.9356752978381, 566.0601656581855, 570.9953446667956, 573.5223348790073, 571.6855622080259, 580.3220736582633, 582.9678573551056, 587.3366295771865, 594.9664297874261, 592.5725005548553, 597.5329483035202, 593.2375528679058, 593.8674189568939, 593.9936627205103, 592.710664176704, 593.1608137460316, 586.0234390734515, 580.2996237342048, 575.3583800852784, 573.3820262554466, 571.9407973069094, 569.3496830289449, 569.1819768976812, 567.9701977767662, 568.2311711907873, 562.553348760791, 557.3734903218177, 551.0574868301433, 557.7749126789605, 554.6084193878773, 555.9904382084501, 558.4930092774063, 556.6772631241053, 550.7888722365676, 549.4350661686118, 554.3321602010316, 557.176138389667, 574.9956121541198, 578.7121535644258, 576.9365114371888, 571.8478559561157, 574.0987039568939, 568.1038290931372, 562.6500187239341, 553.8551280948387, 544.9572193513072, 531.3572287982415, 525.0437600668379, 508.8390889559602, 478.6400763359496, 467.8262574971859, 459.739585767258, 456.3859120698594, 441.94397941129785, 433.1337386994242, 419.849331713352, 414.420920143324, 412.1659976269063, 412.8894982997977, 402.79475485550887, 397.4615310695612, 393.8433092485994, 394.307466019141, 388.5799800312791, 381.04418023334887, 377.0191468192499, 373.4278458527077, 372.3514288300654, 369.41576683691255, 367.1685268439932, 367.0755213730936, 369.8166936944445, 369.5055425946059, 365.3587582862589, 369.0049168105139, 371.10778996234046, 371.1444460734516, 374.0534748508403, 375.0166693248522, 372.2999525995954, 374.7325477962185, 365.7088518773732, 362.5134669697324, 360.0323655645068, 357.38744773117025, 354.8328466296296, 354.8559373217397, 342.12940420969494, 334.8405644351787, 335.039809529334, 331.5655413780734, 331.3773470149393, 328.0156264368191, 325.12066020728287, 322.520043561469, 326.49194550420816, 329.6816965881575, 327.13506937837815, 319.636184370915, 321.0914748625117, 323.09934145642694, 325.4279177559913, 327.83904746732026, 324.7048065167289, 324.5473198992375, 324.637916714597, 320.7979887089169, 320.26372597611265, 318.357567960162, 319.9749012815126, 326.1141137125739, 326.0903787815126, 324.020602114379, 321.78441240740744, 320.3071194178338, 321.6866822244009, 324.55360865172736, 328.5789654951726, 329.60546457306253, 327.8011962053377, 327.1137926100996, 320.58924088554306, 332.9074428839092, 328.60230563198587, 328.9437310381263, 332.6249653819639, 332.35248033815753, 330.5829980204566, 328.55316413601, 326.909818462107, 338.7270764713663, 345.56549029046056, 346.843002171802, 346.4348093846872, 340.0445676467476, 340.420375035403, 337.6501930267662, 340.625622664488, 338.4429811203703, 334.3572521232493, 333.53422013304606, 328.2765892494553, 318.0937404659138, 315.5065462040149, 316.3479413863212, 315.1558100823957, 307.60449894903513, 303.57057982555244, 303.5651494412542, 300.63476615196663, 301.3591143183162, 303.9913631896981, 307.46076326516624, 303.4843952517118, 298.98051441511046, 293.0142266026299, 289.04391821210703, 288.3620574964986, 288.78792542756, 288.3576870670661, 285.8630838154373, 282.46174575816474, 278.5702400835668, 275.0459257701525, 266.00252614488016, 260.4359770424058, 260.36966631761595, 266.37174933450046, 269.3642951567072, 268.09443119763466, 270.63490358982943, 272.1927596357765, 277.2736754579832, 284.14500567250235, 287.6388684918301, 291.8434788395885, 298.4222232111734, 305.070913291939, 308.6011357724868, 310.33055916977906, 307.5351005090226, 305.25988643923125, 303.2226109992997, 297.6152515134609, 291.8757146623872, 296.4595673345497, 297.376335041063, 297.326419664488, 296.43746305493306, 291.56673132384, 289.1015681480204, 289.53153317117955, 289.94425648141794, 288.7969951552288, 290.38750869679296, 289.1161374881731, 286.84597914954867, 289.2070174081855, 288.818621200358, 287.64836156800504, 284.14873306691567, 280.619243053766, 278.3473429101307, 281.6696905620137, 282.8087375169624, 284.9246284459228, 294.651928468643, 300.04687604497354, 299.5554637386399, 305.0544929091192, 309.6344149577497, 315.6888946276066, 319.9265929737784, 322.4527080759416, 322.1007023661596, 324.22675582703084, 327.6588993304511, 325.8574263128903, 327.2461472399036, 329.6146523858543, 332.08269428776, 329.46252674058513, 327.95341564674754, 326.3765576847961, 331.34106611904764, 336.8716772477422, 342.2935917791005, 355.8765018935575, 366.6686154982104, 372.4817796763928, 384.0590670131387, 396.54701043464047, 405.5131032798008, 424.4405999882508, 448.5693884948646, 462.30694251898535, 473.1619451617647, 487.7543072727202, 501.8591066002178, 514.9737294111422, 521.0178797123406, 532.0862580751633, 549.2706698807967, 558.1336583267196, 570.6612583029118, 580.9881810405384, 584.4348985624766, 594.5208248169935, 609.354616042406, 622.43337083177, 630.1125095553998, 636.928134838599, 644.2427476521165, 648.757239643713, 656.0679643787739, 668.1968072359945, 668.7695155470743, 670.8774182878152, 672.2080650047743, 670.3696782367725, 669.539984848117, 660.4001338457789, 660.8510405040461, 656.3401624129318, 656.0698426139122, 651.6876456816059, 644.1307311943665, 631.526093254902, 626.0877278516184, 626.7502016202149, 623.0798238075007, 617.5501410971833, 611.0568153476773, 606.8026821588468, 595.4031763141145, 597.4488864039059, 592.8209649176005, 587.5118870938376, 586.2612999389199, 587.7409042067383, 590.3506073436655, 585.8248552720198, 586.7336445750078, 589.5361806625427, 588.9808013260192, 597.4431952188764, 604.3204730197043, 615.0756097567695, 627.7928041507159, 633.4459972380175, 640.8414086311857, 640.2892867600475, 641.3657897173456, 645.6522994878401, 646.6914997375916, 649.7788906032656, 662.4878069598267, 658.8526064999262, 657.5328711690171, 649.3133638509667, 638.4534099971211, 637.122372000389, 632.5931018705882, 633.7127882527233, 637.1865127482104, 635.001319951992, 635.9322087840026, 636.5930857817339, 627.2465551049643, 625.6393119814037, 631.7933385136165, 634.4272061543728, 639.3209400641924, 639.2174790225308, 637.3609226395369, 632.8523651598593, 629.2333102604399, 638.2409924090867, 661.8147436341819, 663.285548358642, 663.5233381668277, 664.7483228035325, 658.2575269805477, 655.1830284846715, 651.8042700706505, 650.6949078965752, 650.1643679698102, 649.0992580933265, 645.6709365662155, 639.0375323729193, 606.5132671544505, 594.247889248833, 583.7730797220665, 573.1625881120448, 559.1357623670245, 560.6977045768411, 551.7942079379804, 538.9858861228603, 526.5199623656416, 514.0232153297541, 507.7994037623716, 497.1517405757534, 489.73601656660446, 484.14140228018977, 476.2397273439646, 467.8328814399315, 461.9614963760504, 444.5704830809044, 435.8682521903984, 430.02360660473073, 426.2230594185127, 417.1724078899762, 403.2948444558824, 396.8445007762994, 391.8785581387332, 390.59943981263615, 386.4357819158108, 381.0656726998132, 379.9824532417522, 381.91644149159663, 379.7226343169156, 374.74670625075447, 374.7270577282913, 373.76362201335365, 375.5848635188531, 377.18509960006224, 375.3616061884928, 370.3752262203548, 374.4150120436508, 374.3366710855897, 374.39114720269225, 368.23078094677874, 366.9573469946519, 364.7267748589642, 364.7418903758367, 363.74203457026135, 360.13671144475563, 366.6624666494709, 367.4988348507625, 366.4749039005602, 363.103773809446, 357.8588815319794, 360.5862375469966, 364.60768732531903, 369.0268442948964, 368.4370813501374, 365.4258561041233, 363.2138811655773, 362.3868210434173, 361.2249407572362, 359.7647820485528, 358.8123166926548, 358.39623462012975, 355.96508938149174, 355.20546875513537, 358.99686921249605, 355.59545518459294, 359.45703470014155, 365.3215307970744, 363.0066802065048, 362.2255019273264, 364.21830402552126, 363.5181210711174, 361.6397945790538, 359.1134794211018, 359.9774695404784, 353.5272639889511, 352.2178306357765, 356.1019732702303, 350.4925291027644, 361.4756069090414, 356.3159643323218, 351.97709317717084, 350.99525316075324, 348.2719275038918, 344.74334074166933, 350.883769166406, 347.96171409095666, 354.1571168053623, 351.7037520217086, 348.5829883753501, 344.8395600014783, 335.8671175037332, 336.21138530547773, 331.3240984808181, 331.792784219888, 328.81276898294266, 324.64739090164625, 319.7201381804362, 320.400959048864, 314.96187832018364, 319.74639145393706, 324.708645399301, 325.5471442500778, 319.1270214407875, 320.0899191254029, 325.93526658924674, 325.8621467878929, 325.9004697514006, 329.34534160603766, 331.1955022006692, 325.5294895047463, 318.68110372595703, 314.0125077212107, 304.9865319724557, 300.9124658774339, 299.11798339005475, 294.066226426704, 285.84832513678805, 290.6516088754209, 292.4958894728447, 291.73358590787427, 286.6758449834267, 284.834809212204, 283.77961294366634, 283.28422065505026, 283.788162991052, 282.4201630723297, 284.1137560857936, 287.28488118759725, 288.7067828592437, 290.16087567366947, 288.8164585558413, 287.6065191039527, 288.0633479465453, 291.87274051385, 292.12727340561713, 295.0699909926081, 295.64689650894803, 294.50487685050973, 293.24548317149083, 288.55587229699654, 281.037255402272, 284.55455709484903, 284.9142383678254, 286.6188673607999, 287.1560711381108, 280.0751059801587, 278.23464686142233, 279.604077524432, 281.1809940224868, 282.3574634705104, 285.695831003268, 286.88265974736044, 286.76583723210393, 283.8565793267974, 283.5091854978992, 283.42360145206976, 284.67572375778093, 288.8107622655618, 292.728889563103, 297.9484954921413, 305.0759729584501, 311.9899086816059, 319.3637994808591, 320.52341936990354, 320.8505647302372, 330.7122307164644, 334.0065512425304, 335.0985035191008, 334.25979218705254, 330.8385467022856, 331.06902345073007, 333.53742140624024, 331.076575398615, 323.7475063562408, 328.39132575809214, 333.478230692577, 335.5180125444361, 340.1892797059205, 343.08898029582946, 348.54951231465924, 357.5333346769374, 365.0735677756257, 369.8295465797541, 378.1228328839869, 393.26699508652354, 398.86471034446646, 407.8474057587923, 419.0746366446467, 423.9298292950513, 434.7710207055712, 455.02558028765696, 464.54730994179886, 471.896699268779, 482.1975854628073, 489.8442542114464, 498.1441069737784, 501.05969234648313, 514.1394372884375, 523.741878127161, 530.6451519257703, 544.2200856076097, 548.1472065774976, 545.8061113071118, 554.5993535667601, 564.2986725613913, 569.5785515200747, 578.4294423938686, 585.3080896417679, 591.83033506544, 600.1497973135698, 609.1312687044039, 621.0525231239496, 620.6144302927949, 631.334465607518, 632.7497092506212, 634.0531624232028, 634.2446208465486, 637.4222970532991, 629.84300115156, 632.1854616977862, 629.5681164653084, 618.9110763894369, 609.4403239364757, 593.5335694252257, 589.012423658808, 575.5970577979302, 567.8047741271098, 554.6524188261749, 545.7239224101306, 544.7688700092592, 538.1943598656239, 535.9323870592126, 538.4559670616338, 534.3345800341596, 547.7813920150094, 549.7121526910233, 553.8800838942881, 568.9747089428884, 577.6944707349298, 587.84989081925, 596.3577945189271, 596.6665560908808, 604.0141979323062, 609.1604257121072, 600.759420294351, 600.6806515503865, 597.2643038554311, 593.0300205242763, 595.4323301562408, 587.81862232384, 581.958946057812, 582.2298843171226, 579.3786024651188, 579.8893381085194, 580.5043852163998, 578.8402540394491, 582.2566506080765, 590.1063736013851, 589.6863127660878, 597.159885059835, 600.4853671693122, 604.1663058282059, 607.2963127548863, 606.0474527011359, 616.5739225425019, 617.7709121511828, 624.8837944615624, 632.2422916480891, 634.9038560490975, 632.9965775299564, 636.1633560011671, 627.7037805923592, 623.972962878229, 627.2952555922035, 630.0460413220745, 627.3045800287114, 617.6910917533186, 616.2066713912743, 607.6546719236694, 604.6941724791116, 605.9704832772727, 600.9520558195611, 592.6253975943043, 591.2101699119204, 579.6764443485328, 569.3415427853253, 561.4120157465693, 554.3585482458761, 551.1327349341756, 539.373359034625, 532.884958338459, 522.9485893481169, 506.2599259390795, 494.3547355185885, 486.10139448941794, 471.8117742325707, 470.4557561133675, 467.61883671055085, 457.4287513150482, 449.4810782425303, 438.05784165966384, 427.6746978979925, 417.3763628522409, 412.5119226642546, 405.222087357921, 393.8445189191343, 386.5075632480549, 380.3995759782913, 373.518172108699, 370.3284775141613, 369.23390217685966, 367.5410829814815, 362.34106820010567, 360.11142253649234, 357.4049691806722, 359.39068644851, 358.7891607517838, 361.0646408473305, 366.16291366591, 366.0584139908963, 364.47695272541233, 364.3692910914254, 364.07864931349206, 362.8017542572082, 367.0564007001245, 366.2008483883442, 361.0489161703185, 360.43756482819794, 360.9401004452225, 361.3891695286901, 362.351799099362, 360.310995675214, 359.57179889635853, 358.5293009656863, 355.99580360239656, 353.5703364830442, 352.13114036616867, 351.53053622251184, 356.0841324894958, 359.42188775575784, 356.83073371778715, 352.26444858932456, 349.61346892172423, 346.7461675517429, 345.7185481252723, 350.7797420774199, 348.97681157041706, 344.70459130189846, 336.617135237006, 329.2999979927527, 324.2505517920129, 322.17705288857763, 321.8572605082018, 320.89104487798136, 320.51143396817616, 317.1332298485839, 313.15875410018674, 309.98928495230314, 311.0430951960006, 314.5499235126828, 319.22323975879243, 321.6611921086212, 317.5121317920652, 319.37691753563644, 322.15751685659825, 321.5040119852163, 339.20692864682536, 339.5367578107687, 336.16962834967313, 343.8340203394984, 343.245881780112, 337.6053456607532, 338.1379590257048, 331.5014294829598, 335.192690803325, 337.88344759243694, 337.0377278267196, 333.5415893612181, 321.0137399125246, 316.5661368001518, 311.8360407642098, 308.8550011302879, 306.56488667303404, 305.6288466566699, 304.9603520325824, 308.88933166120586, 304.4497885124023, 303.9471756494166, 302.4197657838809, 297.4462170041033, 289.9343228366912, 290.99944557531904, 294.11211244140986, 288.89775975319014, 286.97118786834733, 284.913852049646, 282.5302808180828, 275.67735873132585, 269.9488598609555, 264.50054598225955, 260.3686412387955, 258.93992453338006, 256.93525109313725, 252.03771874346404, 249.6254866309524, 254.49092016472147, 254.46532975855905, 255.09126974961097, 252.73667821879863, 251.7816162584014, 257.50394020152504, 257.63508274284163, 258.9867474082633, 261.46347889355746, 269.49005368378465, 273.7473011353875, 275.3321175437286, 273.2920351118892, 272.55483278789296, 271.0553900326019, 269.12922038700464, 265.5791532739651, 265.5185482973078, 266.5497013985372, 264.17770815351696, 262.1201001064491, 258.2569212454093, 255.44052402108625, 251.70616457570804, 258.6926989020386, 260.5945665888079, 263.12292987216, 266.01979134718334, 263.2516176987239, 261.7311856411454, 267.2292919742453, 270.8827713006692, 271.0180815667062, 273.990629220277, 273.4510453515406, 276.8490529296608, 272.9909619042951, 271.487970867258, 271.9739153475724, 272.62568461360104, 277.8068675657485, 277.3073466308668, 275.87267110169626, 275.4964562246344, 273.40442776704015, 282.47135759897293, 283.71078860294114, 291.61653768993153, 297.7390435430284, 302.62352940375047, 305.0140832688298, 305.7112836060535, 304.03165413825343, 309.338165162465, 313.23531131971674, 317.69102779450674, 315.92967592334395, 313.99821097408955, 310.7740793820417, 308.7106262524121, 325.75953956543725, 335.688588734354, 340.9417581049629, 350.1973397351145, 357.1400448948023, 364.8896370337691, 374.8226742835856, 380.6661358199502, 387.6621249249144, 398.1390037151416, 406.13394813709925, 409.7522444677242, 406.1659450098039, 417.5811663114691, 426.02087925093366, 432.08502873333856, 436.3609592083722, 439.6673933509985, 451.2250048377685, 464.4360838640679, 478.055924231248, 493.58569299953314, 507.9309508928111, 519.4400711698196, 531.1609191483471, 536.1795843551199, 546.3845588151261, 556.1626739063181, 567.9727493431373, 577.0781049414877, 584.3511438312324, 587.0663152023031, 590.4163805669934, 600.0723540237317, 608.2957565968723, 609.4244739377968, 612.3866296403673, 616.6804373402583, 613.5625431918767, 612.3006295038904, 613.708217228058, 611.5544004727669, 611.8273721418456, 618.3185558953303, 618.7311572296036, 617.879079739029, 617.1411000969498, 619.3399862243042, 621.0750888192498, 618.1325468825974, 617.6460958787736, 619.8822974869973, 619.7951849919078, 615.08622320329, 622.2454970305012, 617.7481428210266, 614.0831194046062, 615.7634584981326, 611.025846335901, 607.3305893138032, 611.7175974567383, 615.7347334714066, 621.0987854850837, 626.7620705007002, 632.6397763355121, 644.3903130974944, 654.8848337705415, 658.4919407576252, 658.9907220096483, 655.7519117263553, 662.2365967845757, 665.3259554603953, 664.524074852473, 667.7404678169936, 673.5625283792472, 670.1113427576252, 664.5903937828355, 656.5510252893777, 652.2777743382354, 654.4165931721133, 660.9590915853563, 662.0464357533866, 660.1223207005427, 662.3339170863678, 663.254313034723, 658.3586890542327, 650.435555539514, 650.0319691662776, 649.5500740720512, 641.54207682493, 637.0079688994995, 633.7846820662769, 624.7881715298274, 617.208132903362, 613.0631637191098, 605.2678100911921, 600.256878415266, 597.3992910354809, 593.8033922450202, 591.5473330375038, 588.713662171051, 592.5768412211179, 586.2484455969005, 585.1395989362745, 586.7401286618425, 588.1322866878481, 590.6412677457982, 586.7311986637034, 587.2961632279801, 583.3121316629318, 575.871161565904, 567.8423465398738, 557.1711136858854, 547.4022002302294, 546.1507252668067, 532.3677953091347, 519.022905695456, 506.888031192577, 491.68223845160287, 493.8282935397603, 481.0564014817927, 470.9980990416277, 464.0077680982727, 458.1818088184718, 450.072050881497, 442.0312466266728, 434.3267137302365, 428.63196223934017, 419.585063390056, 415.00300038646566, 407.6452464063181, 393.3614167159197, 394.3982956778712, 393.9765920296453, 389.9113982255674, 383.9159000134609, 383.4265617985527, 381.2734989012605, 385.6811859495214, 386.3691575452849, 389.4283595668378, 396.6804029476625, 397.7092297432306, 396.073713989807, 393.051833147837, 391.24744580298784, 392.0120310294896, 398.5344918785403, 395.52969422408967, 389.326446773187, 389.1608600481235, 386.0828927331154, 378.4988439049953, 372.4525314586835, 366.7724695722844, 357.8408600029567, 359.8978461781046, 357.4330667746233, 353.50716093989223, 348.2781026335979, 347.74348290546214, 349.6614713591659, 347.15789706995014, 346.4511365284003, 344.7660288721599, 341.9170225673825, 340.10028391542164, 342.92456195183627, 339.0427549661408, 336.1998980453626, 334.30694537339195, 332.2759702445534, 328.3120314097416, 324.840182801276, 325.3133455730626, 325.00083844926866, 325.2914848164488, 329.1230293091347, 328.0429163237628, 326.4627141580298, 331.5615942589643, 330.19067444156553, 327.1958212149082, 325.5911401851852, 323.2440651731222, 323.5076490867569, 318.1687689001712, 318.0450319327731, 312.4526013169156, 324.6083559088812, 320.12040661299505, 313.6811211813094, 310.0025584252257, 307.9655967275651, 306.88944899976656, 310.0403123018985, 304.2380107535014, 306.71435271638654, 308.44089665608465, 305.24321993464054, 300.3752440262216, 291.2597333582321, 291.5387468736313, 285.8906362250376, 289.2122283988298, 290.302587211899, 289.43079656113014, 287.18325703051386, 291.0655619629446, 288.8462045258782, 288.4085008216153, 291.73158741175325, 296.3997744677197, 287.24603487511945, 287.3589757473545, 292.0345722616713, 286.1460300550109, 283.76574156528164, 282.9344743295207, 286.62906921584187, 280.010391994709, 274.53907047268905, 275.02523026276066, 272.9455470440588, 268.1364792982415, 269.7962543920013, 266.2457123309991, 267.4763873357454, 265.608502643324, 265.0304003637301, 263.73203438655463, 255.62092362169312, 255.0730168825085, 256.8324118425926, 256.1323540381264, 254.04844105006168, 254.05950506567075, 258.226756951136, 257.4680783309874, 256.34634239643634, 260.49755117032373, 259.0125516391224, 256.7450270494061, 254.4855750255992, 248.08970583146592, 245.36887446374104, 246.2404444229692, 244.1102227673514, 239.23549868168377, 236.88030442989415, 236.66358459111424, 234.4430168228291, 240.20966846218488, 242.95830910014007, 244.82227759644485, 246.29098558626356, 246.40863696988797, 246.74690515024895, 248.40893177917837, 254.6012373383909, 257.84369705999063, 261.3953802544352, 259.58337037815124, 260.36934475054466, 253.9365809039838, 250.0919835185185, 251.72950806535948, 254.7083831255836, 254.74838399081847, 251.87010369133208, 258.2662575618581, 254.55167702933397, 251.705263638033, 258.58757160908806, 262.1487352606598, 271.3030452542795, 275.1278332733427, 279.4789752148188, 281.40741941526613, 279.0407920219259, 285.6387908859321, 294.35208131151273, 291.40951298879554, 292.2498484911084, 291.7412547814735, 295.28067611012585, 295.5959461592127, 300.6740683920084, 305.2067317204326, 309.95693425552446, 316.86190859226906, 331.11207387278245, 333.55014812153746, 341.6144225653595, 356.8101366507133, 372.06689164612186, 382.4481686861967, 394.8939381623872, 403.7025479000933, 408.57920164114535, 424.9649272130408, 446.2374815570126, 452.7475564785247, 462.24695303618114, 469.16647673257074, 476.13827995611575, 483.7585532198102, 489.6434003643792, 500.952292717009, 508.8236426173904, 514.4264366184914, 522.1411404350997, 522.834623511432], [124.343697529723, 125.50823243038695, 127.63194229863056, 129.64849798739496, 131.2151925037348, 134.51104541487706, 137.2321719603175, 140.16972358837145, 143.6719316854964, 148.53868017102397, 150.3768428551198, 151.8257171478045, 153.35465759173672, 158.03137987970743, 158.0763994472449, 159.9811433103797, 161.83995465149394, 160.2638009833489, 158.50895552419664, 157.66692608473392, 157.84998161788047, 156.40114711072204, 155.05372230306637, 154.82035593360308, 154.13257871918768, 150.3716927348273, 148.854092685652, 147.45305661990352, 146.25006666744477, 146.4317071676004, 147.35142130480992, 148.11202734173668, 146.38608992919387, 145.5850569565826, 147.10475124626518, 148.92959730477747, 150.6250346493153, 151.4038875529879, 151.2313984982712, 159.615982497977, 162.63084176011515, 162.3392043349673, 160.55874107671957, 158.98847245323688, 157.85410457314038, 158.24070133854653, 159.202095863601, 167.91081257475554, 167.46526426112666, 166.94660506209152, 165.6258751927515, 156.6404248172269, 155.10093927643493, 154.81120056676002, 155.54517329520698, 156.19691760963275, 155.4039167590641, 154.56280660620914, 149.8292083590103, 136.34572515445066, 135.26696886651368, 133.33293459108052, 132.68973801455027, 132.12878145477487, 129.53186314422723, 128.73013103633676, 127.86445899224958, 126.64055319800678, 125.94936994257183, 126.18329237270464, 126.58556482617492, 131.1978241582633, 130.8568453818083, 133.42157024867728, 132.30684033932462, 131.3166233105556, 136.78782243062884, 136.51988735885467, 135.96234368907565, 135.12296997144415, 133.4022579970556, 132.74532747346714, 132.2616136854186, 131.79076237153748, 130.33009548479615, 127.87767980403702, 127.25602250941488, 126.54295429579965, 121.21142798482728, 120.54218269989109, 120.12435404143972, 120.10330902466542, 119.68076642474644, 118.6634512978194, 116.74162472313648, 112.68849416907874, 111.36380218938687, 117.96231317958296, 117.11633008775613, 115.98584348132586, 114.97948699369746, 117.09531635258912, 118.07676012394958, 117.1515476397448, 115.72550860519443, 114.56050822533456, 114.65049417086834, 113.86815854962718, 113.1721486135232, 102.49834672672154, 102.47552933893556, 102.0800145048864, 99.3073614354186, 95.81822879733376, 93.25828926447244, 92.04585893157812, 91.42034937877374, 90.42719038865546, 88.07002602746653, 91.2036305857454, 90.94974408862434, 94.50409006722688, 94.20641490320573, 93.3341122700747, 92.5136561434796, 92.02030337005915, 91.06268763322116, 90.64051640211642, 90.47301022914134, 93.08695848311548, 92.57333504846716, 89.3843868316598, 88.52248854217241, 85.78162740437288, 84.82844039215686, 84.96532374540928, 86.36669740063803, 87.79701665600686, 87.66323111350114, 87.82183298349284, 87.12356661787464, 84.4691130823672, 84.9248613673838, 84.86207209064739, 84.84063573280423, 85.92608045028012, 86.46363444047618, 87.48937684484905, 87.32582938079676, 86.66710763694367, 86.69389804030307, 86.36909193440711, 85.94714331955144, 86.21124269483349, 86.36122542245178, 86.2655275497977, 86.07907515896227, 84.82007474540929, 84.00057052182966, 82.99451794476865, 81.8310412708528, 81.18784766533355, 80.7171622500629, 80.48157907578589, 79.80834334230599, 77.20503813966697, 76.88159533232181, 79.8497272708502, 78.92489786313416, 81.63705758185496, 80.94515595894008, 79.66080938126362, 78.62154164284537, 78.3170313068083, 77.72096530921257, 77.55544748202615, 77.62147108325554, 79.21029981076875, 79.21562051276065, 76.62165274089637, 76.076262153906, 72.97828334749457, 72.96806661908848, 73.06235887651727, 73.31414671127712, 73.10978672603487, 73.11535884212574, 73.04833123778401, 73.00251953818459, 73.2801068616655, 72.14102583426704, 72.06655287612823, 72.07163877614379, 72.32557568075008, 71.94674735379706, 72.09608682874261, 71.60195549883287, 71.98494515943044, 72.10856755726736, 71.95297927731093, 71.89273712664935, 72.00639551984126, 72.00798254030501, 71.64128963001869, 71.3497875650087, 70.91176972961406, 70.68633700466658, 71.95369799704326, 71.7050804684874, 71.525672804605, 72.04322675396826, 71.99528546521942, 71.09689837130733, 70.59747317794896, 70.0153320692188, 69.79441453625117, 69.9572509404762, 69.88823349361968, 68.89743785673436, 68.10573862642325, 68.25813195182916, 68.50431623311546, 67.58620170035792, 67.50550368168379, 67.55213924832128, 69.40489559546504, 69.84038568347339, 69.8193885237317, 69.62052346366326, 70.12260306722689, 70.28122641394854, 70.45251311904762, 70.2382932762994, 70.09318690803379, 70.10557507749768, 70.06136617258014, 69.68269335901027, 67.91653561694677, 68.0863230157952, 68.28224121778712, 68.14793143028324, 67.75781442662621, 67.73258519024276, 76.28346413149838, 76.31251814184563, 76.09602942997199, 76.06011916735595, 76.01479705571117, 75.90199327458762, 87.85190346838755, 87.88927672414087, 87.4787468574541, 87.55098367468099, 87.35714737737317, 86.44212241350633, 78.30865893207283, 77.88427664363523, 78.0305649728447, 78.05830583372237, 77.98724392522566, 77.51613336904762, 77.25383871350762, 77.83661807477438, 78.25135699704325, 78.52373082062326, 78.85672354271709, 79.11669648570278, 79.91042834150326, 81.0328279507742, 81.45350920681605, 82.71913516627762, 83.17310441304727, 82.65531160269673, 84.84768831854963, 84.83761068969811, 88.54045323990819, 88.38706855191539, 88.44069150739185, 88.67525971304015, 88.5095826459695, 88.00345507336603, 88.10810728618114, 87.4862894929194, 87.714150893324, 87.23008461436028, 76.61068100638033, 76.85488983877995, 74.47252073552755, 74.97710529637409, 75.18221274844383, 75.18040580281537, 75.48063020206584, 76.32265111095549, 76.43315612316177, 76.33132814021165, 76.09737088748834, 75.50995281568967, 75.30445963849984, 74.74354611928105, 74.85319894257702, 74.75536246638656, 79.13442664518169, 79.00562152972299, 81.435213230859, 81.67377041549952, 81.92198997510117, 82.01600193471833, 82.05404396451915, 82.09357888445378, 82.05124617063754, 81.86061696467476, 81.34659704699658, 80.47119223934018, 76.28935958815748, 74.8456273925459, 72.69292719685652, 71.26424957220665, 70.58921785208527, 70.04785926562987, 69.74430880274342, 69.1149608420998, 68.71475842710021, 68.17174698809525, 69.01057402718126, 68.54603827877698, 68.163370239418, 68.20653649354185, 67.7710645278556, 67.82407362204845, 67.58448287807344, 68.59215571584188, 68.60908958605664, 68.21271487603343, 67.82145939978213, 67.47786509452355, 66.58140741246498, 66.48251851221599, 66.46465185134998, 65.89920495129162, 66.76674817086835, 67.29848198373794, 67.86298041884532, 67.035255949113, 67.2840076457675, 68.26756272675917, 68.11039889583141, 68.59599869623406, 68.88817743977592, 69.1395004282602, 69.13499258912428, 69.11443592328042, 68.9145766976346, 68.42782030407524, 68.17635338025212, 67.86930386733583, 67.38885575909211, 66.67357315044191, 66.47055014091191, 65.85545863335149, 69.58056871537504, 69.86439367335824, 70.26595030936818, 70.4545919141651, 70.51507050015562, 70.45112301953003, 70.53606035854341, 70.57327055198738, 70.6100989676315, 70.69255679637412, 70.62751962605041, 70.01695861842514, 70.04613060963275, 69.76945444460006, 69.40800641798941, 69.39618457689612, 69.94459860526766, 70.2889628515406, 70.38484878633678, 70.43751962765005, 70.56039763562092, 70.62241199060976, 71.81864208286648, 72.02940059621072, 68.96630282990975, 68.79606950295675, 68.44306921039527, 67.30273924050537, 66.29876644047619, 65.64702260107376, 65.30821521436353, 64.90474025357922, 64.82296267075101, 63.66958523209621, 62.927697474712105, 62.827415873744286, 62.228214460939945, 61.79478944981327, 61.62120754466231, 61.69487044843167, 62.5405667788671, 62.732265128151255, 62.85087357355149, 63.14002614045221, 62.97329186297853, 62.935276449579824, 62.220144219498906, 61.72060383934733, 65.37556903431373, 65.39916611640213, 65.47183120479302, 65.58106028874883, 65.02183303306877, 64.67092998218176, 64.43509256963897, 63.884184427326495, 63.64232628096795, 63.59729499961095, 66.40850806707127, 65.72200352824463, 62.95196194934641, 62.96478166565515, 63.12501754269375, 62.97483313103018, 62.65230354512916, 64.87995438173047, 65.52354894428882, 65.53724042289139, 65.42390005610022, 64.64660122267935, 62.18264239970432, 62.81665303976034, 63.35059238087457, 63.64024465763111, 63.866038214130114, 63.31855959749455, 63.45006290400548, 60.82227929839713, 60.92363357485216, 60.78243843021839, 60.92404616448801, 60.73835755314347, 60.58111729598505, 60.72814280071714, 60.02739373028388, 59.79722588624338, 59.75342338347015, 59.55143408078964, 60.2015778052709, 60.21096286873638, 60.59900437262683, 61.12085033411143, 61.21510970007782, 61.571395747665726, 61.749604474859936, 61.905964144413325, 65.67252508061003, 65.86623995778223, 65.53748261157797, 65.41430042678182, 65.15503870852785, 65.83954365118271, 65.46223416956964, 65.11224614643635, 64.91277664472456, 64.86563379889253, 64.2715740183629, 63.24639629467723, 60.81308145736073, 60.87694437612824, 60.79232431411454, 60.79920773171491, 60.68283792723636, 59.82796753175252, 59.7847899789138, 59.79211208290344, 59.88409874074073, 59.64336275474634, 60.36035264145658, 60.4963933331868, 60.250348142389, 59.86469619382198, 60.03399148124807, 59.85415178135698, 59.891377057812015, 60.49875730703392, 60.6038232579365, 60.8587091330435, 60.75981839915967, 60.51015119467787, 60.483512017757946, 60.41308473008092, 60.34404692187987, 60.43240347300032, 60.52287334749455, 60.461471820183625, 61.0993523225957, 60.96646121431685, 60.7180039968864, 60.9927082630719, 61.22839896257392, 61.139012619281054, 61.04506819779024, 60.869731936741374, 60.80711669750886, 60.67605689397832, 60.73040556707127, 60.21126321311858, 60.36260659889511, 60.323370321662, 60.20387680265977, 59.16184324183006, 58.64689483081752, 58.42660575054078, 60.132938777544354, 59.92642588931324, 60.01957661111111, 60.25968661492376, 59.73424478048488, 59.04713435531436, 58.79807823972922, 58.55700679637411, 58.51128089386866, 58.57362742810073, 58.79438797922501, 58.389840536538166, 57.173847481559285, 57.47273729753024, 57.21999124404762, 56.7147533129474, 57.0712828565982, 57.08637351091076, 61.896547886710245, 62.8025978243691, 63.233296785403056, 63.607029388266426, 63.87971386562403, 64.78104910279727, 77.49923250575786, 77.71254682096173, 78.0547312489885, 78.48127483285546, 78.35380439985995, 78.02639407310406, 74.31160274390172, 73.6550991844849, 73.29775767125737, 73.08574557236226, 73.079045774432, 71.67163199757164, 70.70585883428521, 70.12037903940073, 69.97736014180028, 69.73927183636788, 69.58964757804235, 69.46650436801605, 69.348048447479, 69.87822186772486, 70.34115502446313, 71.80127512762479, 73.02084846996577, 73.36225540377198, 76.0845284980548, 76.65539401343177, 80.21976088848558, 81.15898324416433, 81.51392677567692, 82.2030730478381, 83.23443002116402, 83.66687405610024, 84.3769043698938, 84.13227991293184, 83.07228669413321, 81.47028833496731, 71.0835952441086, 71.78561056572713, 70.33911719646748, 70.41952853103602, 71.0317136651883, 70.6352165035014, 70.48896965881059, 71.40476695424836, 71.05707576027078, 70.73696414222243, 70.83936115196079, 70.27775628314659, 68.8838580524432, 67.37822446646436, 66.71315231283005, 66.32266918440709, 70.68815382875258, 70.86672659997147, 73.18783534375972, 72.2915625943822, 71.9869653784625, 71.46229533413283, 71.26538797847877, 71.56148335137854, 71.89435234516029, 72.11406278983816, 72.05783903793962, 71.42237530150949, 67.21297785787561, 65.87578073630563, 63.87096281971613, 63.70286463110801, 63.779358720729, 64.08001783442266, 64.83390395868346, 64.80173540669209, 65.656455570028, 65.78817105088702, 67.39839345331465, 67.52809712099285, 68.087682227202, 67.83850507734205, 68.21604537986306, 68.98426266184252, 68.72751910200748, 68.35547673076239, 68.14473827178651, 67.59484196311857, 66.97098470968591, 66.29551664900404, 65.23795884111422, 64.92140694467788, 64.4688389675537, 64.16053807888072, 64.03396776525054, 63.00518540966387, 63.20991468923124, 63.2356309577498, 63.70835107111734, 64.73890435468347, 64.60540027233115, 65.23588818503384, 65.0077553024432, 65.01712585088897, 64.80266915935263, 64.31618875574038, 64.61653977069717, 66.00873176299409, 66.10604729995332, 66.3856942429194, 65.61751696988796, 64.59125443262536, 64.65192730671157, 65.43023289595654, 69.76412516417678, 70.70918635045129, 71.33653006461577, 72.33048884351783, 73.53554314893604, 73.36849521078432, 73.1269529229692, 72.72017546903206, 72.59307574929971, 73.43140449439777, 73.9912669197492, 72.4110771782602, 72.83188461220043, 72.51451127310925, 72.49474236181139, 71.2349049852909, 69.4260014703967, 68.47866749361968, 68.13636453470278, 67.77609645136944, 67.51667310239652, 66.36138051753119, 65.49908546786492, 64.02797025661376, 60.11625459013278, 58.916741915110485, 57.63629137474842, 57.05696473241518, 57.27763329622035, 57.80309640074658, 57.9928496325974, 57.76696918604108, 57.49022544211086, 56.70179549323063, 57.158915508890345, 56.9877435682384, 57.21266237644271, 57.17325348809525, 57.724721864067845, 57.53110034562713, 57.565613151487504, 57.27653284126662, 57.25795472673513, 57.49418267647059, 58.1025266870526, 58.21759482839834, 61.24004675404607, 61.90116041829612, 65.12079709500468, 64.99130370339246, 64.5302956381108, 65.14511550318693, 65.24728695681605, 65.45648393681917, 65.37385560441955, 65.15848827643676, 64.87095403888112, 64.8404677866454, 63.64165885379707, 64.90479886967009, 63.8289788198724, 63.9985278803993, 64.195040621412, 63.4286995445845, 63.08959056892766, 63.35145712869592, 63.25303096016185, 63.22668427201826, 63.11812157897605, 62.18286204275633, 62.75807395113601, 61.91889886134454, 60.34400995603798, 60.37390568952629, 60.11896383520076, 59.82847196910986, 60.15558237169312, 60.15249800023867, 60.28004461694678, 60.41501683769064, 60.24890501859633, 59.51121713857765, 57.32653720658264, 56.26568675357921, 56.00791841207595, 55.92697352840026, 55.87723778781513, 55.31728223311547, 54.87956450451291, 54.56601928601194, 54.39557646918768, 60.78176929435108, 61.957327459429145, 61.65262433722378, 62.07119841246499, 61.69014991316527, 65.07162169032058, 65.01198067522564, 64.94913281753813, 65.00845799190787, 64.86737461056644, 65.05974036344473, 64.13815232446312, 57.139356620448176, 56.4805408845316, 56.20112368550557, 55.98980766954559, 56.13877086819172, 53.57618143137256, 53.94695478485839, 53.89222280773291, 53.81504744277479, 53.74566645446871, 54.24238590600685, 54.30135691293184, 54.55185654256149, 54.87828512138188, 54.45986994143389, 54.80196644740118, 55.24280652598818, 55.149794989884846, 54.64766882872186, 54.4774538377521, 54.420063911686896, 54.04725811707451, 53.31875151618426, 53.59786905582336, 53.28839318059446, 52.86445897580143, 52.640073476346096, 55.64391793417367, 55.34262674424213, 55.09881715631808, 54.968969484360414, 54.949174880146415, 54.67208075189227, 56.01198046290593, 56.72351419568938, 56.72524164402428, 56.92600967701525, 57.35556384736493, 56.58918684741674, 54.08180601229381, 53.689085214519146, 53.90564476696234, 53.87062610939932, 53.88567701307191, 52.98008514845938, 52.48644363927019, 52.09652856248055, 51.8833607998435, 51.93574972622684, 51.83941159500468, 51.73136821241831, 53.87545331667703, 54.24175346887644, 54.40731617577032, 55.10001533465415, 55.76916287907914, 55.87177288759164, 56.44251569631186, 57.21100001602864, 57.66164456625107, 57.938545018776594, 58.02693201346094, 58.209457340266106, 57.3120139030501, 58.79023219787711, 59.33614318742938, 59.0947263301529, 59.09714466059759, 59.34412618419832, 68.03526582267352, 68.36213545253658, 68.41292674456842, 68.57503955999067, 68.98921316192033, 69.25551929326174, 82.29765768347339, 81.34268515460629, 81.64149511715107, 82.56879460068473, 87.16294851545805, 87.79216501023352, 81.26826659407097, 82.04349794631186, 83.57168445017831, 85.85742746545091, 88.16352822657953, 89.3798099718455, 90.98623372650172, 93.99455395074698, 101.4516527063492, 107.47075305827886, 109.6450234859166, 117.93698169412154, 122.13961827552131, 124.94182515509844, 128.2112607204132, 131.69111033014318, 134.26759567849362, 136.4782822463495, 139.34504018596328, 141.26737349206348, 140.5104964551043, 137.20444473171494, 134.56907648327106, 129.0588009317616, 129.7025360358699, 132.15125941339872, 135.85642615445067, 136.38614908364454, 137.4399785575008, 137.85980009866168, 129.30090664729224, 130.39807327855587, 129.95518067499222, 132.9434993064893, 134.54531241931218, 137.72919077855585, 140.5430663649238, 144.08887021304076, 142.31361536640213, 143.48743328042326, 144.84040728462497, 145.4212621153906, 144.2287599460245, 146.05678450684718, 146.2682396005291, 146.11099158847003, 150.66612566207596, 149.3198167349712, 150.48720033621225, 147.3528348925459, 145.9190971984127, 144.29971048117025, 143.10348204350962, 142.35925318705262, 141.09396943844018, 138.7211089641839, 137.75764879045158, 135.4689869082633, 130.57180854652975, 128.26492595539344, 124.97932162908496, 125.15051241044196, 125.86447042553688, 126.55888387791784, 126.66192535663262, 127.09205068592796, 129.6146700027233, 130.26781729839715, 132.36902598747278, 133.94643390666695, 135.1498374672333, 136.97964482360723, 147.2213621065204, 148.35583348848428, 148.73129330804417, 148.1578576784923, 148.096653728836, 147.28497097152194, 147.2969119291939, 147.97029514915965, 147.92725113553146, 147.9461611057423, 147.4824534623055, 145.61001064217697, 137.5941516074801, 138.68888052060703, 140.69229400676937, 140.9877654814815, 140.45040781637098, 139.7055487009804, 140.8763052938842, 142.4342082419857, 142.7546259010271, 142.9326912124961, 143.720121691146, 144.53749634593837, 149.04020722315593, 156.23103162612824, 160.51257761951445, 165.3138842739652, 166.8084115793651, 166.85415011048863, 166.17310199118535, 165.1724472261127, 167.47659278018986, 166.62537492359166, 168.98226930555558, 167.85518048965145, 161.53761071109554, 156.46604769335514, 148.89230429505133, 143.71905726641506, 141.9045688206505, 140.91113227488395, 136.7442024638746, 135.96133345323685, 136.72166450622473, 134.9305388303714, 131.62007495393715, 130.07949580713202, 127.54544440132727, 125.28522969350944, 124.43999575925928, 123.12836374805477, 121.60083517418602, 120.48857830457152, 122.43732838577652, 120.46436289877062, 116.19835737370708, 116.14854384772798, 114.95408877178647, 113.75130509366636, 111.71476844351074, 109.68840940079365, 108.68017912024328, 106.86823333998538, 105.41930575590509, 102.69234682749766, 100.85417951664982, 99.37113511710238, 97.78103464417988, 95.80801657461872, 94.87259754512918, 93.8981847640834, 93.66897454639874, 91.05422359429596, 90.81341121708684, 90.28577670953938, 89.91689394459746, 89.71960748643535, 88.94142080610023, 87.74231439847172, 90.01035931683784, 89.58686247268908, 92.8950566326642, 93.18133749390212, 94.11711639643634, 95.7175741721911, 96.20789550350142, 96.86380735976569, 97.14530480189852, 96.94593388375353, 100.36492311258948, 100.19601550365702, 97.45822916013071, 97.10865719973545, 94.6022312307812, 94.40424949172376, 94.81688815624028, 95.89393645557112, 95.8629963103019, 95.68755381668224, 96.12055109150327, 95.7586094204597, 93.03342209778504, 92.4612293567538, 92.10581017580468, 91.5654144675537, 90.75221235692376, 89.23723528625894, 87.72941703423592, 86.25912390515094, 85.78103163818861, 85.53558281917212, 84.52406631248054, 83.42060633699035, 83.35723676368659, 84.08503834617181, 83.85146414230991, 83.3040438792406, 83.18240538958139, 82.79173208932134, 82.13732780989666, 82.71229123551068, 82.16379810652039, 81.82767269840558, 81.78415569864613, 81.73251464277932, 80.79891515024897, 79.85798518713041, 83.24691818632357, 83.02688107454094, 86.05636902170868, 86.02893216643324, 85.92473743051666, 84.75605485978836, 85.30495483629007, 84.62003411352318, 84.28053142763773, 84.27956230130135, 83.93997952373171, 83.20679620238094, 80.24113711277623, 79.20840713437597, 76.15331640687126, 75.3391998155929, 74.96821972595704, 74.20893367545906, 73.44353902661064, 73.19616524455337, 72.55338532734204, 72.11266240624028, 71.7933480743853, 71.49972587430038, 70.95843387729536, 70.45787361258948, 70.47447545300602, 70.289832903906, 70.12766942526585, 70.67362888931879, 70.30363225279012, 70.20940444895737, 70.20986712562183, 69.38584186585746, 69.64901999112459, 70.16973855586616, 70.20641047082167, 70.43817541581076, 70.36427431769374, 69.95971813317446, 70.79984238495211, 70.28016155516652, 70.3799300375039, 70.73511178057889, 71.6426505445067, 72.08548624712107, 72.39647822987668, 72.31120795175849, 72.95888688772177, 73.19239082594149, 73.66740077738874, 73.43337948731714, 73.47968391042184, 74.27781189871425, 75.02634359056955, 75.4644737788671, 75.44304778361345, 76.19384932843138, 78.17704838803299, 79.46736960893246, 79.8764243487395, 80.62882445261438, 80.6308557752101, 80.94074767549576, 81.1102764606287, 80.64772682477437, 80.5280140245098, 80.16616000132275, 79.65892034379671, 78.44559891791161, 76.91597706248054, 77.08086965110489, 76.69861353952693, 77.00369703392468, 77.84747641643325, 78.0347302868639, 86.75957577785559, 87.69376119809304, 87.80015662955182, 88.3200991292406, 89.50662149089635, 90.40015292180206, 103.5470120850367, 104.45128437247122, 105.524269879474, 105.64792800070028, 109.32325640475024, 109.34645024816852, 103.50919544257572, 104.6346297217314, 105.81602109002488, 107.71058558006536, 109.02590276501712, 109.68564890170208, 109.59561074525364, 110.77227099081855, 112.20872598756358, 113.77348735906928, 112.83587869063182, 115.33177455426004, 117.85419712208218, 121.620311664488, 124.76027468899782, 129.02978851820728, 131.7936478296763, 135.08287443152815, 142.84054603423593, 148.01419847500586, 156.32571557096173, 159.09331571428575, 161.2249930864457, 164.01386664877063, 167.76206774968875, 171.7513336346846, 175.977583842579, 178.36366247782448, 181.46423336655775, 182.1264547784774, 170.58570399914407, 172.06706576283847, 170.8302923581544, 173.3697705120604, 176.52661735083512, 177.41931942989416, 178.01438752085278, 178.7119435168054, 178.28047413731585, 177.16031490336138, 176.0187634496304, 175.8463994416433, 175.81664658286647, 175.53773143565203, 174.55648785379708, 173.54180498117023, 177.92026882422968, 177.16252775163397, 178.76256498951736, 178.10056743180832, 177.8513936809835, 178.55514736163522, 180.17163634025832, 182.03894930493308, 182.34479280377568, 182.26326778065675, 180.9430906443355, 179.05492649821036, 173.15349271140684, 169.78316640787426, 166.85912085290678, 164.69072206699346, 162.2191936622316, 160.1897708560218, 158.7390319004046, 155.86847787605043, 155.07963877030812, 155.29635451960783, 157.62894890382822, 158.48704956567073, 159.0486553310769, 160.513279225568, 170.2218539387644, 172.6939853309213, 174.30156656707126, 174.13302495569948, 173.05100725210087, 172.24862182869273, 172.26659047938062, 169.553891743075, 168.23392935869904, 166.98269607454097, 166.05435178898227, 163.79538787636164, 154.30347519802365, 154.36181918845315, 156.5335191056279, 159.20921852832245, 161.2356004333178, 161.3667594784469, 162.24506762591295, 162.60489436095546, 162.75698970284262, 163.0797948555089, 162.94203859150326, 163.65338117117955, 163.96036261562404, 163.76762829333956, 159.8664826163794, 156.03985751766265, 160.83605072564583, 161.04205284710548, 159.37376573117024, 158.70606731403348, 161.8845903013539, 161.67764138554313, 166.75457546700906, 168.04478651027077, 167.2341866658585, 165.43166242911613, 170.83474362091974, 174.24679571988796, 169.3192911643383, 169.0215693657699, 168.9941626681451, 168.69963375053428, 168.4572118276533, 167.053974085427, 162.05106106069098, 159.19408233862433, 158.9123886678727, 158.3220701564737, 151.9409981913101, 145.92119778018986, 141.1594870456725, 137.90862922836914, 135.94511867958295, 131.28859432469653, 126.37500116051976, 123.75760490755135, 121.45581804883416, 118.32697771444133, 115.38643206224712, 112.95374249606247, 112.3198187237784, 110.7330781704404, 109.65472822292251, 108.5119183209029, 107.8561800874396, 109.58678681034016, 110.74811389978214, 110.26711676399005, 109.33680146218488, 107.99887383837785, 107.23267152762216, 107.83773092172684, 110.00027965569562, 110.169957809446, 109.90516441464364, 109.21038669201684, 107.51150006503462, 103.83694208050396, 104.78431047634608, 103.97818344926404, 107.26001746630877, 107.54084638095236, 105.8347002344382, 104.06293175840337, 101.07885933859323, 100.06747591806204, 99.46348570131126, 99.42058416654515, 103.05962421568628, 101.91344776159352, 99.53226257765328, 99.97698631784937, 99.33370045802344, 100.022651527613, 101.06920489488016, 102.78518690791708, 105.81488906185808, 108.13139205220202, 108.26292892071274, 107.01063771903206, 104.51353172463428, 106.90391768938686, 108.73923301721456, 107.02341044786805, 104.922953471911, 103.807440164335, 103.75093223902894, 100.48240453572984, 97.27995240552572, 95.29137966038722, 94.98448565943043, 95.02309496462742, 95.2654918514628, 95.16758776712642, 95.33411020907252, 95.5017455224868, 94.63467232347882, 93.67244344089292, 92.84233954847495, 94.69631845852788, 95.60649574015584, 94.73510567374728, 94.24031697613282, 93.2550593460162, 91.70965504567384, 89.50931758683473, 89.49712670580455, 88.22602938437598, 90.61621204575164, 89.56791419288827, 88.78022465234723, 88.14117459064737, 86.48411578462495, 85.53640391293183, 84.65414248202615, 83.44012669545594, 82.30761950555343, 79.13709924447556, 75.63039351174916, 74.78421613600996, 72.23656222560368, 70.82659912878232, 71.80371198467164, 69.85747089252216, 69.62781029964208, 69.42703201448526, 69.35122966464364, 69.3576138144381, 69.58346427554248, 69.7481654964208, 70.03057474950202, 69.59834291884532, 69.2234663307353, 69.0249074107477, 68.54601358343338, 66.82539735939932, 66.67128998599439, 66.67108695743853, 66.47729791911073, 65.85094152878145, 65.85841101532836, 65.99038552895918, 65.27656684368192, 65.28717867896442, 64.8994900830221, 64.48661372247135, 65.08754233811858, 65.74063566370992, 65.66404339350686, 66.28364237861811, 66.62957384259752, 67.16495065683668, 67.80816750762527, 67.84734324439778, 67.87729163762761, 67.64296662927224, 67.74164779819614, 67.1259607662465, 66.90279610792095, 66.66551289500546, 66.44563081886089, 65.64113525550304, 65.33879149506438, 64.5118309800712, 65.10382308600826, 64.88592584674615, 65.02903940413555, 65.51913170164441, 65.71751530865428, 66.12791654740377, 66.38309423576096, 66.71854232111733, 66.77974948965141, 67.03283534982882, 66.77840729901962, 66.60164267802676, 66.50406599679495, 66.6494554231248, 66.64666325149787, 66.65276498708371, 67.40311062099285, 67.8440599241869, 76.16262277987862, 76.06308962047258, 76.77399778594771, 77.45373247575037, 78.26739089900404, 79.2078509972767, 93.65530390413944, 95.68339240163463, 97.39901075754749, 99.16539627769998, 103.83181616531864, 104.5855146964571, 99.03124746101774, 101.16542989951706, 102.47100404956429, 103.98725122525676, 105.78104485068472, 106.8818035975996, 106.62092137698411, 108.57290830765642, 110.05345612550576, 111.62719697712416, 109.85974553781514, 110.69813677553114, 112.14892011539456, 115.39576977995642, 118.10051070471005, 121.15402745385931, 123.72752972938066, 125.93546294002748, 131.0703442576136, 136.07571308954127, 142.34540320852784, 144.80132871101776, 147.34476328571432, 150.42686287799248, 152.27561079505134, 153.91710570829443, 155.83865453384684, 157.1007182065483, 157.61105743376518, 156.75840410107375, 145.34182363705457, 144.50692614102343, 143.94155737519063, 144.79616685996774, 146.7899717840025, 150.0380972733511, 151.427014991122, 153.54100884103644, 154.08515015497227, 154.36455265631812, 156.43347519964706, 157.81994845490652, 159.6030656862745, 159.74613425575785, 159.0134348128696, 157.94558403679645, 160.68020212001375, 158.45037649976658, 159.76245147860254, 160.48858423900322, 163.57716968853097, 161.62659529847497, 161.1533559754605, 159.26342942542902, 156.51223048650476, 154.82008123198918, 153.66111044864613, 152.1190757548969, 147.91158672860257, 146.23069164145656, 146.21106443043885, 146.58651545867764, 148.5426101612906, 151.08527717025524, 151.70367068572713, 153.64313475217867, 163.55486843909475, 169.60000421967723, 178.6587642963438, 180.78809159484905, 182.26979436150012, 183.1874073806412, 183.5751431785912, 191.9101486403472, 188.2726510943044, 186.0308095475977, 184.765607401999, 183.115509627995, 172.5755743708917, 168.6073492831466, 161.82874925617855, 159.50309334267044, 159.6137465408497, 158.48265688358217, 149.71614156167715, 149.2331397857143, 149.78802638785675, 151.86295070120994, 152.51131720432693, 153.10989489145658, 154.36591139448058, 156.00333191993462, 158.48817607081665, 160.8246777938842, 160.94567929606288, 161.65508209586056, 163.6698367381659, 163.48463562783354, 163.69484657374727, 163.9296039589169, 165.0041922277467, 165.12415479341735, 164.5384165447401, 162.39716472067255, 163.30975628345786, 163.46147696086214, 165.47291526781694, 164.94154232088388, 163.56981164254591, 161.72730076299413, 159.98134128983816, 156.64227167342372, 154.19097817343606, 152.18737966448802, 150.56589278477088, 149.48866848731714, 149.87509706006847, 145.31396708339236, 140.877664787572, 137.476568468798, 135.5714864931528, 135.4583957539527, 134.38636922596157, 133.77366110270776, 131.97658804078353, 130.25556416093474, 129.42105853703703, 126.3735362204326, 122.089564386399, 122.08708569211016, 121.86019554612773, 119.98036754156176, 118.7830401696234, 114.9266835605308, 113.82316810563724, 111.94888599719889, 110.44712336328978, 108.78309819509371, 108.20661158691252, 106.65721827524256, 105.32002490467242, 103.76453010859592, 101.6295110374261, 100.80391639978212, 99.99799423039217, 99.2842551406556, 99.12428504501864, 98.89788838336446, 98.80550719102084, 98.87067875448312, 97.48546630991284, 97.74198475139733, 109.1696276359672, 109.1304340926704, 112.73910367079054, 112.95102463188611, 113.28140140351697, 112.55079905299696, 112.36253125289451, 111.54454190412062, 110.4071056076097, 109.05887978172252, 110.65732518160016, 108.3470132902272, 96.65628163352008, 95.10244399354184, 92.2164145454404, 93.09776685247432, 93.55322849696545, 93.9730073617926, 94.02174093574928, 94.14635348194837, 94.4469707447868, 93.74828695930594, 92.276300473934, 92.75587293876438, 92.70414954217048, 92.5486458235294, 92.90752586476812, 91.1148972920946, 89.74792966666665, 89.13756685846562, 88.76612756610325, 88.68346977071157, 88.89258204139435, 88.76573101447246, 88.84661676470589, 89.9770478610333, 89.94058058224401, 89.90124097298606, 89.32565861150015, 88.56176457156992, 88.6890071093993, 88.48982284539372, 88.346438033133, 88.08274563826191, 87.60470142787115, 87.74783963890704, 88.01667406501582, 86.7106317926088, 89.83078738624341, 89.66782258582323, 92.69256033901338, 92.61929840933058, 92.4513343007294, 92.07452252061935, 92.3054171146125, 92.45669930197636, 92.78641472268907, 93.49845881427017, 92.34269829225023, 91.03760721374104, 88.06667642600372, 87.31858242404034, 84.60739917514785, 84.44405216215374, 84.07093830561261, 86.468345442188, 88.4452855787302, 91.28765612363836, 92.8109323925178, 91.5173355979102, 91.63121028330222, 94.21645660978837, 97.50108157391848, 100.1442983618114, 103.1500892106462, 104.21266863725492, 102.54715337962962, 99.27445485068472, 96.2365586950345, 92.4739344186897, 90.29177077551616, 90.38001024229692, 89.5165971853408, 86.02494500638032, 82.62551876353875, 79.48163105175402, 75.77638758877995, 75.4462664938531, 76.53784011461254, 76.1685870131374, 75.94402603828199, 75.85843593394023, 75.56338892779334, 75.01841647611266, 75.62390993347339, 76.36712580353252, 76.03812519825709, 75.74247086754525, 75.95436624797698, 75.20273996266599, 76.1713278513072, 76.0389751616091, 76.2505720699275, 76.13018683694114, 76.11026382998755, 76.34551984663865, 77.78986432881135, 77.29202639737007, 77.43627216262061, 78.16502176198257, 78.16912530633363, 77.58832583162155, 77.22894529777469, 77.6811838331693, 77.77645945160288, 78.51363296171803, 78.79925620922813, 78.61857059056956, 78.21166267528595, 78.93929591581079, 79.82104653898224, 80.00337348895114, 80.67100922851957, 80.70326763958917, 91.05780316479928, 92.62018916277624, 92.79083098560535, 92.96277100202305, 94.00162735993295, 93.732116078208, 110.56253083465607, 111.1253550838002, 111.3544652726424, 111.96864227910054, 120.26727895588236, 124.09485274587612, 116.96366937807348, 117.5937807096911, 119.86717591781026, 120.97933314659198, 121.37775085449736, 121.65193275124491, 118.93169980890136, 120.08846687184877, 121.11664410131306, 122.07616475739184, 119.36096354512917, 116.74793465289449, 119.63981610340802, 120.81889410426392, 122.52520884105934, 125.64445353390654, 127.88719939137876, 129.61696187301587, 135.59337112371617, 138.08337182244009, 143.1800138572985, 145.49698108185495, 145.0300236611422, 146.2060811118114, 146.9994853869255, 148.07621520339248, 148.73893663907742, 149.6011432528789, 151.14812094374415, 151.02942614137876, 143.0573688706816, 146.4419297769997, 148.55112301766263, 151.52723818308434, 154.26416749447554, 155.6219115526766, 159.3663534954871, 164.12781306848805, 165.78190104829795, 171.52202206274904, 175.4303266206038, 174.6540526312636, 172.07439915616249, 168.70794764456895, 165.85490860465296, 163.95603730189853, 166.7601147657174, 166.49415392507, 168.05033259166603, 164.43622472454672, 163.761889230859, 156.93880285276936, 154.96670217351385, 154.2714019833489, 154.3905723823439, 154.2294238485061, 153.32193863515408, 152.2598477475879, 148.40097359998444, 146.6692607681515, 144.49243368300657, 144.12110884936197, 143.44958228009716, 143.1685155568783, 142.1470457929505, 142.99448527668844, 144.22365590762203, 145.51221871628152, 147.79016023840452, 148.03866892351385, 149.018690482493, 151.47947130981757, 154.3155843713041, 157.38639285185184, 160.38576321385912, 161.13512422619044, 161.6680817609711, 160.43863123054777, 157.82553028728157, 156.6976606598195, 156.0110132490663, 156.66792741914878, 157.54529103120137, 154.21112905757855, 150.65246929232805, 147.570076300887, 144.96203448825085, 145.39809546117334, 147.92628038305324, 151.14730396078235, 153.35167405146086, 152.55510333560667, 151.79729963108855, 152.49506070860565, 153.95996517545908, 156.45742728733725, 160.77193372696854, 162.3463424810924, 162.86551709897296, 163.0390957722877, 162.97086603990547, 161.8721793058882, 160.3542020586679, 160.83579901003736, 161.6606990531435, 161.89600403819898, 161.3969291728914, 160.0556843916122, 157.68325348825084, 154.95440872610487, 152.8594885484938, 151.5964569373567, 149.8224305709922, 144.94690445619358, 143.37618154769686, 141.43730072406763, 139.32396389962653, 137.24846773303764, 134.57623636095548, 129.58601445666042, 126.55641104102024, 125.94220850816993, 125.1079715391379, 123.27385116931217, 122.66683437503892, 122.2602284888034, 122.48588693292872, 121.76031165367262, 119.56340744530036, 116.48007183921892, 115.69476488422038, 116.37112702028152, 115.11599397945844, 113.1770748243853, 113.30506313954768, 112.08532424895348, 111.14250746838998, 112.83688556427016, 114.6082183384214, 115.89285882633052, 115.32944337371616, 114.76755623856208, 114.13046970572674, 113.68718221693057, 115.09860465460628, 113.62899516868968, 111.90092889939308, 111.16195476672893, 111.13600781823196, 109.66324563656956, 105.394438314737, 102.96872519436664, 102.8145604870059, 102.43203714036726, 100.91905887978524, 98.89002151268284, 97.2357925925926, 97.7066190830221, 98.52189919537815, 99.08049523809524, 98.6330677814348, 95.98631515771864, 98.3503211462736, 98.02472359251476, 98.07588852474323, 98.42478774797696, 99.10857927061934, 98.58528029536258, 98.20211625451292, 100.84743603952693, 100.92131785807658, 100.38724569988328, 99.410895115779, 99.25086065538436, 98.07676543106132, 98.29447600412388, 97.83451713054647, 96.62523613141924, 95.6096174735136, 94.82186655244254, 94.71903579394416, 91.16585269747898, 91.25591637348272, 91.0182555726735, 90.1005898032978, 89.12531666394335, 88.35502455101864, 87.6693550908808, 88.31561909414877, 88.96346363748833, 89.51670489908577, 89.49172513523186, 89.8674595820106, 89.95295937027116, 89.751147778089, 89.60555776190476, 90.87564765141612, 90.33074549657644, 89.8400901617608, 88.5181952683108, 87.53117578633524, 86.14661030117796, 86.11506397436281, 85.42219342921983, 84.43010850069022, 83.39393467447748, 82.77947478166823, 81.06517201898798, 81.69186186026937, 81.47002265040462, 81.53594232694847, 82.28513718503993, 82.32673386652831, 82.32821350805906, 82.70943942928884, 82.57998979245382, 83.00522765220589, 82.68588570367841, 82.36538156909062, 81.79098963100412, 79.38887522534448, 78.91505616128099, 78.85907880329911, 78.07434327388863, 77.08169821265173, 75.72102308714597, 74.39136923319327, 73.61161138492064, 73.8159936949113, 73.7671931967009, 73.45171426844071, 73.20694143170974, 73.24011470767196, 72.85745883948023, 72.72694456877595, 72.74073486834733, 72.80446470082478, 72.6089985962496, 72.77767191735722, 72.0269542814348, 72.18636368794613, 71.67048630820105, 71.5539235498755, 71.10682898163384, 71.5718049533098, 70.74244527415154, 70.51953105334016, 70.27258454023227, 70.25426956093409, 69.28484449205759, 69.86712665476804, 68.65203409084829, 68.61242743303507, 68.07708347463847, 67.83298229206376, 67.43958133396944, 66.98583263585435, 67.03259087161531, 68.29811350342361, 68.16433483006536, 68.126336435263, 68.17081069218798, 67.96939097821351, 68.2683128103797, 68.38818810840013, 69.15180869264577, 69.32987832133911, 69.24311295347027, 69.82076762869595, 70.48286036741362, 70.40430808432929, 70.87454026610644, 71.41711055283224, 71.8606084773576, 73.82675411943667, 74.48052221132897, 76.09533548972924, 79.59667607290694, 80.41561681123561, 81.53836911912543, 82.81113525044286, 83.3275216286233, 96.44597378649236, 97.194029125865, 98.14354900529102, 98.89061984584224, 102.89614341923112, 103.94478892818238, 104.02131349228785, 103.0116081256614, 103.8666900962496, 104.46116669157784, 105.46907147074386, 105.1057580770185, 105.95621901098274, 107.11338980929038, 108.5530988987706, 109.22876325544078, 108.08541736328976, 109.08003583932462, 109.80616582664176, 111.36268471848742, 113.28508155125144, 116.01992675217087, 117.99620096785974, 118.70523110441565, 122.8936590062404, 125.64331660075992, 128.4468423476651, 129.72425577870953, 131.53860632855933, 132.57420354702614, 134.02212408000028, 134.5614959099738, 135.19597874424215, 134.9401982003579, 137.269154146592, 140.38620446667056, 130.5833582759882, 130.42704195798322, 130.1385617237784, 130.82763406152478], [58.941782641384606, 61.4012143492051, 64.873267278089, 65.00210737484994, 65.45264151171712, 65.95495003021648, 64.50182501073763, 63.882343294117646, 63.35379262947401, 61.10174886256031, 62.33368565110488, 62.81942437278245, 60.51315838911392, 61.86667579723, 59.47005002246009, 62.40167144230211, 61.03067032232143, 59.72082284134765, 60.2309294058039, 59.87017553797074, 59.962049886015855, 59.263034078942695, 56.581702482648616, 56.99978450816994, 57.52460710676874, 56.0642122839526, 57.04255095182851, 58.38604873537193, 59.3028743077342, 59.81398787643947, 58.955899503812645, 58.90034904870837, 58.57096632241609, 57.08670075531496, 57.45938183800187, 57.85651183838962, 57.52529584010272, 57.06728987192655, 54.85784424552341, 52.1290941896981, 50.38587553446936, 49.13251369794585, 49.52425281769374, 49.844140817436326, 50.478618557889824, 51.04947698232064, 51.846377864845934, 52.31363111041083, 53.7106364490877, 54.06179975630252, 55.04609467950514, 55.635898895035794, 56.62295803773732, 57.55407281318084, 58.11654846864302, 58.46487092766949, 60.751287518207285, 63.78229713702147, 63.23825402445537, 62.88819820684719, 61.59939389430316, 60.92628317631497, 60.34115069089664, 60.05453519946765, 62.127677625583566, 62.4654545235761, 62.319671088624354, 61.15315320687896, 58.96870392561468, 56.7969475576564, 56.6496331817616, 57.428756181267325, 57.902740807967625, 58.92673030718954, 61.533561579118064, 61.75793354754124, 59.44487224533147, 59.783141046374105, 60.4136151669779, 61.61639820618841, 61.39149354691877, 62.343261569148126, 62.01404486502297, 61.04555340925346, 59.96724454357298, 60.16648421708683, 57.400585066837856, 56.48477477661064, 56.71954919553378, 56.1365464631964, 55.5970516966231, 54.40000096153194, 53.5464077107065, 52.291696279956426, 51.70017640296517, 52.1621735177975, 53.117925032679736, 51.304607045440406, 55.20102524369749, 57.18021346802056, 56.34889145222533, 55.67545528018986, 55.10494177673255, 54.60595656956116, 57.78139942654839, 61.15953102567694, 60.83242289775911, 60.24887366627763, 59.26642137215998, 59.22428027349828, 56.81394618518518, 55.1748913610333, 54.72275758264168, 56.31140458047778, 56.11255035406293, 55.07212611912543, 52.17565964588909, 49.7171657796452, 49.03744240087146, 48.10591636756925, 47.93863257002802, 46.12724882640834, 44.63836630182073, 44.26280591845627, 46.2228575765724, 44.469537465997504, 44.33645224867725, 44.33251566853408, 42.20986595510427, 41.92028944817928, 41.71831199665422, 41.7245861916349, 41.68877414799253, 41.92460673319327, 42.24897181266907, 42.57344658146592, 41.28835529310613, 41.582987494553386, 42.25618099891067, 43.86711691254279, 44.13454203369126, 44.00098323288204, 43.96459825412388, 44.55543687648202, 46.22909288422037, 46.06792572673515, 45.6231615762722, 45.39435046061961, 46.75218159687208, 46.09182814145658, 44.46027019662309, 44.734803646358536, 44.23228959134766, 43.85736023762839, 43.43984543399991, 41.95431058467813, 39.82435362413179, 40.09908481170246, 39.2734482587146, 38.24451729925303, 35.27130575124494, 34.573867623404915, 33.311464150171176, 32.1726791004273, 31.7337923600996, 31.91568549080753, 31.84123112122627, 31.293490678710874, 33.07102675225646, 31.685143460335787, 31.42055436048864, 32.74303876353876, 32.77405659975101, 32.656750203843764, 32.37605881596642, 32.46261340452848, 32.11419520136425, 31.970244375817, 33.00588622362279, 32.74630922318405, 30.316382420698464, 30.349688515974837, 30.163864263460944, 28.420098673561185, 28.082364815515096, 29.58655469801847, 29.366358731888685, 30.238912492608154, 31.88830473716153, 30.31194028129799, 30.132353911375667, 30.046600303882663, 34.19058097401184, 37.28513394211018, 39.308624286803614, 43.04854361142235, 46.83960833048293, 49.23149115336134, 53.09301431637098, 54.14730465266041, 53.69743973148149, 57.48921678563647, 61.29143597032499, 62.86515233263305, 61.17298063545104, 61.001700220651365, 61.74420187636166, 61.64219491153128, 61.8789153199502, 62.726039725412384, 61.02416944965764, 61.08837585029568, 63.03740768930907, 61.47598801587302, 61.43897610037348, 63.43473046421379, 64.92388822642391, 65.08749472281941, 65.57815759640525, 63.01281398358232, 62.79659043596327, 63.24136217421415, 62.551454640765385, 62.47728622257889, 63.04916960549331, 67.49155650832556, 67.51796149470898, 69.68678351604163, 67.15411694624389, 68.83769404162777, 69.52321213828473, 70.2898584441332, 70.36659194841269, 70.34035553820416, 70.38473470424837, 70.4468026346094, 68.91012422563868, 67.15092879785247, 66.95857087269621, 65.0285352491441, 65.43687355967879, 63.6378514475568, 63.46421211311405, 63.31453394475568, 61.700878574618734, 61.67495609103641, 61.87275967413632, 61.90503801385, 61.66065225894802, 61.34794371405228, 62.1125241739807, 62.930295262662106, 62.84202956621537, 63.17740966791162, 63.40084145230316, 63.06957849836602, 62.98815693362901, 63.265295348316094, 63.275573142779336, 63.29825752287517, 62.58717837270399, 61.92108601859632, 61.42413990234983, 61.04363783972015, 61.20577782438531, 63.048192007936514, 63.10653011111111, 63.51685925420168, 63.73387133068718, 63.579571219651285, 63.43564065624028, 63.24858606590414, 63.15467904411764, 65.5451224572051, 65.45765017740429, 65.3193098596736, 65.02181468152038, 66.19215736562403, 65.98091553882664, 66.67564758411142, 66.6261610280112, 67.01699049081856, 67.77609020004668, 68.34553946916239, 67.17997545111267, 72.45056753867102, 72.67931500766029, 74.28928530541552, 74.47013189130097, 72.51628476291629, 72.81711342724091, 70.70095021458788, 67.25578770580454, 64.550383674681, 62.099298550381256, 57.82816177170868, 52.06853534126984, 48.28216973731715, 43.4808154248178, 38.60710436647992, 35.478523425807914, 31.221674822362274, 27.37024860714285, 28.108737625001947, 28.15131223107413, 27.21785993043884, 27.54928801727357, 27.639918421335206, 27.727377474658294, 26.571519298552754, 26.87344268261749, 26.890840829365075, 27.526952129551823, 27.643341046885052, 26.96369181781889, 27.24477171615313, 27.217402740070938, 26.79509592259453, 26.69168979752633, 29.87445278050109, 29.768193690775757, 31.061691631963896, 31.24848130991285, 31.56483308504513, 32.914695821817624, 33.06320423957361, 35.06238596560004, 34.788468908263305, 35.25857857692058, 36.04501005845135, 36.40289348727679, 33.66671082985513, 34.012964513406914, 32.615855917274914, 32.745286923460895, 33.041953259526835, 31.89669102291933, 32.32069525926445, 30.64644831143196, 30.30902072544256, 29.74721316666667, 28.933836104173157, 28.573007201680674, 28.37276618063988, 31.330456589327216, 31.66487717351385, 31.11896007541056, 31.16670996490819, 30.81271378423592, 30.35539786423397, 30.22235192117961, 30.49643936172256, 30.42073140701837, 30.56692719747445, 30.498835840490457, 30.13394829139434, 25.871422598117025, 25.90165456404451, 25.91566239855665, 25.56779571449192, 25.683696867335826, 25.59668704604733, 25.83967787177093, 25.62249248327109, 25.753680543183943, 25.603078182928733, 25.518090556722697, 25.482917173568968, 25.80812322626829, 26.046633642001247, 26.14773526065982, 25.953896126828518, 25.46639586834734, 25.562229350038265, 25.219301350529104, 25.92858950954456, 26.121874461251167, 26.58341310597573, 27.11876501812948, 27.430628458216617, 27.39240479240585, 27.54977591153128, 27.85640113569873, 28.222402416163856, 28.969297804866976, 28.986252159897298, 28.84136411204482, 28.128688149859947, 27.59490699745889, 26.96680459936197, 28.090740671879864, 27.73263125138177, 27.324517317217165, 27.365420190087143, 26.80050885301899, 26.283981945338603, 25.432035400404608, 25.142107771188225, 25.480606893580777, 26.394661709305947, 26.69638206940554, 26.99278514018636, 25.751659767507004, 25.823896095721167, 25.98248146654217, 25.38329604474012, 25.484708286181142, 25.713321698490503, 26.083896173280426, 27.89615609723649, 27.813041698334885, 26.948890917444757, 26.855702646943413, 26.787259345411965, 26.536811101774045, 28.59014737192655, 28.78242863997821, 32.55982410620915, 33.52181993899783, 34.224967363289764, 34.85724112340492, 33.5429106919818, 33.54010462994086, 34.417329553373015, 34.82579095774977, 34.89051613058165, 34.735184703587635, 33.79302936391223, 33.61412690460629, 30.469615774647146, 29.41954305943368, 28.47523403516962, 28.034691821106247, 28.096342958605668, 28.096548434173677, 27.02558324115961, 26.545660061780268, 26.478144335366093, 25.491050910986612, 26.58176742896047, 26.434493132741984, 25.96409675088837, 25.990739329909744, 26.30730127233116, 25.765286494678563, 25.276043285091816, 25.080518100918148, 25.44396353051731, 25.654559058391044, 25.55643483378273, 25.26157594800874, 24.67854260451305, 24.871254083800185, 25.38868303754735, 25.44963918069108, 25.370991600150568, 25.79778496739807, 25.610606928026765, 25.222127567693743, 24.96679018502892, 25.01590537208216, 24.969871468291583, 24.484130486461247, 24.099513990411356, 23.950029901055405, 24.814266879772937, 24.44624820122942, 24.30254866643454, 23.840878894855532, 23.966818009726115, 25.8136181853408, 26.19399873763033, 27.87766064589169, 28.10267066522296, 28.28611419584633, 28.518158680283225, 28.208373767305936, 27.066216697089946, 27.188340318938685, 27.22513779450669, 29.32667485389175, 29.23906664954871, 27.523340993832434, 27.446801943123745, 26.068879401960785, 26.189269175975856, 26.28474070996553, 26.3169867106287, 26.40077252264239, 26.584643179582947, 26.63628580544014, 26.71617864690321, 24.6257514038282, 24.805840258092125, 24.837229134765018, 24.67836042930876, 24.31674294607843, 24.075902948801744, 24.418895667833805, 24.59512529302832, 24.42147927787656, 24.504897010037347, 24.655155270061083, 25.99206281535948, 26.54313218198335, 26.353730218565204, 26.43389848054778, 26.48195167203548, 27.819831842359168, 27.746073584171725, 27.127150239722745, 28.371557758558986, 28.5651643524523, 35.64853879326175, 35.359286039524335, 33.72550182896956, 33.141992913943355, 33.300564859521884, 33.28472432955601, 33.34242750051486, 31.752449816370987, 31.82015593804856, 31.910781530656703, 30.282363692851003, 30.163639932935325, 24.66858756053532, 24.843062490433404, 24.93753184053066, 25.69361826929661, 25.59489462885154, 25.517461993056205, 25.69866719148771, 25.587189380940064, 25.535254479380644, 25.54687680625584, 25.63473862916019, 27.002334803324384, 26.74647285978836, 27.138632092903837, 27.80075896724245, 27.880479243213127, 29.67188730827887, 31.29827850134616, 30.959448352217557, 31.365305126283847, 31.283064286570184, 31.282307984827263, 31.139530158263305, 28.694760504435106, 29.78311285776533, 29.54640398879552, 29.49088577482104, 31.06879184430439, 29.64389716588858, 28.205278112122627, 28.850369743619677, 28.694526801665116, 29.00195253734827, 29.36584153057889, 29.7022303793184, 29.900588909686167, 32.75584869786804, 33.044837205096485, 32.56056845642701, 30.446684071106347, 31.516420630252103, 31.75506227038593, 31.236530449502023, 31.083985961015145, 30.9813856171024, 30.72017601929661, 30.592821195580484, 30.614213678260192, 32.17687531408093, 32.24136498058863, 34.15946756216932, 33.92335319328185, 33.95195382920946, 33.74520058263305, 33.77473164822596, 34.97284503874883, 36.5087513015095, 36.55936346890194, 36.752788040917125, 36.61503265406602, 167.97568359555754, 371.0068673414255, 369.7306167499494, 368.75140300951546, 368.6183893338992, 368.9123254821818, 368.9947586052755, 368.70504684671647, 368.94933989737007, 368.9703622191852, 368.887628218643, 368.887360381108, 196.52521276316676, 28.93426535558668, 28.81139691849908, 29.703833988207958, 29.64537687423567, 29.070201984901843, 29.12411096025652, 28.87276699976657, 27.298809912075946, 27.345683642770258, 27.435840973544977, 27.07700823918456, 26.50357338671024, 26.271750729737267, 26.16740367110178, 25.416600582295235, 25.47549882454093, 25.409440321291264, 25.406752160130715, 25.17676685122938, 25.220370390211027, 25.262359780257945, 25.087683763633425, 24.9263572447868, 24.82480837375016, 24.671575401805168, 24.727373729400096, 25.159994431372542, 25.12436251329689, 24.778072215011928, 24.753405420479304, 25.13280539651416, 25.30410765283808, 25.29311151019296, 25.356244022564585, 25.56376974320831, 28.47632658928313, 28.8919935427949, 30.699627437441645, 30.394361725254186, 30.2806682872549, 30.326807255835664, 30.576670391612204, 30.3988712237784, 30.182143482337377, 30.153859754046067, 30.24181509342324, 30.184643256597337, 27.635013786647995, 27.468744495331467, 25.709681902038596, 26.098090057537743, 26.05084059190269, 26.265890401882974, 26.173225952830947, 26.33285182617492, 26.396674022071156, 26.39595943140243, 26.21256024828821, 26.02893681656617, 26.42799034484905, 26.633905344382203, 26.868695515717395, 26.740567479916955, 27.138289368036105, 27.1556690996732, 27.243268240974167, 27.507997676937443, 27.94917445634921, 28.43161846559685, 29.03478375832556, 30.1154276437902, 31.454790713663243, 31.23585759819484, 31.105841986616877, 31.259715965764084, 31.00187127577765, 30.984767894646748, 31.59195324004046, 31.4748730497977, 31.497402663149717, 31.484175445689388, 31.79037021971229, 30.314308131574847, 30.427513049253037, 30.81913788293781, 31.17379631403673, 31.46375984965181, 32.21376881108913, 32.690425853018986, 32.57557332064725, 32.63087862916278, 32.68514822478992, 32.61578767312481, 34.056495578197946, 33.879748598661685, 33.51848457648615, 33.47539377373172, 33.42298264565827, 33.40316006932773, 32.70932013608777, 32.38632018806411, 32.268620090024896, 32.262813763735224, 31.819996736903292, 31.584889548996912, 29.421305180276097, 28.746681103641453, 28.64263852723312, 28.357950381263617, 28.01927860885465, 27.303457547230007, 27.29029619981326, 26.831261789682536, 27.75222993930906, 27.55956858667912, 27.58546177698089, 27.36105321374105, 29.89353984163993, 29.90290177816682, 29.57416321512477, 29.53462468962029, 29.605486192888268, 30.53702460006225, 30.15039301237161, 30.10056392545908, 28.676396878695925, 28.60265225357921, 28.36623315336267, 27.394695204444183, 27.508514238741707, 27.49194504606549, 28.722227190631813, 28.807437802365392, 28.837752904450667, 27.919386835200747, 28.31346485675381, 28.339559991830065, 28.91414176758481, 30.718182950746964, 30.96288670277, 31.39987927349829, 31.041675205960164, 30.861627597805786, 30.842963165576705, 30.733896699502026, 30.880657490351695, 31.278509913943356, 31.094989897292248, 30.73628421442966, 30.945704128229067, 28.84843930049797, 28.74032308364457, 26.827305060379704, 26.530809777814117, 25.96745433769848, 26.70902694436664, 26.595332123327108, 27.19955648451603, 27.40241477665997, 27.243182092813708, 28.80407916728914, 28.09172298124805, 28.850278599641435, 29.45933590834112, 29.60213473786181, 29.69968093294235, 29.763285440525475, 30.40091395136944, 30.46298858053222, 29.656473900560226, 35.7123254387644, 39.41904684959539, 38.91112194358855, 37.780734158330745, 36.60510631671014, 36.55645897774666, 36.477248157018366, 36.40950530431061, 37.792433290449615, 34.87130448093682, 34.53407791923436, 33.26566389972364, 27.17912069421101, 23.291100150093367, 25.235788378462495, 26.844747855023865, 26.66167162146554, 26.45897317056555, 26.36598999073556, 26.45640035262994, 26.011657498988484, 27.54453843464053, 27.63932139851774, 27.90914813689311, 28.655600268129472, 28.862732023253187, 26.99278530890134, 25.623890753267972, 25.52224758520075, 25.62527082492997, 25.76278495841828, 25.743342223622783, 25.73690716806723, 32.13709991989379, 32.090933199813264, 33.56757172953626, 34.71236485523204, 34.81032715507314, 35.1649374381622, 35.181312239028955, 35.17573788741574, 35.12961727889304, 35.036676448412706, 35.02687943230625, 33.55015249439776, 27.25423674791732, 27.311532173124807, 25.67164091469422, 24.742856865157176, 24.620622900560225, 26.21423230078587, 26.24000731753813, 26.437973901571738, 26.675366786849004, 26.92306304754124, 27.01919970860566, 27.297687830932283, 28.63369135955493, 29.355476949521474, 30.140518654139434, 30.243248319950208, 30.534434136771843, 29.116119235449737, 29.62016206185808, 29.81691216269841, 30.10360221817616, 30.361658778039093, 30.784104211328977, 30.975762430205418, 36.77112135836836, 37.172732087768445, 38.76485314612513, 41.311528521864304, 42.42473405852592, 44.65787876688453, 44.87982789028945, 45.50969743674137, 46.51529072331154, 49.09481759765018, 50.87345243637617, 50.04842169826681, 48.79592027552132, 48.78814322391311, 47.373435681449735, 45.639956220757504, 46.902850085434174, 46.67259827661065, 47.84420538600996, 48.42607746840959, 48.61189698368089, 47.92942267545908, 47.93824611854965, 49.286505282757545, 56.10636960971055, 58.40124851726775, 63.50846260087667, 64.60198887430036, 68.84760323552754, 70.70140847338936, 71.28034889192344, 72.52377323923838, 75.0899715707283, 76.92661562822909, 78.0363755140056, 77.91390364184562, 74.1105224606287, 73.93911394257702, 71.87279778369125, 71.59699245541549, 70.46469318502956, 69.94974169469346, 71.77123990343915, 72.92394358730158, 72.02950223350452, 70.81346959150326, 70.51726972139444, 69.93821540662931, 69.7244313582322, 69.1584404818634, 70.60772882850918, 68.25284785939931, 67.85498596699865, 67.10423107679738, 65.09833801890757, 64.49970013289955, 64.47577398070341, 64.31248988436366, 64.70736840444549, 62.21282998786181, 62.59501112558356, 64.77233134889512, 62.43943597938064, 61.80706415834112, 62.94140341876752, 63.84176193360178, 63.527693292639285, 64.43611785768752, 63.60927580757858, 63.55337024704326, 62.770209502567695, 62.63836668160598, 62.10324386150017, 60.74766335580783, 61.40302063414255, 61.70102791861189, 61.15667755736981, 60.55677202987862, 60.95071886562402, 60.79940258624015, 62.55398988001867, 62.64043487885154, 62.513895134142544, 62.94156452334268, 64.20246616160908, 63.73434094779023, 63.5041789186897, 63.68215981823842, 63.081352581842005, 62.21168594771242, 61.91578327777778, 62.22479744942162, 60.76577123848428, 60.189609401255325, 60.442192638792925, 59.15886466192032, 58.1713403916122, 57.67674780368814, 57.30455199144103, 57.66981233551198, 58.03333615958606, 58.66582123373794, 58.70814725871459, 58.95698943938687, 59.25381329349518, 60.992397859866166, 60.34303437223779, 59.00214022661065, 58.97391081676004, 59.282932891300966, 59.30779942794897, 58.20297464036725, 57.185346162309365, 61.16065467779333, 59.0160093881108, 59.1997780250266, 58.67915318664132, 57.54848831146905, 58.521388471677575, 60.47850626023451, 62.78413240740742, 62.18300929053845, 62.330743322477055, 63.13634000526278, 63.34266642717086, 57.460404865157166, 58.15287767637204, 60.18254189962652, 59.67558345011283, 58.851053555399936, 57.75813170569044, 55.74531827217553, 53.59450696584189, 53.05560967608154, 52.03829812776222, 50.47595399958957, 49.88282322058824, 50.31065788562091, 48.92396737005913, 46.03938439822596, 45.52425748926237, 44.656687294506696, 43.77058376299409, 42.95362337387177, 42.38142063313103, 43.11967918744164, 42.5542412219888, 42.71610327303079, 42.35654511411459, 45.29705173389356, 45.19644239647992, 45.0319983889883, 44.8439058278089, 44.78376576081544, 44.457033635465294, 45.130506187752886, 44.783461494709, 43.52356669094304, 43.45794568783069, 43.32931773560536, 43.21553838593216, 41.47638313702148, 41.5162273219084, 41.57160974338625, 41.66498943004979, 41.42564631784936, 42.44019368228228, 40.828677462962965, 39.91583180088702, 41.17843555897915, 40.855561723242175, 40.76047030812325, 38.93587633652349, 37.7464689335924, 37.28775453004928, 37.04429753258897, 36.85626763390912, 35.8706244274244, 37.11990762581699, 37.1863524798475, 37.638247766106446, 36.25430491985684, 36.637866438608775, 36.35067290320573, 36.28472742047673, 36.276860259741085, 36.489197031451006, 36.48600939698101, 36.54901096187364, 35.638294388851946, 35.734743032368506, 35.40631950081144, 35.94980904692275, 35.46680773502609, 35.510734755368816, 35.95400621093993, 36.02994218028322, 35.5734647858699, 35.22393296634472, 35.225793847105514, 35.22902017810458, 36.43711631777155, 36.265380652661065, 38.02749138636274, 37.62971323295337, 37.42714121776961, 36.95039002240896, 36.31661667506678, 36.0037728418145, 37.40167867849362, 37.02681000169368, 36.31722928446611, 35.26668413694367, 33.25957250778089, 32.782263221397315, 30.39656745066916, 30.02428459228201, 29.808934232251165, 29.567904900871465, 29.517057490118276, 29.230555831974872, 27.45702673941799, 29.05700840811612, 29.236244849408656, 29.20064219179894, 29.138752161064428, 30.55835784529452, 30.565500675039317, 33.54320870417056, 33.51730989534703, 33.635564918067224, 33.004995154450675, 34.915940982337375, 34.8645192404295, 34.962203594104686, 34.69690704855276, 34.74498398177004, 34.892509737550576, 33.568477973070344, 31.96602754477452, 30.38308253337743, 30.25826683945106, 31.729319230443384, 32.42589775023671, 30.713313286570187, 31.00019012240058, 29.35558868495176, 29.330642955493307, 29.366665381535302, 29.27969271257392, 30.64566654684096, 30.65363044592281, 39.37223321623095, 39.28191009414877, 38.753450656215634, 39.75796137597261, 39.79561021078431, 39.678051907563024, 39.577788802754434, 39.58092119654594, 39.4433955567227, 39.436668274743234, 38.81424196817616, 39.86047494429992, 31.426467238717716, 34.84665992717088, 33.525482491129786, 32.92565040461926, 34.15261885869904, 34.488853953859326, 34.53786150140056, 34.362719461251174, 34.41639849393091, 34.43380485776533, 34.623252674369745, 33.655528133262656, 36.13845576322751, 33.802046939153435, 34.89278748630045, 35.413480934951764, 34.954698636009965, 35.625287723467174, 36.51973239729225, 37.450948705401885, 38.15702267880097, 38.81035162729536, 37.81278832454093, 38.92543132937419, 37.371204515795206, 37.57897065985545, 37.5870592175336, 37.909553840578106, 38.13556618074749, 38.30226780475931, 38.52199178742609, 38.90891580446623, 42.505845184796144, 42.78081238779957, 43.12959857388215, 44.12439770197246, 47.65035948605859, 49.19885042156863, 50.38835815336135, 50.44726838511912, 51.9128476215375, 53.77740473965141, 57.88696059803921, 58.28408677824463, 56.1891823251634, 58.838405519792005, 60.59668358099908, 59.749744590570856, 67.96977563499844, 68.4754641506964, 72.7640670121382, 73.84499798910674, 77.94533183673296, 79.95454370261439, 80.2316089782135, 81.43727749883288, 84.3028777342048, 83.64266997378787, 84.22314380166446, 83.60827409671646, 77.94086393572985, 77.80224571778712, 77.51650341492895, 76.08414368464052, 73.88129486301938, 70.6678930357921, 70.66055579944887, 70.70454495596016, 73.05540970032096, 73.10487307589875, 73.38420832965149, 74.77042171646437, 84.89224811056647, 84.41051367320262, 82.90167784049174, 84.00019356092437, 83.80854574719886, 85.27219799299719, 83.38851990071583, 83.86115079077187, 80.41423783208838, 80.70107812542602, 80.10656297681884, 75.80064022704637, 67.24896396349013, 66.77399559897293, 66.97918531131342, 65.4202743683493, 66.70486418922995, 67.21564541121748, 69.06087762978525, 68.09926675521321, 69.12133685941293, 70.44380782819795, 72.39286813881108, 73.71551038725491, 78.3382525890912, 80.52514818043885, 80.5624145053688, 81.96690939464675, 82.28206573225054, 83.05897434466924, 91.95171362200436, 95.1384200506536, 93.80487738390912, 92.0733422263461, 90.26234991919613, 89.49557513475723, 88.74779996055089, 85.54380739160443, 85.22927167662621, 84.46578751268284, 83.64410646506381, 82.41546343734049, 71.95527575706764, 69.84468479388423, 70.19614451929661, 70.47914236150017, 70.07942907290695, 68.09042342408121, 65.67059008169934, 66.48682310414917, 66.28897753485839, 65.93564506348238, 65.54596158761284, 65.37046544677871, 65.41060497743543, 65.36542293487396, 65.2823720484555, 66.71116757057268, 66.95735758224401, 67.35772266573296, 66.74329906945937, 65.79714311266729, 65.89994935294118, 65.63666966985684, 67.67334157049487, 67.836301411637, 67.20812611865858, 67.46182863554311, 67.55566999175227, 65.60759811266729, 65.14141364130096, 65.42029407376285, 65.92727871747589, 65.76574962114846, 65.75693996264978, 65.89704954933086, 63.01588652155635, 63.2164553084345, 62.25522925507515, 61.36306977116403, 61.112000663709935, 60.03933099937753, 59.525393220070825, 58.47132296226268, 60.8824291346094, 60.69227316721133, 59.97555997361363, 59.60740559718331, 59.14059838148992, 60.51111946840959, 63.26800193798631, 62.444801999766575, 60.98960054256148, 60.89585142873807, 61.13580467359166, 60.32196394117646, 57.94389530523912, 57.498850768351545, 56.65123618892263, 57.466516641067535, 57.59612670972482, 53.52083653913788, 49.92162164791472, 50.59517709866169, 51.45122667094134, 52.44057019024277, 52.02298722743543, 51.49452014096055, 50.16482355880475, 50.27219635729848, 52.23875164321771, 52.72057024929972, 52.186335688337095, 53.85078983255525, 57.95230559679428, 56.58441200932478, 55.543840993597, 54.604034451136016, 55.26226071663199, 55.88339294615624, 59.51149885294117, 59.445994397992536, 57.54360589891069, 55.4084502980859, 54.20425149361967, 55.44909533442266, 52.63800145992841, 53.14527025249119, 52.82843435916589, 51.903411534547146, 53.329149975648455, 53.14904358970199, 50.2158097787893, 49.91541920732499, 49.76502442966076, 49.25195724429856, 49.20558479217242, 47.09368758605664, 50.2836940274024, 51.38318088857766, 51.852124594460015, 51.29033809579726, 50.29197352521009, 49.35292301368399, 50.58611101037884, 50.78043721186394, 50.2892250182113, 50.18209551271658, 49.77714393846742, 50.06783223615001, 45.475963166062655, 43.501753086991016, 42.32951829435108, 41.12116830399937, 41.952854809860106, 41.37924966728914, 41.11679179715219, 40.221658253267975, 40.033264176121634, 39.29786039534703, 39.150173641366464, 37.880376916822286, 38.10787700248988, 38.069986997055686, 38.03616762608673, 37.74939185898628, 35.67170326518265, 35.67166010776533, 34.215697417600374, 33.863293564425774, 33.8710783300913, 34.47444615164955, 34.19627132889823, 31.93123144154736, 31.51503614433551, 31.430533554407884, 31.52292545677716, 31.72270481314452, 31.68434308986997, 30.643492731451012, 31.422503403904717, 31.54364519537815, 32.97945351626206, 32.09106557850918, 32.51509766192032, 32.78662126691695, 34.88690979820846, 34.89524456022409, 34.86384637119126, 34.83103647307812, 36.60204773008092, 35.78238173154956, 35.58713857275132, 35.89494914184563, 34.22695137968738, 34.817709462029256, 34.22913031528562, 34.08001404147215, 31.81090739130423, 33.28998705687831, 33.56757137892935, 34.43609170232276, 32.650412622648965, 33.50914697481477, 40.68146275925927, 40.23946413235294, 40.189848912392456, 43.018025688898256, 44.83088308955805, 45.39123737807347, 45.65184970269219, 44.202353398615, 42.95948439712345, 42.77080997134234, 42.81834528797335, 42.53432603804856, 37.14875908839091, 37.07144507796452, 38.66145624876745, 36.6166178488173, 35.05683016728914, 35.17504472983071, 35.5577409020386, 35.65395198693111, 35.728732114067846, 35.64664281437368, 35.18249199486461, 32.553500385299955, 33.791290649626525, 36.37205868464053, 35.59034294732337, 35.375952764705886, 36.359304614997605, 36.408508261360105, 36.56257547936833, 36.79242104387385, 37.07023584889511, 37.477788241508456, 37.64635425645814, 37.37077195652468, 37.08751032741986, 40.48640016657202, 40.45368728586213, 40.684695831621546, 41.95768085239652, 42.44710521560846, 42.54586578594903, 44.05936949943703, 44.77768222300031, 51.61930856318084, 52.30349483971367, 54.2194923752974, 59.30951685185187, 56.8852512412854, 56.91785076307896, 56.32245909188836, 56.389188469654535, 57.29546919930157, 57.924161637632274, 60.02964748057662, 61.37193277288966, 57.69562169273265, 60.53251689301276, 59.464692957019146, 63.12458329388423, 63.36229811267508, 66.16742958169937, 67.0129253036433, 68.01126403485839, 69.81377594063183, 71.92926783545363, 72.86965780539994, 75.709011511399, 74.35899236951447, 73.64436570217654, 72.72050026416122, 70.29158438328665, 70.30066427998675, 70.26333816230937, 70.64851840999111, 72.07432751216943, 73.94300101813403, 75.24438390587086, 80.94983536313156, 79.47396430112045, 81.40107309133876, 84.60480214683133, 85.92885203042329, 87.75917896615312, 88.7043711887644, 90.92541296595212, 94.21867188109438, 94.89253788019197, 98.03532039114532, 97.20335816931218, 90.57957583761348, 89.63833870852784, 89.42519494042257, 87.9220975834316, 88.04421799304582, 87.9305035979614, 88.96270391059758, 87.42257991024711, 85.81284543020541, 82.2672105540377, 76.52946124995267, 77.37542551517275, 76.52923633566371, 75.96934396536261, 76.41080541011063, 74.48588791651105, 72.98796894940152, 68.94490498861315, 64.57534028727046, 62.83434032089363, 62.49756141962341, 65.24541220345884, 65.84552778709215, 63.37053850096537, 62.914075454782655, 61.8861722303708, 60.27545054209461, 59.94496026633987, 60.10339412955183, 65.8332240710123, 66.12245925389045, 66.4947896573296, 65.57055588527207, 63.05949800280112, 60.72874770113601, 63.38846142970097, 65.33207502938039, 66.35951396280734, 67.33058442110178, 68.25886793207285, 67.39284609824416, 63.97401929243114, 65.1474684362185, 66.39107808544975, 68.16461503183403, 68.24979246276774, 71.47740031765295, 69.72238956907563, 68.77372398911847, 67.95070637567402, 67.56619200057578, 68.28761648981127, 69.31030824000933, 69.34294309391537, 68.76732993416395, 66.9572571888422, 66.03408723004138, 65.41371861904761, 63.59659814371304, 62.3381917567655, 63.21724207948439, 62.87676603131008, 62.69375574836601, 61.02520361476227, 62.13759892971002, 61.818684573918446, 63.05171037301587, 63.92025435511982, 63.52840257485216, 64.26932764752569, 63.54378167958294, 63.62177406987239, 62.1276899545596, 61.53537786358868, 60.105693186507935, 58.85247740021469, 54.59344062620604, 51.81005909991644, 49.46050815140186, 48.09565175824774, 46.58321739845938, 45.557014720354815, 44.15489430228759, 43.44893412603356, 42.153459738951135, 41.20027848373794, 40.383662881108, 39.80972071125117, 40.44132491051976, 40.94475606620112, 40.92368033893557, 40.19507129396202, 41.00824337141989, 41.95370813725491, 41.7258462981514, 41.22401867794896, 41.600697784391535, 41.87053676766262, 42.308606485371925, 42.86273525560224, 42.62560773588676, 42.04721893211991, 41.99055057461874, 42.70473409259259, 41.82934616073894, 39.86715138173047, 40.01469590740806, 39.933404875194526, 41.73471642516664, 42.15094059159212, 41.74715187488329, 42.48585353112357, 41.11295175267923, 41.41937420323816, 41.586291549330845, 40.82558263320884, 41.15513645759482, 41.38137685740742, 41.44751150879241, 41.182540448490506, 38.98132392094615, 38.55056628765952, 38.1563098304544, 40.466936740740735, 42.12426137208217, 41.800500895500704, 41.628062295555175, 41.83972824144102, 41.024184906184566, 40.56802455174292, 39.97173523051796, 39.825902613601, 39.638428010280506, 39.25890658423916, 37.49532800809212, 35.40822237905515, 33.77938201027077, 34.07153581224712, 32.98805669319691, 32.33313402497666, 33.90932074431995, 33.461484364845944, 33.14846937176444, 32.57558046926549, 32.033502467086834, 31.585608652738877, 31.379728202370572, 30.595623699857068, 29.583789674525367, 29.141038856297428, 28.906070043572985, 29.33166817412011, 28.65713721204692, 28.83918572938064, 31.542676217320263, 35.6824375070028, 35.63835173902894, 35.55564637924837, 35.18754695339247, 35.099817366701686, 36.47387542669748, 39.34646677850335, 39.2476882630719, 42.251757193161545, 44.77343211698505, 47.75746887153751, 47.30174245860567, 46.64911654061625, 50.42361017561471, 53.750401697012144, 57.26681321607533, 61.11423897743541, 62.23654784764239, 63.17392446498599, 67.02292871973235, 67.31418536509692, 66.45253171164022, 67.07112974976658, 67.08110396394012, 68.63709511531279, 68.73164804325138, 70.4117538225957, 70.77863080182073, 71.68205008815748, 71.93089939853719, 71.56719910792096, 71.42924412324932, 71.53372387542795, 72.04722060045128, 72.12096745908482, 71.84575986122329, 71.00621946234048, 69.3275538058668, 69.36908263826643, 69.33878674284158, 67.78862996364964, 69.6290785883131, 74.74669202555697, 78.4419233594726, 78.1319776974855, 78.12244398731715, 79.12803252894491, 79.71831571493043, 79.88780449875506, 79.90000948731716, 83.07104673454262, 85.55520300038906, 88.51229336749145, 88.03467910963273, 86.72255432659861, 83.4889352221444, 83.46879530184343, 84.11216387480547, 82.55285606084657, 82.78167455385609, 83.65337458815749, 86.17937478854653, 85.77316770214753, 82.75080186083127, 80.75408159867662, 77.28260874009996, 76.778130477202, 78.7020968504513, 80.74978418751945, 81.30041404232803, 82.28961432346134, 82.16950690141611, 80.86113363130123, 78.94828889230729, 75.57485663166305, 76.1405767454884, 75.77443419786803, 75.93137310257504, 75.16312302556737, 72.05518293378462, 71.79132955274342, 71.65290237324282, 72.0775570790532, 71.79884099789916, 74.27480590017117, 75.82510005539996, 77.48215899198568, 79.9555778191721, 80.88613351558317, 81.63009184490937, 88.39443389355742, 89.85239164013385, 90.2449214545596, 89.75592318338066, 92.07241951704016, 92.42585906733972, 89.84932014814814, 91.59030327372912, 92.24589612721758, 92.26519351805167, 94.69319383869632, 93.45785409396656, 94.34298702863369, 95.00588737820247, 99.09234054917523, 102.1099292877373, 101.29584735628696, 101.4650841003735, 98.9565703846872, 97.84666118785924, 100.03411527303145, 99.71810167429194, 98.58181522490922, 97.26160856551508, 94.58582210281732, 95.96039505016016, 95.67660684014, 93.08480004628268, 94.0523651154684, 94.94608922642392, 98.77257121620828, 100.14045546142172, 98.18673863390912, 97.83362865974166, 98.24863557446312, 99.24458833108864, 99.76630156778648, 103.36313139386868, 102.76135364189946, 104.78213266160908, 105.6462991265069, 108.40881220331464, 109.5156007946623, 110.0605955017118, 110.8951857722378, 111.54045595274148, 112.2054114720666, 112.07847618594514, 111.384385265873, 108.00586338764396, 106.13334230166512, 104.63891643923124, 104.12346435060692, 102.6052051004902, 102.36271676758416, 98.42468922061308, 94.07094486819172, 89.91012335636476, 85.3427096014628, 80.49777434586056, 76.31430633986928, 72.96930617451758, 68.99549531154683, 65.25759172634609, 62.015357591425456, 57.74361547976968, 54.28972953501401, 57.463993460452976, 57.66665648777104, 59.36208722782447, 59.820028324229696, 60.04673916736696, 61.61811523592308, 65.27785400451292, 71.28195219016494, 71.73486542397228, 71.45578071209398, 71.54414195105821, 70.80141558652349, 71.78331107796451, 74.0996245096483, 73.42858544032057, 74.53617187013694, 73.89247280213196, 72.69917398576096, 71.47718137047023, 70.76499726034858, 70.90185466993464, 69.75498708060678, 68.85446331621537, 68.56731058302209, 67.6082359671627, 66.09136096910986, 64.95564390157175, 64.11129178623106, 64.40140520809993, 64.57831236686896, 63.67520080283224, 60.40030193474104, 61.81779499073945, 62.78418401844071, 63.09509561212264, 64.1338688784625, 62.95450522728434, 65.13940054338369, 67.7046758005758, 68.11130878205728, 67.80915445681605, 68.41966301259531, 69.00077427801122, 68.53229764505677, 67.3744322489885, 66.63894223016786, 66.31748833761282, 66.84987036770869, 68.22550531808278, 67.90387261057293, 67.10079870090257, 65.72669948160208, 64.87088270276811, 62.90964166111501, 62.66474011780269, 64.28728267112584, 62.53005224385311, 61.81442400820431, 60.8892435515108, 58.26320971366324, 56.66705199112978, 56.44600652046374, 54.01330040234982, 52.77628593098351, 52.09951400303456, 50.906674452614375, 50.74788118502956, 49.3047146678338, 49.28551040943045, 49.03071368098351, 50.14675467429195, 52.12894355197634, 49.9237270995552, 46.21712937916018, 45.48083349290063, 45.14146651136011, 44.76715720074697, 44.09508905096482, 41.30538147564582, 40.391059152661065, 39.33920542071274, 37.54287406862745, 36.54360948731715, 34.4834902867258, 33.953342767896046, 35.493810059134766, 35.67961765841892, 37.10730947891378, 37.047075980547774, 36.87042633846872, 37.95535782436651, 38.3372187425382, 39.33187104177041, 38.87567552233115, 39.89612223342671, 39.25738163235294, 39.81165674664451, 38.20584080625584, 36.82361148979277, 37.75863226361656, 37.63058887729537, 39.28845601719577, 39.41264287752879, 39.49306161147033, 39.22030942538126, 39.4232572653215, 38.13154584530488, 38.30870127115559, 38.26777612317149, 38.197741048630576, 37.42221340916825, 37.08795553112356, 37.11733502069716, 35.58944113071895, 33.21115506198158, 32.71018058537794, 32.71126606981339, 32.27677209194291, 31.37684332547463, 30.47793979162776, 30.231008690631807, 31.519063041975965, 31.08995375516133, 30.688337014039327, 30.19535742281357, 29.748684731346412, 33.49681074489181, 33.11470567842132, 32.360823065904135, 32.3717101887644, 32.376120132703086, 32.067723218176155, 32.64748978711485, 30.848150442032374, 30.895090073451605, 30.67191927147526, 30.28397113095238, 29.62509886203574, 27.04580800194523, 28.573882694211022, 28.75442877380952, 28.53420904614068, 28.581396868269533, 28.60005727567693, 28.98785046847184, 28.972493470821664, 28.793840506069092, 28.71008912090725, 29.469697687518806, 29.533434946908397, 30.132508398070343, 28.811620310535325, 30.041922412464984, 29.913341684018057, 33.077050821468774, 32.650952968720816, 32.12160525416278, 32.243195058198175, 33.85710746774101, 33.85154251655141, 34.41782409136447, 35.547615383521375, 34.89337270062882, 34.49490404522942, 33.21781021631557, 33.29528707889823, 29.959086236461253, 29.471326982415185, 29.50602077067121, 29.661144270481905, 29.722472580205423, 29.814704644646746, 28.24768315499533, 32.18652016713352, 31.90653717065762, 36.76875862511672, 37.97012723171491, 37.96046090821558, 38.02652311336757, 39.60658159648303, 39.92862221367111, 41.33936914359571, 39.61579750824775, 39.70889278657019, 41.23625718164446, 36.022337141300966, 37.42948003408031, 33.099742921879866, 31.872254375116714, 31.78061327537933, 31.88511384362709, 30.193049749455337, 30.48629381849518, 28.956020887254905, 29.23615399921219, 29.104818136579198, 27.475442283989857, 29.829900534562974, 29.99795566920277, 30.779723704407147, 31.925564469977093, 32.872247076059395, 33.32356896851442, 32.93503223401768, 33.22877910152219, 33.20909647437265, 33.13862035434174, 33.13556479618023, 32.579469712807345, 30.317214934860218, 29.70873584796141, 28.958531960002983, 28.73607674159664, 28.854713778555865, 29.590038155384374, 30.964432111500155, 32.35751750621953, 32.962270371381884, 33.67005804614068, 34.2775095392131, 36.551716396514166, 44.0275391004902, 45.54029454022721, 46.29541601330533, 46.10413422191099, 47.22068951649549, 48.65907166160909, 47.27789647407264, 47.77737888655463, 48.6661289221911, 49.09561334352631, 50.93133009230407, 48.32997531207233, 48.545629514044506, 51.37972874606872, 58.06008107415189, 59.07194619950202], [0.0355438852318705, 0.0349859948646125, 0.0344304396202925, 0.0347082174758792, 0.0347222319483348, 0.0335900943880844, 0.0344444540927482, 0.0341503275754746, 0.0338702155306567, 0.0338888896669779, 0.0397222332710862, 0.0397222226112667, 0.0397222333488951, 0.0397222333456531, 0.0394444554933084, 0.0391666776377217, 0.038888899782135, 0.0405555668222875, 0.038055566215375, 0.038055566215375, 0.0383333440709617, 0.0386111117335823, 0.0444444568938686, 0.0450000003112356, 0.045000012605042, 0.0450000125272331, 0.0450000125272331, 0.045000012605042, 0.0455555683162153, 0.0438888893557423, 0.0463889018829754, 0.0463889018829754, 0.0463889018829754, 0.0461111118892001, 0.0427777896825396, 0.0425000118081523, 0.0416666783380018, 0.0416666783380018, 0.0416666783380018, 0.0416666783380018, 0.0405555669156551, 0.0405555668229359, 0.0341666762371615, 0.0397222332710862, 0.0397222332710862, 0.0400000006224712, 0.0513889032057267, 0.0511111112667289, 0.0519444589947089, 0.0519444589169001, 0.0519444589947089, 0.0519444448334889, 0.0608333502956738, 0.0608333334889511, 0.0672222409741674, 0.0616666838624338, 0.0616666838624338, 0.0613888894335512, 0.0455555683162153, 0.0455555556333644, 0.0458333460939931, 0.0458333460939931, 0.045833346171802, 0.0458333339545077, 0.0413889004046062, 0.0413888888888888, 0.0419444561157796, 0.0422222339713663, 0.0422222340491752, 0.0422222226890756, 0.0505555697167756, 0.0511111116557734, 0.05111112535014, 0.0513889032057267, 0.0513889032057267, 0.0522222235449735, 0.0522222368502956, 0.0525000009259261, 0.0527777924836601, 0.0525000147058823, 0.0525000146280734, 0.0525000013927795, 0.0600000158730158, 0.0594654686657114, 0.0544444593059446, 0.0625000174291939, 0.3555556550731403, 0.5744446052242237, 0.5708334931528167, 0.5705557152511972, 0.5708334931528167, 0.5711112710084034, 0.5713890488639901, 0.5722223678804856, 0.5602779334306345, 0.560277934640523, 0.5625748422761699, 0.5575001556178028, 0.2385831116557734, 0.0444654533146592, 0.0680555746187363, 0.0683333341114223, 0.0672222410519763, 0.0669444631185807, 0.066666685262994, 0.0658333516268593, 0.0619444617180205, 0.0619444617180205, 0.0616666839402427, 0.0611111281512605, 0.0613889060068471, 0.0613888895113601, 0.0422222339713663, 0.0419444560976274, 0.0419444561157796, 0.0419444561157796, 0.0419444561157796, 0.0422222340491752, 0.0388888997043261, 0.0386111113445378, 0.038888899782135, 0.0391666776377217, 0.0388888997043261, 0.0391666775547283, 0.0347222319483348, 0.0347082079871189, 0.0347082174758792, 0.0355415510426392, 0.0358193288982259, 0.0355415421763501, 0.038888899782135, 0.0388888996939545, 0.0388888997043261, 0.0391666775599128, 0.0397222332710862, 0.0394444554154995, 0.0397222332710862, 0.0397222227668845, 0.0397222332710862, 0.0388888997043261, 0.0386111218487394, 0.0386111218435549, 0.0347222319483348, 0.0347082081427366, 0.0344304396202925, 0.0341526617647058, 0.0333146598194833, 0.0333146511101196, 0.0491666803610333, 0.0491666673630564, 0.0491666803610333, 0.0494444582166199, 0.0494444582166199, 0.0494444452225334, 0.0611111281512605, 0.061111128089018, 0.0611111281512605, 0.0611111281512605, 0.0616666838624338, 0.0616666838027849, 0.0455555682384064, 0.0455555557111733, 0.0455555682384064, 0.0452777903828197, 0.0452777904606286, 0.0452777903594804, 0.0375000104263927, 0.0375000104263927, 0.0375000104263927, 0.0377777883597883, 0.0375000104263927, 0.0377777784002489, 0.0455555682384064, 0.0455555557111733, 0.0455555682384064, 0.0455555682384064, 0.0455555683162153, 0.0455555683162153, 0.0413889004046062, 0.0413889004824152, 0.0397222332710862, 0.0397222222222222, 0.0452777903828197, 0.0452777903614256, 0.0377777882819794, 0.0377777882742014, 0.0352707757547463, 0.0355555655150949, 0.035548553610333, 0.0352777876595082, 0.0358263314659196, 0.0361111116557734, 0.0377777882819794, 0.0375000104166695, 0.0319094312169312, 0.0319444533924681, 0.0316666755368814, 0.0316316448121755, 0.0341503275754746, 0.0344281054310613, 0.0347222319483348, 0.0352777876595082, 0.0349859953314659, 0.0366666763921335, 0.0347082174758792, 0.0350000098039215, 0.0350000098039215, 0.0347222230781201, 0.0463889018829754, 0.0463889013149737, 0.0463889018829754, 0.0463889018829754, 0.0463889018829754, 0.0461111118892001, 0.0622222396514161, 0.0604715230275444, 0.0627777952847805, 0.0655555739184562, 0.0655555739184562, 0.0655555574229691, 0.0733333538748832, 0.0730532226890756, 0.0736111317304699, 0.0730555759414877, 0.0730555759414877, 0.0730555758636839, 0.0575000160286336, 0.0572222382508559, 0.0572222369281045, 0.0547222375505757, 0.0547222375505757, 0.0547222374312727, 0.0355555655150949, 0.0349813269491131, 0.0355555655150949, 0.0358333433706816, 0.0358193288982259, 0.0358333433706816, 0.0355555655150949, 0.0352777871926548, 0.0352777876549695, 0.0347222319483348, 0.0350000093370681, 0.0352777876595082, 0.0352777876595082, 0.0355555561780267, 0.0352777876595082, 0.0350000098039215, 0.0347222319483348, 0.0352637731870526, 0.0350000098039215, 0.034425762065613, 0.0350000098039215, 0.0358333433706816, 0.0358333433648461, 0.0355555655150949, 0.0358333433706816, 0.0355555561780267, 0.0494304438219732, 0.0494444582944288, 0.0494444582944288, 0.0488889025832555, 0.0488748881107998, 0.0488889020424861, 0.0488889025832555, 0.0480555690164954, 0.0480555690164954, 0.0483333426704014, 0.0483333468720821, 0.0486111153906006, 0.0350000098039215, 0.0350000093370681, 0.0355555655150949, 0.0355555560224089, 0.0594444610955493, 0.0596265185146282, 0.059722238951136, 0.0597222388733271, 0.0600000167289137, 0.0597222234606807, 0.0638889067849362, 0.0636111118113912, 0.0633333510737628, 0.063611128923514, 0.0630555732181761, 0.0633333509298211, 0.0533333482726423, 0.053055559912854, 0.0530555704170557, 0.0530555703392468, 0.0525000146280734, 0.0525000146222405, 0.0480415545440398, 0.0480555689386891, 0.0483333468720821, 0.0480555690164954, 0.0483333468720821, 0.0483333380018674, 0.0422222340491752, 0.0425000003890445, 0.0425000119047619, 0.0425000119047619, 0.042500011826953, 0.0430555565670712, 0.0636111288515406, 0.0635480871459695, 0.0636111288515406, 0.0636111288515406, 0.0636111289293495, 0.0636111287912433, 0.0566666825396825, 0.0563888898225957, 0.056388903750389, 0.0566666825396825, 0.0566666825396825, 0.0563888902894491, 0.043333345393713, 0.0436111232492997, 0.0377777880485527, 0.0408333447712418, 0.0405555669156551, 0.0405555669156551, 0.0633333510737628, 0.0633333509285243, 0.0577777939594357, 0.0630555732181761, 0.0630555732181761, 0.0627777952205929, 0.0550000154061624, 0.0550000001556178, 0.0582422976145089, 0.0580555718176159, 0.0580555718176159, 0.0577777784780578, 0.0583333496732026, 0.0583333496732026, 0.0591666672891378, 0.0594444610955493, 0.060555572517896, 0.0605555724400871, 0.0608333502956738, 0.0605555565670712, 0.0608333502956738, 0.0605555724400871, 0.060555572517896, 0.0611111281000405, 0.0372082170868347, 0.0375000011671335, 0.0425000118139878, 0.036652662464986, 0.0355415510426392, 0.0355415421763501, 0.0600000168067226, 0.0600000008558979, 0.0600000168067226, 0.0600000167289137, 0.0602777946623093, 0.0600000168067226, 0.0597222389446521, 0.0597222388182168, 0.0600000168067226, 0.0602777945845004, 0.0602777946623093, 0.0605555723888672, 0.0358333433706816, 0.0386111218422582, 0.0355415510426392, 0.0355555655150949, 0.0352777876595082, 0.0350000098039215, 0.0352637731870526, 0.0352777876595082, 0.0347222319483348, 0.0344444540927482, 0.0350000098039215, 0.0350000009337068, 0.0391666776377217, 0.0363888898225957, 0.0391666776377217, 0.0391666776377217, 0.0394444554154995, 0.0405555669156551, 0.0444444568938686, 0.0441666672891378, 0.0441666790382819, 0.0441666790382819, 0.0436111233271086, 0.0433333453775059, 0.0391666776377217, 0.0391666775527831, 0.0391666775599128, 0.038888899782135, 0.0386111219265484, 0.0366760043572984, 0.0413889004824151, 0.041388900386454, 0.0358333433706816, 0.0422222340491752, 0.0425000119047619, 0.0425000119047619, 0.0425000119047619, 0.0425000119047619, 0.0425000119047619, 0.042500011826953, 0.0425000119047619, 0.0414332407407407, 0.0344444540927482, 0.03444444475568, 0.0400000112044817, 0.0336111205259881, 0.0333333426704014, 0.0333193281979458, 0.0335971060535325, 0.0338888983815748, 0.0338888983815748, 0.0341666762371615, 0.0341666762371615, 0.0341666762371615, 0.0341526617647058, 0.0341666761593552, 0.0344444540927482, 0.0347222319483348, 0.0350000098039215, 0.0349859864651767, 0.0386111219265484, 0.0394444453781512, 0.0386111219265484, 0.0383333439931528, 0.0383333440709617, 0.0386111219265484, 0.0386111219265484, 0.038888899782135, 0.0333333338001867, 0.0386111219265484, 0.0383333440709617, 0.0383333439879683, 0.0344444540927482, 0.0333333333333333, 0.0344444540927482, 0.0347222319483348, 0.0347222319483348, 0.0344304304427678, 0.0386111218487394, 0.0383333439931528, 0.0427777896630906, 0.0383333439931528, 0.0386111218487394, 0.0391666676781823, 0.0469444575941487, 0.0472222228395063, 0.0475000132275132, 0.0472222353719265, 0.0475000132275132, 0.0477777910532767, 0.0477777911609088, 0.0486111247276688, 0.0484313734827264, 0.0483333467942732, 0.0480555690164954, 0.0477777910597605, 0.0438889011048864, 0.0436111232311474, 0.0391666776377217, 0.0430555676159352, 0.0430555676159352, 0.0427777897603485, 0.0386111219265484, 0.038055566215375, 0.038055566215375, 0.0383333437597261, 0.038888899782135, 0.0377894499688764, 0.0350000098039215, 0.0350000004668534, 0.0350000004668534, 0.0349859953314659, 0.0347222319483348, 0.0352777876595082, 0.0352637731870526, 0.0350000004668534, 0.0350000098039215, 0.0350000098000312, 0.0344304396202925, 0.0347082174758792, 0.0344304396202925, 0.0372222325643248, 0.0344444540927482, 0.0344444540927482, 0.0350000098039215, 0.0344444540927482, 0.0344444540927482, 0.0369444547093865, 0.0344444540927482, 0.0341666762371615, 0.0341666762371615, 0.0341666760037348, 0.0344304396202925, 0.0319444448334889, 0.0347222315592903, 0.0352777876595082, 0.0347222319483348, 0.0347082082205456, 0.0397222333488951, 0.0369444357298501, 0.0400000112044817, 0.0400000105042016, 0.0405555668378462, 0.0402777790162363, 0.0519444589947089, 0.0522222230781201, 0.0525000146981017, 0.0519444589947089, 0.0522222367724867, 0.0525000013927795, 0.0513889032057267, 0.0516666810250063, 0.0497222360722066, 0.0516666811326384, 0.05111112535014, 0.05138890317331, 0.0394444554933084, 0.039166677550838, 0.0336111205259881, 0.0397222333488951, 0.0394444554933084, 0.039444445533769, 0.0397222333488951, 0.0394444554933084, 0.0397455659041394, 0.0394444554933084, 0.0397222333488951, 0.0400000011671335, 0.0555555711173358, 0.0558333345782757, 0.0622222395736072, 0.0563889046840958, 0.0563889046062869, 0.0561111267085577, 0.0519444589947089, 0.0519444453003423, 0.0519444589947089, 0.0516666810613134, 0.0516666811391223, 0.0511111122004357, 0.0475000126828509, 0.0500000138979701, 0.0461111240273887, 0.0461111240273887, 0.0461111240273887, 0.0461111240273887, 0.0461111240273887, 0.0461111113445378, 0.046666679738562, 0.0466666793495175, 0.0469444575163398, 0.0469444453781512, 0.0388888997782447, 0.0358333337223778, 0.0386111218487394, 0.0386111219265484, 0.0386111218487394, 0.038611111967009, 0.0430555675381263, 0.0430555675199741, 0.0425000119047619, 0.0430555675335876, 0.0430555676159352, 0.0433333447569799, 0.0397222333488951, 0.0397222233854654, 0.0400000112044817, 0.0397222333488951, 0.0397222333488951, 0.0400000012449424, 0.0394444554933084, 0.0394444450669156, 0.0394444554933084, 0.0394444554154995, 0.0388888997043261, 0.0386111218454975, 0.0386111219265484, 0.0388888893557423, 0.0391666776377217, 0.0391666776377217, 0.0391666775599128, 0.0388888898225957, 0.0505555697167756, 0.0508333338779956, 0.05111112535014, 0.0505555696389667, 0.0505555697167756, 0.0505555697167756, 0.0502777918611889, 0.0500000003112356, 0.0497222361500155, 0.0497222360722066, 0.0497222360722066, 0.0497222360397899, 0.0341526617647058, 0.0338888890445066, 0.0335971060535325, 0.0335971060535325, 0.0341526617647058, 0.0344304396202925, 0.0344304396202925, 0.03444444475568, 0.0341666762371615, 0.0341666762371615, 0.0344444540927482, 0.0344444452225334, 0.0383333439931528, 0.0383333439840779, 0.0383333440709617, 0.0386111219265484, 0.0383333440709617, 0.0383333440709617, 0.0386111219265484, 0.0386111115001556, 0.0386111218487394, 0.0386111219265484, 0.0383333440709617, 0.0383333439879683, 0.0344304396202925, 0.0349859953314659, 0.0349859953314659, 0.0347222319483348, 0.0344444540927482, 0.0341666760037348, 0.0347082174758792, 0.0347222226112667, 0.0347222319483348, 0.0347222319483348, 0.0350000098039215, 0.0350000098039215, 0.038888899782135, 0.0383333437597261, 0.0386111218487394, 0.0391666776377217, 0.0391666775599128, 0.0394444554881213, 0.038888899782135, 0.0388888996952513, 0.038888899782135, 0.0391666775599128, 0.0386111218487395, 0.0388888899004046, 0.0466666796607531, 0.0466666672067902, 0.0463889018829754, 0.045833346171802, 0.045833346171802, 0.0455555682384064, 0.0455555683162153, 0.0461111115001556, 0.0461111240273887, 0.045833346171802, 0.0461111240273887, 0.0458333460706538, 0.0383333440709617, 0.0383333439840779, 0.0383333440709617, 0.0383333440709617, 0.0391666775599128, 0.0394444554933084, 0.0391666770930594, 0.0416666782446342, 0.038888899782135, 0.038888899782135, 0.0394444554933084, 0.0405742310924369, 0.037222232648615, 0.0372152111753223, 0.037215220743853, 0.037222232648615, 0.0363888990818549, 0.0361111121226268, 0.0400000111999431, 0.037222232648615, 0.0400000112044818, 0.0400000112044818, 0.0394444554933084, 0.0375000005446623, 0.0611111282290694, 0.0613888890445066, 0.0611111282290694, 0.0611111282290694, 0.0611111282290694, 0.0611111117335823, 0.0769444659975101, 0.0772222438530968, 0.0772222438530968, 0.0775000216308745, 0.0775000217086834, 0.0775000215342676, 0.0544444596949891, 0.0544444449112978, 0.0547222374727668, 0.0550000153283535, 0.0550000153283535, 0.055000015286211, 0.0352777876595082, 0.0347222226112667, 0.0352637731870526, 0.0352637731870526, 0.0355555655150949, 0.0355415510426392, 0.0350000098039215, 0.0347222318705285, 0.0347222319483348, 0.0344444540927482, 0.0344444540927482, 0.0344444540927482, 0.0347082174758792, 0.0347222226112667, 0.0341596643323996, 0.0344444540927482, 0.0341526617647058, 0.0341526617647058, 0.0344304396202925, 0.0347082174758792, 0.0347222319483348, 0.0347222319483348, 0.0347082174758792, 0.0355555566448801, 0.058888905306567, 0.0588888894335512, 0.0586111275287892, 0.0583333496732026, 0.0583333496732026, 0.0586111275287892, 0.0591666831621537, 0.0588888894335512, 0.0597222388733271, 0.059722238951136, 0.0600000168067226, 0.0591666677559912, 0.0397222333488951, 0.0400000007002801, 0.0400000111266728, 0.0400000112044817, 0.0400000112044817, 0.0400000112044817, 0.0391666776377217, 0.0394444449891067, 0.0388888997043261, 0.0391666776377217, 0.038888899782135, 0.0391666676003734, 0.0547222374727668, 0.054722237426734, 0.0547222375505757, 0.0547222375505757, 0.0555555710395269, 0.0555555711173358, 0.0600000168067226, 0.0600000166731551, 0.0597222388733271, 0.0594444610955493, 0.0600000167289137, 0.0597222388214588, 0.0402777889822595, 0.0400000007002801, 0.0402777882819794, 0.0405555669156551, 0.0400000112044817, 0.039460785480859, 0.0394444554933084, 0.0394444554154995, 0.0397222333488951, 0.0397222333488951, 0.0394444554933084, 0.039444445533769, 0.0591666832399626, 0.0594444451447245, 0.0591666832347755, 0.0591666831621537, 0.0591666831621537, 0.0588888899004046, 0.0588889053843759, 0.0588889053843759, 0.0586111274509803, 0.058888905306567, 0.0586111275287892, 0.0591666677559912, 0.0472222354497354, 0.0469444449112978, 0.0472222354497354, 0.0469444575941487, 0.046666679738562, 0.0469444574923521, 0.0430555676159352, 0.0427777896825396, 0.0427777897603485, 0.042500011826953, 0.0425000119047619, 0.0419444561008693, 0.0341526617647058, 0.0344444540149418, 0.0344444540927482, 0.0344444540927482, 0.0344444540927482, 0.0341666673669467, 0.0458333460939931, 0.0461111240273887, 0.0466666796607531, 0.0469444575163398, 0.0472222353719265, 0.0475000012449424, 0.0633333510737628, 0.0633333510737628, 0.0633333510737628, 0.0638889067849362, 0.0638889067849362, 0.0641666845037134, 0.052777792561469, 0.0527777924836601, 0.0522222367724867, 0.0519444589947089, 0.0519444589947089, 0.0519444588844833, 0.0361111212262682, 0.0360971059757236, 0.0363748846093993, 0.0363748846093993, 0.0363888990818549, 0.0361111212262682, 0.0358193288982259, 0.0358193195650834, 0.0360971067538126, 0.0360971067538126, 0.0361111212262682, 0.0358333433706816, 0.0358193288982259, 0.0355415510374521, 0.0349859953314659, 0.0344444540927482, 0.0347082174758792, 0.0350000098039215, 0.0352777876595082, 0.0350000097261152, 0.0347222319483348, 0.0349859953314659, 0.0347222319483348, 0.0347222319483348, 0.0344304396202925, 0.0347082081427366, 0.0347222319483348, 0.0347222319483348, 0.0347222319483348, 0.0344444452225334, 0.0425000115157174, 0.0433333454715219, 0.0433333454715219, 0.0430555675381263, 0.0436111232492997, 0.0436111233271086, 0.0438889011826953, 0.0436111118113912, 0.0438889011826953, 0.0438889011826953, 0.0436111233271086, 0.0436111115779645, 0.0513889032777001, 0.0505555560224089, 0.0505555696389667, 0.0505555697167756, 0.0508333474945533, 0.0522222368502956, 0.0519444589947089, 0.0519444451447245, 0.0516666811391223, 0.0519444589947089, 0.0519444589947089, 0.0519444588786478, 0.0358333433706816, 0.0361111205246939, 0.0332959858387799, 0.0369444547930283, 0.0363888990818549, 0.0350000009337068, 0.0427777896825396, 0.0427777896643874, 0.0427777896825396, 0.0427777897603485, 0.0427777897603485, 0.0427777897603485, 0.0427777897603485, 0.0425000119015199, 0.0433870224815853, 0.0422222339713663, 0.0419444561935885, 0.0422222339571044, 0.0350000098039215, 0.0349859859983233, 0.0352777876595082, 0.0352777876595082, 0.0352637731870526, 0.0352777787892935, 0.0469444575941487, 0.0469444575941487, 0.0411111115779645, 0.046666679738562, 0.0466666796607531, 0.0463889018051665, 0.0458333460939931, 0.04583333356676, 0.0455555682384064, 0.0452777903828197, 0.0452777903828197, 0.0452777903594804, 0.0375000104263927, 0.0375000000778089, 0.0430555675160838, 0.0375000104263927, 0.0375000104263927, 0.0377777785558667, 0.0533333482726424, 0.0533333481507458, 0.053611126128229, 0.0536111260504201, 0.053611126128229, 0.0531932642782642, 0.0577777939620292, 0.0577777938310552, 0.058055571739807, 0.0580555718176159, 0.0594444610955493, 0.061944461667449, 0.0536111260504201, 0.0538889039060068, 0.0536111260504201, 0.0536111260504201, 0.0536111260504201, 0.0533333372237784, 0.0694444638966697, 0.0694444638966697, 0.0691666859632742, 0.0691666859632742, 0.0675863838313103, 0.0650653755057578, 0.0583426864301276, 0.0588889053843759, 0.0588889053843759, 0.0591666832399626, 0.059722238951136, 0.0597222388227555, 0.0366666769374416, 0.0375000105042016, 0.0319444533924681, 0.0375000105042016, 0.0377777883597883, 0.0377637650210435, 0.0411111225490196, 0.0405555669156551, 0.0405555669156551, 0.0402777890600684, 0.0397222333488951, 0.0405555668378462, 0.0397222332710862, 0.0397222333488951, 0.045000012605042, 0.0397222332710862, 0.0391666776377217, 0.0397222332639565, 0.0400000112044817, 0.0402777787892935, 0.0402777890600684, 0.0402777890600684, 0.0402777890600684, 0.0394444454559601, 0.0433333449268596, 0.0433333454715219, 0.0433333454715219, 0.0430555670712729, 0.0433333454715219, 0.0425466754459984, 0.0472222354497354, 0.0469444574930005, 0.0469444575941487, 0.0472222354497354, 0.0475000133053221, 0.0483333467709339, 0.1327778149620036, 0.1352778150482415, 0.1355555934484905, 0.1355555935191671, 0.1358333713040771, 0.1355555932215579, 0.1316667035480859, 0.1316667035480859, 0.131666703470277, 0.1319444813258637, 0.1319444814036726, 0.1311111122782446, 0.0511111254279489, 0.0475840347766885, 0.041944455804544, 0.0475000132275132, 0.0466783506069094, 0.0459126992685963, 0.0427777897603485, 0.0427777897603485, 0.0427777896825396, 0.0422222340491752, 0.0419444561935885, 0.0422222339571044, 0.038055566215375, 0.038055566215375, 0.0411531286907357, 0.0380555661375661, 0.038055566215375, 0.0380555561780267, 0.0502777918611889, 0.0502777918611889, 0.05027779178338, 0.050555569327731, 0.0508333475723622, 0.0505555697167756, 0.0502777918611889, 0.0505555564114534, 0.0505555697167756, 0.0505555696389667, 0.05111112535014, 0.0513888899782135, 0.046666679738562, 0.0469444449891067, 0.0472222353719265, 0.0469444575118011, 0.0469444575163398, 0.0469444454559601, 0.0508333475723622, 0.0505555696065499, 0.0505555696389667, 0.05111112535014, 0.0505555696389667, 0.0502777917509632, 0.0427777897603485, 0.0425000118088007, 0.0427777896825396, 0.0430555676159352, 0.0430555670712729, 0.0433333344226579, 0.0394444554933084, 0.0397222332710862, 0.0352777876595082, 0.0405555669156551, 0.0411111226268285, 0.0422222340491752, 0.0458333448490507, 0.0461111240273887, 0.0455555683162153, 0.0455555683162153, 0.0452777904509029, 0.0450000125129712, 0.0411111226268285, 0.0411111226268285, 0.045833346171802, 0.0402777890600684, 0.0394631290071584, 0.0377894499688764, 0.0347222315592903, 0.0350000098039215, 0.0350000098039215, 0.0350000098039215, 0.0350000098039215, 0.0349859953314659, 0.0350000098039215, 0.0347082174758792, 0.0288888892001244, 0.0341666762371615, 0.0341666762371615, 0.0341666673669467, 0.0377777883571948, 0.037222232648615, 0.0316666668222844, 0.0369444547930283, 0.0369444547930283, 0.0369444547930283, 0.0408333447712418, 0.0408333447712418, 0.0469444574865166, 0.0413889004824151, 0.0413889004046062, 0.041388889589169, 0.0419444561157796, 0.0422222339713663, 0.0477777910519799, 0.042500011826953, 0.042500011826953, 0.0425000008558979, 0.0463889018829754, 0.046666679738562, 0.0405555555555555, 0.0463889018051665, 0.0469444575941487, 0.0469444574930005, 0.0427777897603485, 0.0425000119047619, 0.0369444448334889, 0.0422222339713663, 0.042500011826953, 0.0427777787114845, 0.0397222332710862, 0.0394444554933084, 0.0461111239197566, 0.0405555669156551, 0.0402777889822595, 0.0402777889822595, 0.0402777889822595, 0.0405555668378462, 0.0463889017831239, 0.0408333446934329, 0.0405555669156551, 0.0402777791005291, 0.0402777890600684, 0.0405555668378462, 0.0397222333488951, 0.0397222332710862, 0.0394444547930283, 0.0411111126672891, 0.045000012605042, 0.0447222346716464, 0.0447222346716464, 0.045000012605042, 0.0455555683162153, 0.045833335122938, 0.0491666804388422, 0.0488889025832555, 0.0433333344226579, 0.0486111237161531, 0.0494444582840547, 0.0477777910597605, 0.0438889011826953, 0.0438889011826953, 0.0436111233271086, 0.0438889011826953, 0.0439122430750077, 0.0452777794117647, 0.061388906084656, 0.0611111282290694, 0.061111128097447, 0.0611111282186952, 0.0608333503734827, 0.0613888907563025, 0.0808333559757236, 0.0808333559757236, 0.0808333559757236, 0.0803128131030189, 0.0800000224089635, 0.0780718954202597, 0.0586111275287892, 0.058888905306567, 0.0627077510115157, 0.058888905306567, 0.0580672427637721, 0.0580555564114534, 0.0463889018829754, 0.0550000153283535, 0.0575000229041111, 0.0575000192966075, 0.0572222402387478, 0.057500017314841, 0.0533333492063492, 0.0536111267940691, 0.0536111266016578, 0.0541666821679289, 0.0541666820548732, 0.0547222375612622, 0.0469444576446194, 0.038888899782135, 0.0366666769374416, 0.0366666769374416, 0.0366666769374416, 0.0369421020081261, 0.0611111282290694, 0.0611111281512605, 0.0608333503734827, 0.0602777946623093, 0.0602777946623093, 0.0600000011671335, 0.0638889067071273, 0.0633333510737628, 0.0611111281512605, 0.0630555732181761, 0.0630555732181761, 0.0625000009337068, 0.042500011826953, 0.0422222339713663, 0.03694444475568, 0.0425000119047619, 0.0425000119047619, 0.0427777786336756, 0.0469444575163398, 0.0469444575941487, 0.0473132594926859, 0.046666679738562, 0.046666679738562, 0.046666679636117, 0.043333345393713, 0.0436111233271086, 0.0422222229225023, 0.0441666790382819, 0.0444444568938686, 0.0438888900560224, 0.0602777945845004, 0.060555572517896, 0.060555572517896, 0.0605555724400871, 0.0605555724400871, 0.0605555724400871, 0.0600000167289137, 0.0600000168067226, 0.0669444630466124, 0.0594444610177404, 0.0591666832399626, 0.0588888899004046, 0.0388888997043261, 0.0386111218487395, 0.0391666776377217, 0.0391666775599128, 0.0394444554154995, 0.0394444554933084, 0.0391666776377217, 0.038888899782135, 0.0363888990818549, 0.0363888986928104, 0.0369444547930283, 0.0372222232337379, 0.0563889046840958, 0.0563889046840958, 0.0558333488951136, 0.0561111267507002, 0.0558333489729225, 0.0561111268285091, 0.0600000168067226, 0.0605555724400871, 0.0572222382508559, 0.063055573212989, 0.0636111289293495, 0.0633333345004668, 0.0477777910830999, 0.0483333468720821, 0.0430555564892623, 0.0486111247276688, 0.0486111247276688, 0.0484196902963834, 0.0491666804388422, 0.0488889025832555, 0.0491666803610333, 0.0488889025054466, 0.0477777910830999, 0.0475000004668534, 0.0555555710395269, 0.0550000153283535, 0.0605555723810865, 0.0547222370837223, 0.0550000154061624, 0.0680555604575163, 0.0894444694989106, 0.0894444694211017, 0.0891666714908185, 0.0894444694989106, 0.0894444694989106, 0.0900000054051263, 0.0777777995642701, 0.0783333552754435, 0.0725000202303143, 0.0780555773796569, 0.0777777995642701, 0.0641666845024166, 0.0394444554933084, 0.0394444548708372, 0.0461111239275372, 0.0402777890600684, 0.0405555659819483, 0.0405555668326617, 0.0386111219265484, 0.038888899782135, 0.0391526538321235, 0.0391526631652661, 0.0391526631652661, 0.039166668767507, 0.0622222395736072, 0.0627777952711644, 0.0561111124338624, 0.0619444617180205, 0.0616666838514112, 0.0619444463896669, 0.0836111336756925, 0.083055578820417, 0.0838888899004046, 0.0838889123871771, 0.0838889123871771, 0.0838889122036838, 0.0602777946623093, 0.059722238951136, 0.0597222388188652, 0.0602777946623093, 0.0602777946623093, 0.0597222234671646, 0.0400000111979979, 0.0400000111266728, 0.0444444563271637, 0.0391666776377217, 0.0391666775599128, 0.0388888898225957, 0.0627777952847805, 0.0627777952847805, 0.0683333523965141, 0.0619444617180205, 0.0630555731403672, 0.0630555730800699, 0.0594444610955493, 0.0594444610955493, 0.0538888895833335, 0.0594444610955493, 0.0594444610955493, 0.0597222234671646, 0.0594444610955493, 0.0594444610955493, 0.053888889589169, 0.059722238951136, 0.0586111275287892, 0.0586111275287892, 0.0608333503734827, 0.0608333492841581, 0.0669444630505028, 0.061388906084656, 0.0616666839402427, 0.0622222395223873, 0.0397222333488951, 0.0397222333488951, 0.0402777889822621, 0.0402637745876128, 0.0413889004824151, 0.0416666694677871, 0.0508333474945533, 0.0505555696259989, 0.0475000133053221, 0.0477777911609088, 0.0477777896047307, 0.0472642394957983, 0.0702777973856209, 0.0702777973856209, 0.0761111323529411, 0.0708333531746031, 0.0700000195300342, 0.0697222416024792, 0.058055571739807, 0.058055571739807, 0.060555572517896, 0.0600000168067226, 0.0597222389446521, 0.0588889052553471, 0.0394444554933084, 0.0391666776377217, 0.0383333440709617, 0.0377777883597883, 0.038055566215375, 0.0386111218487394, 0.0388888997043261, 0.038888899782135, 0.038888899782135, 0.038888899782135, 0.0394444554933084, 0.0394444554154995, 0.0358333433706816, 0.0358333433706816, 0.0358333433706816, 0.0358333433706816, 0.0355415510426392, 0.0349859953314659, 0.0349859953314659, 0.0349859948646125, 0.0355555655150949, 0.0361111212262682, 0.0355555655150949, 0.0355555566448801, 0.0594444610955493, 0.059458585393291, 0.0544444453003423, 0.0602777945845004, 0.0600000168067226, 0.0602777946623093, 0.0600000168067226, 0.0607438964793563, 0.0711111310301898, 0.0708333530967942, 0.0708333530967942, 0.0711111309018094, 0.0469281089324618, 0.0469281089324618, 0.0519444589045833, 0.0461111203703703, 0.0466503310768752, 0.0466503222890488, 0.0508333474945533, 0.0508333475723622, 0.0394631289293495, 0.0405555668378462, 0.0408333447712418, 0.0411111226268285, 0.045000012605042, 0.045000012605042, 0.0452777904606287, 0.045555566993464, 0.0452777903828197, 0.0452777903685578, 0.0411111226268285, 0.0411111226307848, 0.0413889004824151, 0.0408333447712418, 0.0411111226268285, 0.0405555569561157, 0.0411111226268285, 0.0416666783380018, 0.0413889004824151, 0.041666678328276, 0.0413888993930905, 0.0413888904450669, 0.0569444603952692, 0.0566666825396825, 0.0564169149548708, 0.0561111268285091, 0.0558333489729225, 0.055833348852971, 0.051030593248693, 0.0508333475723622, 0.04527777832244, 0.0502777918611889, 0.0508333475678235, 0.0508333474621366, 0.0355555655150949, 0.0355555655150949, 0.029666192903961, 0.0352777876595082, 0.0350000098039215, 0.0350000009337068, 0.046666679738562, 0.0463889018829754, 0.0522222367322894, 0.0469444575163398, 0.0466666796607531, 0.0463889018051665, 0.0461111239495798, 0.0463889018829754, 0.051666681021116, 0.0461111240273887, 0.0461111239495798, 0.0461111118892001, 0.046666679738562, 0.0466666792717086, 0.0409930559446, 0.0466666796607531, 0.0463889018829754, 0.0463889018829754, 0.046666679738562, 0.0469444575941487, 0.0469444575941487, 0.0472222354497354, 0.0475000133053221, 0.0475000132035255, 0.0352777876595082, 0.0352777876549695, 0.0397222332607146, 0.0352777876595082, 0.0352777871148459, 0.0352777789449113, 0.0586111275287892, 0.0583333496732026, 0.0586111275287892, 0.0583333496778184, 0.0580555718176159, 0.058055571739807, 0.0619444617180205, 0.0619444617180205, 0.0579715220173037, 0.0616031245225962, 0.0613889060042536, 0.0616666674447556, 0.0577777939620292, 0.0572222382508559, 0.0513888891223155, 0.0569444603174603, 0.0572222381730469, 0.0565592760960635, 0.0769444659975101, 0.0772222438530968, 0.072803455567227, 0.0775000217086834, 0.0775000217086834, 0.0772222230003112, 0.0691666859632742, 0.0697222417522564, 0.0752777986908709, 0.0702777973895773, 0.0700000196117995, 0.0700000008558979, 0.0686111303299097, 0.0683333481948334, 0.0661111154684095, 0.0663889074074074, 0.0661111296296296, 0.066111115857454, 0.0741666874416433, 0.0738889095860566, 0.0683333523965141, 0.0736111317304699, 0.0736111317304699, 0.0736111157018362, 0.0555555711173358, 0.0555555711147422, 0.0577777935956834, 0.0577777938842203, 0.0580555718176159, 0.0580555716885871, 0.0386111218487394, 0.0386111218487394, 0.0447222346716464, 0.0394444554154995, 0.0397222332710862, 0.0397222233893557, 0.0591666831621537, 0.0591666832399626, 0.0591666832347755, 0.0588889048397136, 0.059722238951136, 0.0597222234671646, 0.083055578820417, 0.0836111345315904, 0.0830555787426081, 0.0827778009648303, 0.0827778009648303, 0.0836111115779645, 0.0641666846405228, 0.0644444624961095, 0.0702777974634298, 0.0647222403445639, 0.0638889067849362, 0.0641666678338001, 0.0444444568938686, 0.0438889011048864, 0.0386111212262682, 0.0444444568160597, 0.0441666790382819, 0.045277790358832, 0.0413889004046062, 0.0411111226268285, 0.0369444544817927, 0.0408333447712418, 0.0405555669156551, 0.0405555571117335, 0.0602777946623093, 0.0605555713507625, 0.0605555714285714, 0.0602777945845004, 0.0602777945845004, 0.0583333495953937, 0.058055571739807, 0.0583333496732026, 0.051234828116895, 0.0583333496732026, 0.0583333492063492, 0.0586111120448179, 0.0547222375505757, 0.0544444596917471, 0.0572222382482623, 0.0538889039838157, 0.0541666818394024, 0.0544444596949891, 0.0544444596949891, 0.0541666818394024, 0.0569444603952692, 0.0541666818394024, 0.0547222375466854, 0.0544444595750376, 0.0347222319483348, 0.0350000098039215, 0.0352801125116713, 0.0350000098039215, 0.0350000098039215, 0.0347082086095901, 0.0388888997043261, 0.0388888997043261, 0.0447222347494553, 0.0391666776377217, 0.0386111219265484, 0.0383333437597261, 0.0386111219265484, 0.0386111219265484, 0.0330555648148148, 0.038888899782135, 0.0386111219265484, 0.0388888996991416, 0.0350000098039215, 0.0352777876595082, 0.0294444444444444, 0.0352777876595082, 0.0361111212262682, 0.036374884602267, 0.0361111212262682, 0.0358333433706816, 0.0358333433706816, 0.0358333433706816, 0.0358333433706816, 0.0355415421763501, 0.0508333474945533, 0.0505555696389667, 0.0505555560185186, 0.0508333475723622, 0.0500000140056022, 0.0497222229225023, 0.0538889039060068, 0.0538889039060068, 0.0594444610177404, 0.0538889039060068, 0.0541666817615935, 0.0541666675225645, 0.0425000119047619, 0.0425000119047619, 0.0425000118088007, 0.0419444561935885, 0.0425000119047619, 0.0425000008558979, 0.0625000175070028, 0.0630555732181761, 0.0636111289293495, 0.0636111289293495, 0.0633333509959539, 0.0636111287912433, 0.0600000167289137, 0.0600000167289137, 0.0600000163398692, 0.0608333503734827, 0.0602777946623093, 0.0605555570339246, 0.0447222347494553, 0.0447222347494553, 0.038611111967009, 0.0441666790382819, 0.0441666790382819, 0.0438888901338313, 0.0475000133053221, 0.0477777903828198, 0.0458986821323332, 0.0472222354497354, 0.0472222354497354, 0.0475000132041739, 0.0391666776377217, 0.0386111219265484, 0.0388888892779333, 0.0386111219265484, 0.0386111219265484, 0.0386111218435549, 0.0350000098039215, 0.0350000093370681, 0.0350000097261152, 0.0350000098039215, 0.0349859953314659, 0.0350000009337068, 0.0588889053843759, 0.0588889053843759, 0.0586111273965185, 0.0586111275287892, 0.0586111275287892, 0.0588888899004046, 0.0625000175070028, 0.0622222396481742, 0.0625000174291939, 0.0625000175070028, 0.0627777952847805, 0.0630555730800699, 0.0391666775599128, 0.0391666775599128, 0.0394444554154995, 0.0400000112044817, 0.0400000111266728, 0.0400000111214883, 0.0361111212262682, 0.0363888990818549, 0.0360971067538126, 0.0360971067538126, 0.0358333433706816, 0.0358333433706816, 0.0361111212262682, 0.0360971067538126, 0.0358333340336134, 0.0352637731870526, 0.0361111212262682, 0.0358333433706816, 0.0358333433706816, 0.0355555655150949, 0.0358333340336134, 0.0363888990818549, 0.0369444547930283, 0.0363888902116402, 0.0402777890600684, 0.0405555669156551, 0.0405555668287714, 0.0408333446934329, 0.0400000112044817, 0.0400000012449424, 0.0441666782601929, 0.0452777904606287, 0.0511111253183717, 0.0455555683162153, 0.045833346171802, 0.0461111129007158, 0.061388906084656, 0.061388906084656, 0.0622222395736072, 0.0619444617958294, 0.0622222396514161, 0.0625000020230314, 0.0622222396384484, 0.0608683619572015, 0.054752582010582, 0.060555572517896, 0.0602777946623093, 0.0597222235449735, 0.0563889046840958, 0.0561111268285091, 0.0552777931839402, 0.0552777931839402, 0.0550000153283535, 0.0552777788671023, 0.0750000209305944, 0.0750000209254073, 0.0750000210084033, 0.07444446529723, 0.0738889095860566, 0.0738889094200698, 0.0580555718176159, 0.0591666831621537, 0.0652777959850606, 0.0600000168067226, 0.0600000168067226, 0.0597222388221071, 0.0361111212262682, 0.0361111212262682, 0.0358333429038282, 0.0360971067538126, 0.0361111212262682, 0.0361111212262682, 0.0400000111266728, 0.0388888997043261, 0.0327567609769422, 0.038055566215375, 0.038055566215375, 0.0377777882819794, 0.0377777883597883, 0.0377777883597883, 0.0358333242296944, 0.0383333440709617, 0.0386111219265484, 0.0377917743502657, 0.0386111215375038, 0.0394444554933084, 0.0394444554064247, 0.0397222333488951, 0.0397222332710862, 0.0397222233893557, 0.0591666832399626, 0.0591666832399626, 0.0588889052521052, 0.0822222447089947, 0.0822222451758481, 0.0822222445255014, 0.0783333551930959, 0.0775000217086834, 0.0775000216308745, 0.0927778036881419, 0.0927778036881419, 0.0933333592663987, 0.07444446529723, 0.0750000210084033, 0.0747222430750077, 0.0511111254227618, 0.0511111254279489, 0.0513889031998912, 0.0513889025054466, 0.0516666810613134, 0.0519444589169, 0.0600000168067227, 0.0602777945845004, 0.0597222388733271, 0.0594444610955493, 0.0591666832399626, 0.0647222403516962, 0.0591666832399626, 0.0586111275287892, 0.058888905306567, 0.0588889053791888, 0.0588889053843759, 0.0619444617958294, 0.0591666831621537, 0.058888905306567, 0.0611111282290694, 0.0611111282290694, 0.0608333503734827, 0.0558333489729225, 0.061388906084656, 0.0619444617180205, 0.0613889060068471, 0.0636111289293495, 0.0633333510737628, 0.0601750716619981, 0.0397222333488951, 0.0400000112044817, 0.038319329598506, 0.038055566215375, 0.038055566215375, 0.037485996031746, 0.037485996031746, 0.0377637738873327, 0.038055566215375, 0.0358333433706816, 0.0358333433706816, 0.0305112051820728, 0.0391666776377217, 0.038888899782135, 0.038888899782135, 0.038888899782135, 0.038888899782135, 0.0388888892779333, 0.0505555696389667, 0.0505555696389667, 0.0502777918611889, 0.0500000140056022, 0.0500000140056022, 0.0505555697167756, 0.0702777974634298, 0.0702777974634298, 0.0697222417522564, 0.0697222417522564, 0.0702777974634298, 0.0705555561780267, 0.0825000231092437, 0.0819444673980703, 0.0819444673202614, 0.0819444673980703, 0.0819444673980703, 0.0803688149704326, 0.0580555718176159, 0.0583333496732026, 0.0586111275287892, 0.0591666832399626, 0.0586111274509803, 0.0583333495402834, 0.0347082174758792, 0.0347222319483348, 0.0347222319483348, 0.0347222319483348, 0.0349859953314659, 0.0350000098039215, 0.0550000154061624, 0.0547222375505757, 0.0544444596171802, 0.0541666818394024, 0.0541666814503579, 0.0544444596171802, 0.0583333496732026, 0.0586111275287893, 0.0586111275287893, 0.0586111275287893, 0.0583333496732026, 0.0580555559446, 0.0419444561935885, 0.0419444561157796, 0.0419444561935885, 0.0416666783380018, 0.0416666781045751, 0.0416666668222844, 0.038055566215375, 0.0377777883597883, 0.0380555661375661, 0.0380555661375661, 0.0383333439931528, 0.0411111225334609, 0.0347222319483348, 0.0347222319483348, 0.0350000098039215, 0.0352637731870526, 0.0352777876549695, 0.0400000111156529, 0.0394444554933084, 0.0394444554933084, 0.0397222333488951, 0.0402777889822595, 0.0400000105042016, 0.035270766653069, 0.0400000112044817, 0.0400000112044817, 0.0400000112044817, 0.038907523335645, 0.0388983515081329, 0.0441284980683094, 0.0505572633280954, 0.0505574986513123, 0.0502800319267492, 0.0497249069345687, 0.0497255429174458, 0.0488932427021761, 0.0611174412047647, 0.0614004800031123, 0.0611111282290694, 0.0619444619085526, 0.0622222396650668, 0.0513889032835356, 0.045833346171802, 0.0463889018051665, 0.0461111239495798, 0.0461111239495798, 0.0463889018051665, 0.0469444449112978, 0.0383333440709617, 0.0380555659041394, 0.0383333440709617, 0.0383333439931528, 0.0380555661375661, 0.0383333337223778, 0.0386111218487394, 0.0380555661375661, 0.0380555661375661, 0.0386111219265484, 0.0383333439931528, 0.0411111225341093, 0.0350000098039215, 0.0349859953275756, 0.0347082170868347, 0.0349859953314659, 0.0349859953314659, 0.0322222311767323, 0.0263118586990351, 0.0263118586990351, 0.0263118583099906, 0.0261111184251478, 0.0261111181139122, 0.0207142861811391, 0.0300000080921257, 0.0305555641145347, 0.0305112051781825, 0.0302334273264861, 0.030277786258948, 0.0363888990818549, 0.0511111254279489, 0.0511111254279489, 0.0511111254234102, 0.0508333474945533, 0.050833347490663, 0.0508333333333333, 0.0555555710343398, 0.0550000153283535, 0.0547222374727668, 0.0547222374727668, 0.0547222375505757, 0.0492763779956426, 0.0625000174291939, 0.0625000174291939, 0.0625000175070028, 0.0627777952847805, 0.0627777952847805, 0.0627777783179013, 0.0541666817615935, 0.0541666817615935, 0.0547222375505757, 0.0547222375505757, 0.0547222375505757, 0.0552777784002489, 0.0386111219265484, 0.0391666776377217, 0.0391666776377217, 0.038888899782135, 0.0388888997043261, 0.0444444567946656, 0.0625000175070028, 0.0627777952847805, 0.0625000175070028, 0.0625000169623404, 0.0633333510737628, 0.0680555744644205, 0.058888905306567, 0.0583333495953937, 0.0586111274509803, 0.0586111274509803, 0.058888905306567, 0.0533333478835978, 0.0355555655150949, 0.0352637731870526, 0.0355415510426392, 0.0360971067473287, 0.0350000098039215, 0.0296638587931925, 0.0552777932617491, 0.0561111267507002, 0.0561111267507002, 0.0566666824618736, 0.0563889046062869, 0.0557002668439964, 0.0558333488951136, 0.0569444603174603, 0.056666681372549, 0.0583333496732026, 0.0586111274509803, 0.0586111126672891, 0.0427777896825396, 0.042500011826953, 0.0422222339713663, 0.0419444561935885, 0.0419444561157796, 0.0447222346560877, 0.0658333517740429, 0.0647222402738873, 0.0650000181197482, 0.0627777953625894, 0.0630555731403672, 0.0627777947576298], [0.0838889123871771, 0.0838889123871771, 0.0844444680983504, 0.0869444687986305, 0.0877778023653906, 0.0865873191721132, 0.0896288704481792, 0.0893510925925926, 0.0877778023653906, 0.0855555795206971, 0.0855555795206971, 0.0902241073762838, 0.0922222480547774, 0.0963795697945845, 0.0955462362278244, 0.0930555816215375, 0.0925000259103641, 0.0896895593681917, 0.1316293471833177, 0.1377381258169934, 0.1382936815281668, 0.1380135690943044, 0.1375000385154061, 0.1310037657952069, 0.1223202921724245, 0.1172222550575785, 0.2281279793028322, 0.3353385606131342, 0.3347713339558046, 0.3458731100884802, 0.3497223201058201, 0.3439496741363212, 0.3425491138344227, 0.3505556537471471, 0.3600001008403362, 0.3630556572517897, 0.3744445493308435, 0.3761112163865547, 0.2355812415966386, 0.1669444911297852, 0.2891667475879241, 0.2958333468409622, 0.3022223068783069, 0.3038889740118269, 0.3041667518674136, 0.2947736476034858, 0.2852521722689076, 0.2852778576875194, 0.2730556320417056, 0.2705252775443511, 0.2654855949268596, 0.259883354030501, 0.1367670750077809, 0.1175513848188434, 0.0569444603952692, 0.0536111260504201, 0.0550000154061624, 0.0550000154061624, 0.0547222375505757, 0.051944458994709, 0.0483333468720821, 0.0483333468720821, 0.046666679738562, 0.1377778163709928, 0.1422222620603797, 0.1425000399094825, 0.1908333867880485, 0.1916667203548086, 0.1897222753657018, 0.1897222753657018, 0.1905556088546529, 0.1911111646436352, 0.2111111702458761, 0.2111111702458761, 0.2108333923902894, 0.1197222557578587, 0.2391667336601307, 0.2391667335823218, 0.2552778492841581, 0.2544445157173981, 0.2538889600062247, 0.2558334049953314, 0.2547222932617491, 0.254444515717398, 0.3341667560690943, 0.6547224056178027, 0.7311113159041395, 0.7944446669779024, 0.6702779655306568, 0.6702779655306568, 0.6205557293806412, 0.6241668415032681, 0.6500001820728292, 0.6508335152505447, 0.6513890713455756, 0.652777960628696, 0.5758053256179327, 0.2595798720821662, 0.1970775390600684, 0.1494444863056333, 0.1494444863056333, 0.1491667084500466, 0.1436111513383131, 0.1402824841269841, 0.2272222856364768, 0.2247222851663814, 0.2244445073140367, 0.22250006232493, 0.1866667187208216, 0.1897222753657018, 0.1850000518207283, 0.1850000518207283, 0.1847222739651416, 0.1847222739651416, 0.172222270463741, 0.1713889368431649, 0.0591666832399626, 0.0588889053843759, 0.0591666832399626, 0.0594444610955493, 0.0447222347475101, 0.0447222347494553, 0.0444444568938686, 0.045000012605042, 0.045000012605042, 0.0452777904606287, 0.053611126128229, 0.053611126128229, 0.0538889039838157, 0.0538889039838157, 0.0530555704170557, 0.052777792561469, 0.0577777939620292, 0.0575000161064425, 0.0575000161064425, 0.0569444600840336, 0.066666685340803, 0.0705555753190165, 0.0661111296296296, 0.0672222410519763, 0.0669444631963896, 0.0669444631963896, 0.0669444631963896, 0.0686111303299097, 0.0680555746187363, 0.0688889081854964, 0.0691666860410831, 0.0691666860138508, 0.0589122472766884, 0.0552777932617491, 0.0530555704170557, 0.0547222375505757, 0.0552777932617491, 0.0558333489729225, 0.0558333489729225, 0.0541666818394024, 0.0455555683162153, 0.0447222345938375, 0.045000012605042, 0.0452777904606287, 0.0452777904606287, 0.0452777904606287, 0.0436111233206247, 0.0408333447712418, 0.0402777889822595, 0.0402777890600684, 0.0402777890600684, 0.0405555669156551, 0.0447222347494553, 0.0450000126037452, 0.0452777904606287, 0.045000012605042, 0.0455555683162153, 0.0455555683162153, 0.0455555683162153, 0.0461111240273887, 0.0472222354497354, 0.0469444575941487, 0.0469444575941487, 0.0469444575941487, 0.0511111254279489, 0.0511111254279489, 0.0530555704170557, 0.053611126128229, 0.0530555704170557, 0.0530555704170557, 0.0611111282290694, 0.0608333503734827, 0.059722238951136, 0.0594444610955493, 0.059722238951136, 0.0594444610955493, 0.0686111303299097, 0.0660947716308745, 0.0655555739184562, 0.0650000182072829, 0.0652777960628696, 0.0652777960628696, 0.1044444737005913, 0.1041666958450046, 0.1050000294117647, 0.1050000294117647, 0.104722251556178, 0.104722251556178, 0.1008333615779645, 0.1008333615779645, 0.1011111394335512, 0.1011111394335512, 0.1013889172891378, 0.1016666951447245, 0.096944471599751, 0.096944471599751, 0.0980555830220977, 0.0983333608776844, 0.0991666944444444, 0.0991666944444444, 0.0986111387332711, 0.0988889165888577, 0.0986111387332711, 0.0986111387332711, 0.0983333608776844, 0.0986111384998443, 0.067500018907563, 0.0677777967631497, 0.0658333517740429, 0.0658333517740429, 0.0652777960628696, 0.0655555739184562, 0.0525000147058823, 0.0522222368502956, 0.0522222368502956, 0.0522222368502956, 0.051944458994709, 0.0533333476475776, 0.1005555837223778, 0.1005555837223778, 0.1008333615779645, 0.1005555837223778, 0.1005555837223778, 0.1008333615779645, 0.1094444751011515, 0.1094444751011515, 0.1097222529567382, 0.1102778086679116, 0.1102778086679116, 0.1091293221768346, 0.0594444610955493, 0.0591666832399626, 0.0625000175070028, 0.0627777952847805, 0.0644444624961095, 0.0655555739184562, 0.0619444617958294, 0.0619444617958294, 0.0619444617958294, 0.0741666874416433, 0.0827778009648303, 0.0888889137877373, 0.0925000259103641, 0.0985270892468098, 0.1022222508558979, 0.1100000308123249, 0.1158333657796452, 0.1201797568471833, 0.1255555907251789, 0.1325000371148459, 0.1396382118736383, 0.1328548245409274, 0.1320191567849362, 0.1333987093059446, 0.1367600538437597, 0.1427778175381263, 0.149077990507314, 0.1575000439620293, 0.1563655627917833, 0.1572222661064425, 0.1775000495642701, 0.183109274431995, 0.189722275210084, 0.1963889437441643, 0.2052778351229381, 0.2105556144568938, 0.2083333913787737, 0.2105556142234671, 0.2078524926859632, 0.2000000558667911, 0.2055556129785247, 0.2052778352007469, 0.1825000509648303, 0.1696358674136321, 0.1553501531279178, 0.1419071091658885, 0.1270588366013071, 0.1122152324151883, 0.0990499663087457, 0.0844841399782135, 0.0738398822751322, 0.0662791912542795, 0.055389834344849, 0.0486671452692188, 0.0419444561935885, 0.0419444561935885, 0.0419444561935885, 0.0413889004824152, 0.0411111226268285, 0.0427777897603485, 0.0430555676159352, 0.0433333454715219, 0.0433333454715219, 0.0444444568938686, 0.0525000147058823, 0.0608333503734827, 0.0766666878306878, 0.0850000238095238, 0.0916666923436041, 0.0988889165888577, 0.1075000301120448, 0.1144444765017118, 0.1700000470743853, 0.1780556054310613, 0.1852778296763149, 0.1902778309990663, 0.1888889411764705, 0.1808333838313102, 0.1702778253151262, 0.1675000467631497, 0.1616667117958294, 0.1547222652505447, 0.1483333746498599, 0.1405555943821973, 0.1472875834053067, 0.1400000390600684, 0.1327778148926237, 0.1266667019919078, 0.1183333661654477, 0.1191667000466853, 0.1111111121226268, 0.1083333636788048, 0.1075046984126984, 0.1072222522564581, 0.1050000294117647, 0.144722262759363, 0.1697222697634609, 0.1727778260192966, 0.2116667244008715, 0.2497222921724245, 0.2661111119650639, 0.3708334372082166, 0.4516667921679193, 0.4911112486772487, 0.5019445850451292, 0.5119445825552443, 0.5213890349361968, 0.4643604223467164, 0.459722350995954, 0.4652779081057424, 0.4517063623093696, 0.4216666770152505, 0.4202778945722115, 0.3141013133364456, 0.2527707806541135, 0.2286111751478369, 0.2183333944911298, 0.2026774084033618, 0.2013889453003423, 0.2025000567226891, 0.1397222613600996, 0.1347222599595393, 0.104722251556178, 0.1013889170641479, 0.0861111352318705, 0.0875000245098039, 0.2427778457827575, 0.2600000728291317, 0.2594445171179583, 0.2619445178182384, 0.2594445171179583, 0.2586111835511983, 0.2986111947556801, 0.2966666686896981, 0.3680556586523499, 0.3680555578120137, 0.37138899291939, 0.3719445484749455, 0.194722276766262, 0.1625000455182073, 0.1919444982103953, 0.1897222753657018, 0.1894444975101152, 0.1916667203548086, 0.1477778191721133, 0.1436111510063394, 0.0738889095860566, 0.0744444651280012, 0.0705718959694989, 0.0727777981637099, 0.0708333531746031, 0.0750000210084033, 0.0519444589947089, 0.0519444589947089, 0.0522222368502956, 0.052777792561469, 0.0525000147058823, 0.0547222375505757, 0.1075000301120448, 0.1077778079676315, 0.1080555858232182, 0.1238889235916589, 0.1747222711640212, 0.2125000595238095, 0.2261111744475568, 0.2511111814503579, 0.2758334105975724, 0.2886111919545596, 0.2894445253657018, 0.2888958976812947, 0.2461111800472041, 0.2455556243386243, 0.2483334028944911, 0.2313889537037037, 0.182600374572051, 0.1358216630874572, 0.1263889242141301, 0.1010901037192654, 0.0766666879863056, 0.0611111282290694, 0.059913633129085, 0.0554365087924058, 0.0547222375505757, 0.0550000154061624, 0.0525000147058823, 0.0502777918611889, 0.0533333479614067, 0.0530555571117335, 0.1083333636788048, 0.1097222529567382, 0.1111111422346716, 0.112500031512605, 0.1136111429349517, 0.113608780734516, 0.1605556005291005, 0.1625000455182073, 0.164444490507314, 0.1658333797852474, 0.1652778240332257, 0.1668114327458873, 0.1201447533457827, 0.1200000336134454, 0.1197222557578587, 0.1197222557578587, 0.1197222557578587, 0.1152264036091634, 0.1523669845938375, 0.1515266484593837, 0.1504132028478057, 0.15055559772798, 0.1494444863056333, 0.1477357664176781, 0.1468020907251789, 0.1470822027699969, 0.1470822027699969, 0.148748869903517, 0.146111115935263, 0.1488889302929605, 0.0711111310301898, 0.0713889088857765, 0.0715336286181139, 0.0718114060846561, 0.0718114064737006, 0.0718114064737006, 0.0772222438530968, 0.0775000217086834, 0.0777777995642701, 0.0763889102863367, 0.0790382989593105, 0.0755952392623716, 0.0718137406629318, 0.0709757387177093, 0.1608333783846872, 0.2902778590861345, 0.3008334176003735, 0.297639985451064, 0.3487535943043884, 0.3490337063492064, 0.3490313721599751, 0.3483334309056956, 0.3483334309056956, 0.3480556530501089, 0.3600001008403362, 0.3601424863834423, 0.2704202388733271, 0.1404202026143791, 0.1295845319794585, 0.1294444499688764, 0.1327778149704326, 0.1327778149704326, 0.1327778149704326, 0.1329202005135387, 0.1340336461251167, 0.1310620613683468, 0.1825000511204481, 0.1825000511204481, 0.1830556068316215, 0.1830556068316215, 0.1829225487083722, 0.1826447704760732, 0.1220915325241207, 0.1222222564581388, 0.1219444786025521, 0.1225000343137255, 0.1216667007469654, 0.1188888944120241, 0.1490289819483349, 0.1501400933706816, 0.149582203470277, 0.1502778198723934, 0.1502778198723934, 0.1519444870059134, 0.149311428182384, 0.1490313161375661, 0.1487558723934018, 0.1479202047152194, 0.1455555963274198, 0.1508333752840124, 0.060555572517896, 0.0598739612511671, 0.0601494049175225, 0.0595891808278867, 0.0600000168067227, 0.0583333496732026, 0.0580555718176159, 0.0725000203081232, 0.0845961903983815, 0.0982073053221288, 0.1159804197012138, 0.1273669775910364, 0.200833389589169, 0.2219445076933599, 0.2326214434026706, 0.2431653307850922, 0.2445402148406148, 0.2631396605132799, 0.2722946582015952, 0.2700607647836915, 0.2688889639824593, 0.2672222967171719, 0.2880556362308027, 0.2890102749582138, 0.2452848500229959, 0.2572222317256577, 0.3638889909978867, 0.3680556582340553, 0.3911112208686457, 0.3819445512293807, 0.3977778888869437, 0.3936112210274233, 0.3875001081839402, 0.3880556639560875, 0.3697223250077809, 0.4477779028166822, 0.5505557096171804, 0.5300328256581738, 0.4228664833488951, 0.4205556729665942, 0.4113890038904451, 0.4119445589013383, 0.4886112474323063, 0.5025001407563026, 0.5297223700591348, 0.6241668397136634, 0.6869446387877373, 0.5891830134492686, 0.580555718557423, 0.5797223847565879, 0.5802779406427016, 0.5800001623832867, 0.5794446063725491, 0.5791666718380409, 0.5903012848194846, 0.6208335068137255, 0.5888890536294316, 0.475989735915292, 0.4736112415966387, 0.5013445490196078, 0.5433334850250298, 0.5308334820261438, 0.5372223723934019, 0.5250001465919701, 0.5116668096016185, 0.4986111227824463, 0.4161112272713718, 0.362777879396203, 0.3619445458294429, 0.3616667679738562, 0.2900000811948866, 0.2260060705726735, 0.1166666992685963, 0.1158333657796451, 0.0963889158885776, 0.0963889158885776, 0.0961111380329909, 0.096666693526955, 0.0883333580765639, 0.0886111359321506, 0.1880556080765639, 0.2402777855586678, 0.4427779018051666, 0.6100957138966697, 0.6897224154217243, 0.7205557573918457, 0.7294446487706194, 0.7605557685963276, 0.7697224378306879, 0.7769446612200437, 0.7813891077653285, 0.7891668877217555, 0.6818347417749525, 0.6539194150560705, 0.4602779060068472, 0.2871802125739184, 0.3211112005913477, 0.3358334269374416, 0.3769445494864612, 0.3536112096949891, 0.4411112340491753, 0.4502194277933395, 0.4897223589324618, 0.4936112489106753, 0.5005555647370058, 0.51916681162465, 0.5302779256924992, 0.5309990787426081, 0.4483334584500467, 0.4102778921568627, 0.368811870603797, 0.4519445708061003, 0.375000104649082, 0.3550537017584811, 0.4197223394802366, 0.4159314761904761, 0.4511112364865691, 0.4411112338157485, 0.4333334541673151, 0.4179341921101773, 0.4215197119514473, 0.4223553797074386, 0.4213890063025209, 0.3376284652972299, 0.3231863510737628, 0.3122011484247488, 0.3044445294895735, 0.2961812101618424, 0.2458707396514161, 0.229145713429168, 0.2185598106131341, 0.2108940252878929, 0.2074416938219732, 0.2063889464674758, 0.2061111683745721, 0.2061438381574852, 0.2092204022720199, 0.2133333466386554, 0.1400000392156862, 0.1486111526610644, 0.1544444877061936, 0.1616667118736383, 0.1677778247743542, 0.1759943988811278, 0.2815570106598195, 0.2818324543261749, 0.2813889675536882, 0.2808334118425148, 0.2790406706349206, 0.2730555783535636, 0.3436415331465919, 0.3352405059912853, 0.3290803751945222, 0.3226448007314036, 0.3150864437441644, 0.3036251913411864, 0.1782913585434173, 0.1704528896669779, 0.1628898644568938, 0.1570075115157174, 0.1508333755835667, 0.1494444859652307, 0.0913889144880174, 0.1002778058667911, 0.1508333755835667, 0.1688889358076564, 0.2144445045129163, 0.2488889586056644, 0.274444521319639, 0.2772222998755057, 0.2777778555866791, 0.2777778555866791, 0.2777778555866791, 0.278611123793962, 0.3340196966230936, 0.3261112024587613, 0.2755556327419857, 0.2559103678765951, 0.2085807690631808, 0.1766549525424677, 0.2697222976968564, 0.2669445191409896, 0.2663889635076253, 0.2666667413632119, 0.2669445190631809, 0.2666667407491903, 0.2850000798319328, 0.2844445241207594, 0.2852778576875194, 0.2852778576875194, 0.2852778574540927, 0.2844444460784313, 0.2680556306411453, 0.3500000980392158, 0.3500000980392158, 0.3497223201836291, 0.3516667651727358, 0.3648879584500467, 0.3544445423280423, 0.3588889892623716, 0.3613889901182695, 0.37138899291939, 0.3786112171646436, 0.3788888948801743, 0.3950001106442577, 0.3138889768129474, 0.3144445325241207, 0.3138889768129474, 0.3117624556489262, 0.2855788272577216, 0.2938889705798063, 0.289166747665733, 0.2855556355431062, 0.2747783197167756, 0.2675070774198568, 0.2650000736195605, 0.14972226416122, 0.1488889305166511, 0.1494444863056333, 0.1502778197945844, 0.14972226416122, 0.1500000010115157, 0.1458333741830065, 0.1463889298941799, 0.1477778191721133, 0.1480555970277, 0.1483333748832866, 0.1480555967164643, 0.1486111527388733, 0.1508333754279489, 0.1502778198723934, 0.14972226416122, 0.1502778198723934, 0.1502778195378262, 0.0472222348272642, 0.0472222354497354, 0.045833346171802, 0.045833346171802, 0.045833346171802, 0.0461111240234984, 0.0455555683162153, 0.0433380138499844, 0.0427777897603485, 0.0430555676159352, 0.0427777897603485, 0.0433333454715219, 0.0450000120603797, 0.0447222347494553, 0.0447222347494553, 0.0444444568938686, 0.0444444568938686, 0.0441666678338001, 0.1397222613600995, 0.1397222613600996, 0.1422222620603797, 0.141944484204793, 0.141944484204793, 0.1411111120448179, 0.2427778457030035, 0.2422222900715842, 0.2438889571272953, 0.365277880096483, 0.5055556966230937, 0.5419445950111936, 0.6072223923124807, 0.6133335049019609, 0.616389061469032, 0.6208335072362279, 0.6275001757703081, 0.6316668421640429, 0.541944596249611, 0.5425001519607844, 0.541944596249611, 0.4205556733582322, 0.2813889676243649, 0.2405531581083596, 0.2203548117024587, 0.2513889593039994, 0.251111181372549, 0.2475000689386866, 0.2441666677559912, 0.37343604886399, 0.4730556880641146, 0.4738890216308746, 0.4747223551976346, 0.4786112451758481, 0.4869445805322129, 0.4836112455137036, 0.3561112108621226, 0.3258334246031746, 0.4138890048241519, 0.4241667848583877, 0.435277898698031, 0.2895680839989811, 0.3080556417678182, 0.3175000889355743, 0.3186112003579209, 0.4113890038126362, 0.5116668099906629, 0.5825001630096482, 0.7394446515717398, 0.7433335413943356, 0.6566668503734826, 0.6544446272875819, 0.6522224049175226, 0.6675000141612201, 0.7055557513227514, 0.7222224242141302, 0.7261113144257705, 0.6405557348272644, 0.5585831079209461, 0.4873901752845275, 0.4386322414410208, 0.4375001223934018, 0.5416668181605977, 0.5705557150638033, 0.585277941643324, 0.5873272772331154, 0.5833310131198786, 0.6047223913787737, 0.6408335127606599, 0.6516668488951136, 0.6381817803454716, 0.6441668458191109, 0.6855557473544974, 0.7027779743230627, 0.6197223957360722, 0.6050001675225646, 0.6033335017117958, 0.6136112817330975, 0.684166857998755, 0.6919446353874884, 0.7091668646125117, 0.8011113345782759, 0.8886113595549332, 1.0034594544817923, 1.0588891848739497, 1.0546454331621538, 1.0414754988328665, 1.0442042589097689, 1.0481748451602864, 1.0653571584967318, 0.994150381652661, 0.9627707927443216, 1.073886802054155, 1.0657518966587565, 1.0148695321350762, 0.8975023521585487, 0.8637116944444444, 0.8555557889822596, 0.9539778267973856, 0.9653363744942424, 0.9560154529256146, 0.9462654030501088, 0.8976706187363835, 0.9830558306878308, 0.8288891139770727, 0.7471080176626206, 0.7127779770463741, 0.7617063930127607, 0.8000002238562092, 0.806666713163322, 0.8294446694677872, 0.8774115091814505, 0.8881771533613446, 0.9475142422191102, 0.9825002745876128, 0.9119446994242142, 0.9261533545751636, 0.960331705104264, 0.9584036267507002, 0.9080509073295986, 0.9752780413165268, 1.058611405366288, 0.9945705170232938, 1.054552084422658, 1.1160110161842514, 1.0757820304187418, 1.2317040785091813, 1.2359316780267662, 1.2675003494637689, 1.345574568549642, 1.3738892726423904, 1.448889291778934, 1.4121849436929443, 1.3919701516495486, 1.439790279333956, 1.3427454270152506, 1.317336918378463, 1.2904366022408964, 1.199467869825708, 1.2702031683784625, 1.2908336939360945, 1.2220612434640523, 1.4331443480255994, 1.5025537897603485, 1.8169449456115785, 1.9152316192570555, 1.9998581093215064, 2.0688497310924374, 2.02916723373794, 1.999222742997199, 1.839167174369748, 1.7422973512293811, 1.7040153749610958, 1.638181649771761, 1.397999566717538, 1.336890796451914, 0.8556514688485589, 0.6861439528452123, 0.4839239065515094, 0.3979786103330221, 0.4008660400715842, 0.4073972971521942, 0.523333479144621, 0.5160341984678138, 0.4877779139433552, 0.484166801276066, 0.4761461545025426, 0.3786811679894179, 0.3682260357920946, 0.3675001027077497, 0.4857354053065671, 0.4854622959072517, 0.507796451274628, 0.6843535734211724, 0.6093488853044923, 0.6154459929971989, 0.6190430999844383, 0.623611285555426, 0.6178384926689635, 0.6332237757547464, 0.624330216075319, 0.6312933359788361, 0.5159500750855898, 0.5241668133364458, 0.4603151601897246, 0.3084617529567382, 0.3172223108465609, 0.5716668266417678, 0.5836112744319951, 0.5947223884220354, 0.7238890902013088, 0.7085619943337226, 0.7575002120292563, 0.7571733696700903, 0.7446010063025211, 0.7345424892623716, 0.7423461037192656, 0.7357914866901393, 0.669859949579832, 0.4467811388888889, 0.4314426680672268, 0.4222083072673515, 0.3163212567693744, 0.3237909151332002, 0.2723996778711484, 0.2651587338157485, 0.2762698946467476, 0.2754342264783827, 0.2597222945845004, 0.2483520110488639, 0.2283333971366324, 0.2291667307033925, 0.2263889521475257, 0.2185247792561468, 0.2088469038119883, 0.2003664863834422, 0.1926750994002243, 0.1921172093461522, 0.1793347598039215, 0.1787768699035169, 0.162222266573296, 0.1720845066137566, 0.1737628633675692, 0.17348041713352, 0.1730556039526922, 0.1722222703081232, 0.1462605056022408, 0.1579178546529723, 0.1737488582321817, 0.17500004886399, 0.1754295305010893, 0.1755556045751634, 0.1769794601495231, 0.1764239044506691, 0.1857236504824152, 0.1847222738095238, 0.1851680947712418, 0.1858333853096794, 0.1947642917743103, 0.1737721999688764, 0.1561788276532835, 0.1491667083722378, 0.1413305550108932, 0.1357213116246498, 0.1420495132275132, 0.1164682559134765, 0.1055345680049797, 0.0990873226735138, 0.0923599651416122, 0.0861951652661064, 0.0864752780890134, 0.0922222480547774, 0.118611144335512, 0.1255555907251789, 0.1308333699813258, 0.1352778156707127, 0.1413889284936196, 0.14888893059446, 0.1594444891067538, 0.1650000462184874, 0.1711111590413943, 0.1797222725626362, 0.1763889381419234, 0.1708216635543106, 0.1612231786492375, 0.1619444896514161, 0.162777823295985, 0.1578548315437286, 0.1353034730781201, 0.1430859027388733, 0.1413889284158107, 0.134299743697479, 0.1272969424992219, 0.1683403737161531, 0.1949276387332711, 0.1934640553999377, 0.2287348871770931, 0.2250630861344537, 0.2247222851696234, 0.2244445073140367, 0.2280555584344849, 0.2239122374727668, 0.2250000630252101, 0.2252778408807967, 0.2252778408807967, 0.141323533846872, 0.1242856850740385, 0.1337581744475568, 0.1019444730003112, 0.0983333607220666, 0.0916783632897603, 0.0916666922657952, 0.0880555786304399, 0.0895821679894179, 0.1075000301120448, 0.1075000300342359, 0.1072222522564581, 0.1077778079676315, 0.1050000003112356, 0.1299066314970432, 0.1494444863056333, 0.2341667322595705, 0.2408334007936508, 0.2452778461718021, 0.2556582643168378, 0.2486624672424525, 0.2472222914721444, 0.2513889593059446, 0.2555556271397448, 0.2627778513849984, 0.2788889645107326, 0.2430578924680983, 0.2325000648926237, 0.2247222849361967, 0.2425000676937441, 0.2441667348240223, 0.2311624719758278, 0.245721295748392, 0.2411111784158107, 0.2650000736850296, 0.3805556619203238, 0.3875001083099907, 0.3858543557260872, 0.4108334481792717, 0.4219445624027388, 0.4871732193432929, 0.5113890319016496, 0.5488890424058512, 0.5559150429276294, 0.6627779631185807, 0.722222424291939, 0.7780744374371048, 0.689444637254902, 0.857500239807034, 0.920847585978836, 0.9523179435885466, 1.070301419078743, 0.9672224919078743, 0.9393907691409896, 0.9233335879240588, 0.9272224798326512, 0.8161041223934018, 0.7694491134931106, 0.7925982569249923, 0.7987278388577652, 0.6575001833949321, 0.5884173764133114, 0.5708334920395405, 0.4655556854964208, 0.4416013117024587, 0.452222348506069, 0.4571615586575375, 0.6344539582944289, 0.674937016573296, 0.7490079832581287, 0.6844703113912233, 0.6716340359477123, 0.657777961406785, 0.6742787656188408, 0.7973716746809835, 0.8494446817615936, 0.8627102715530657, 0.8697224649859946, 0.8633335743853098, 0.6847665749920888, 0.6515290103485838, 0.7711113264083411, 0.76888910340803, 0.7644446578742609, 0.8588891283846872, 0.8845238118580765, 0.7609104248366013, 0.763611324151883, 0.7496756918767506, 0.7722224378306879, 0.7684875580454404, 0.7753689806768087, 0.7442904374416432, 0.6508335148615002, 0.6636112963741052, 0.6724884670868347, 0.6131699901928365, 0.5827264301276066, 0.58498377762216, 0.5860855523653907, 0.6044422326486151, 0.6869609293495176, 0.6991668608776845, 0.6816106478944525, 0.6874019664643635, 0.6541668493619671, 0.6666668530967944, 0.6593790944236966, 0.7078106537503891, 0.7073762900715841, 0.7145845091814503, 0.9584339435107376, 0.9530604624961097, 0.844141197945845, 0.9222224777447092, 0.95444470772837, 0.9750910821888958, 0.999722501556178, 0.993011446467476, 0.9966669412542796, 1.0161113951136012, 1.0918651263616557, 1.07316765100027, 0.8280557868036102, 0.842243418845316, 0.8382003415116995, 0.7505416015244066, 0.7156699908360586, 0.7021452409741674, 0.6773951406006847, 0.6466387887488328, 0.6394701244164332, 0.5278664847494553, 0.5460270838779956, 0.5550561382430759, 0.5680626795829443, 0.5513890427948958, 0.5595892923280423, 0.6976005342359166, 0.6992975481637098, 0.7561089604730783, 0.9841529091970124, 1.05943044939374, 1.1891669985572948, 1.2200003390133831, 1.1361064528478058, 1.1491669846716466, 1.206944781512605, 1.224722564581388, 1.229388739807034, 1.0875003025683432, 1.086148733426704, 0.9981255972611266, 0.8369446785714286, 0.7797947989463866, 0.6522224043728603, 0.6410249154729495, 0.6262582075771491, 0.5981139283535657, 0.54158033184459, 0.5242343927683114, 0.5092321384220355, 0.5553245885465299, 0.5440429855275443, 0.555833484282602, 0.5466668193277312, 0.5400001504824153, 0.5282610929038283, 0.5082329655306567, 0.4906232816500681, 0.5669446028633676, 0.6619281317304699, 0.6622714066293184, 0.6747083833644569, 0.7463307242452537, 0.7348996274267885, 0.8426216041828768, 0.9042345976501712, 0.8986113530967943, 0.8963237727201994, 0.8962560814659198, 0.894108547353583, 0.8150002279800809, 0.8601052781668224, 0.8608335741518831, 0.8388891232168805, 0.7129505206971677, 0.7136718131561891, 0.5875001625427949, 0.5625001567667816, 0.5575001552287583, 0.6872224144880175, 0.681666857376284, 0.6836113015639598, 0.6833513296882855, 0.6672416979199087, 0.651391905506647, 0.642332930686416, 0.6337058825265148, 0.6241431978680362, 0.6188888941539586, 0.629043121381886, 0.629313896669779, 0.4929062958294429, 0.4844655873793962, 0.4741667992530346, 0.4701005015561781, 0.3017577843137255, 0.298055638888889, 0.3000000836997143, 0.3022223064892624, 0.395599913243075, 0.3977778854652972, 0.3352778715375039, 0.336944538671024, 0.3408334284158108, 0.3422223179271709, 0.3597223228291317, 0.3666667691409898, 0.3736112155306568, 0.3744445491752257, 0.3725001040305011, 0.3711112134298164, 0.2845028783846872, 0.2708987011055357, 0.4602779063180828, 0.4600001284624961, 0.4531140366479926, 0.4505556814503579, 0.428958922657952, 0.4213890066915655, 0.4619445736850295, 0.4619445724400872, 0.4711112428415811, 0.4736112369397782, 0.4849136401338312, 0.4947223604328787, 0.3224393917678182, 0.3102124978991596, 0.307434719265484, 0.3004926069872394, 0.2969981486150015, 0.2750933885776533, 0.4049394151882975, 0.3979856315288168, 0.3815944043728603, 0.3713142889433564, 0.3470457657121229, 0.3211112010582011, 0.2919445262215998, 0.2921359297385621, 0.289654602474323, 0.2907727165421724, 0.2725256777155306, 0.2907773849206349, 0.1322222591814503, 0.1322222592592592, 0.1327778148926237, 0.1322222592592592, 0.1271568632119514, 0.1352357909274821, 0.1330555928260193, 0.1325000371148459, 0.1304738861655773, 0.1315826633986928, 0.1335947718643012, 0.1324323362900716, 0.2815990447401183, 0.2835598290538438, 0.2836111905539994, 0.2905556369436664, 0.2896148559757236, 0.2880369533924681, 0.4047106527388734, 0.5383218156383288, 0.6338890750254808, 0.675555752613904, 0.6795029914117132, 0.6805557498967578, 0.5543839041406915, 0.5821523521749772, 0.6018745793413589, 0.6001565595906251, 0.6994446386684314, 0.7050001922123026, 0.6076775675789774, 0.4724228508338318, 0.4543628650793651, 0.5351752140522876, 0.5333029981851082, 0.5725001603641457, 0.5727779382197324, 0.5520471633208839, 0.548889042639278, 0.5588213445378153, 0.4665452857920946, 0.4805556900268461, 0.4825001351540616, 0.4863890240786478, 0.4197830286336757, 0.2988072666511049, 0.2904691879084967, 0.2546335850451292, 0.2500000700280112, 0.2397222893713041, 0.2308333979925303, 0.2164995898653246, 0.2260177487550576, 0.2193791389666978, 0.2063259142545907, 0.1946615783535636, 0.190212464441332, 0.1927778317771553, 0.1861811515717398, 0.2038889460006224, 0.1974580305010893, 0.1954972462651727, 0.1915850143946467, 0.1921452384842825, 0.1461368000933711, 0.163611156912025, 0.1677778247743542, 0.1700000476190476, 0.1704567222248598, 0.1668651194366635, 0.1871008408029878, 0.2004692373949579, 0.3333334267040149, 0.4922223600995954, 0.5202779235138499, 0.5293698893557423, 0.5441994876283848, 0.5502102310924369, 0.5657494517351385, 0.5713890489797308, 0.5794446067736972, 0.5836112746023966, 0.5510177457818013, 0.5546663473389357, 0.4111648005751375, 0.271330535480859, 0.254439837535014, 0.2578618246965453, 0.2503314782135076, 0.2547222931061313, 0.3391667588702147, 0.3572223218954248, 0.3922223317830899, 0.4180556722689075, 0.419381443121693, 0.4522223485838779, 0.4618955276221599, 0.4671522991752256, 0.4738890213974478, 0.4737665848631354, 0.4628104831932773, 0.4827779126206037, 0.3879552099874214, 0.4630556848739495, 0.5256934007936508, 0.5164216931995019, 0.5211671375460375, 0.5329483130252102, 0.5779763360566448, 0.5913890540771864, 0.6000001676781823, 0.6138890603018985, 0.6215126255103736, 0.6391668449268597, 0.6605557401182696, 0.5620518438375349, 0.5133334764239029, 0.5188890316682229, 0.5105555771864301, 0.5338189877840025, 0.5766271274509804, 0.5960933169058097, 0.6068699001711796, 0.6911113039215685, 0.7111528059848233, 0.7194446450357921, 0.9948812153750388, 1.0493140042794895, 1.055329847367949, 1.0811114128566266, 1.0804748568975613, 1.049493745518209, 0.9632799064737008, 0.9415406321130306, 0.9411113733219216, 0.8471569575928299, 0.8200840457516338, 0.8313891208372237, 0.5290172773887333, 0.5017903884998444, 0.615672297307812, 0.7275002029256148, 0.9087418836400312, 0.9353994167444756, 0.9530569979862002, 1.093942612655065, 1.1508336546840958, 1.1686114374416432, 1.242920509726113, 1.335033329477177, 1.531667094615624, 1.5220332244008712, 1.6136395722844694, 1.581634391845627, 1.609236741570703, 1.831836673226353, 1.9877783334111427, 1.929167205174292, 1.8813894144102088, 1.8683338551198256, 1.7917577534235916, 1.7199980916588855, 1.672705831232493, 1.6612515901027078, 1.4625677085278557, 1.3740430030442756, 1.1272432375505756, 0.9160784365079364, 0.9289729277933396, 0.8472224584500467, 0.8357751826201291, 0.8452779858348898, 0.8305884372860256, 0.8150490500239912, 0.640945385853045, 0.6208895084811703, 0.6088890399568174, 0.5891084578275755, 0.583337999902576, 0.582866490750469, 0.4313236426237162, 0.429444563881108, 0.4180486604607604, 0.3946172845471522, 0.3916667759103642, 0.4033334459228136, 0.4847223574540927, 0.4838143204170557, 0.4824254314503579, 0.5643698988484283, 0.5535527620007281, 0.5479856735138499, 0.52166681232493, 0.5252779242141302, 0.5232774497354498, 0.5202779231248056, 0.5212675170401494, 0.5096243130526737, 0.4436088913009648, 0.4341644442110177, 0.4284267088390912, 0.3366620827108622, 0.3358006647214441, 0.3224907439309057, 0.530532352552132, 0.548333486694678, 0.6330440521319639, 0.6369446221599752, 0.7112070105820106, 0.7227779796944729, 0.8415525171179584, 0.8507868780734515, 0.8591669071739807, 0.8713891327419857, 0.8684920837766487, 0.8861113590880797, 0.6600001847961406, 0.7254808838836195, 0.6619446294740118, 0.6516668488173047, 0.5816668294428883, 0.5597223784624962, 0.5355557054135544, 0.540555706660442, 0.5347223714596949, 0.5280066480703393, 0.5016013470004678, 0.5130556988795519, 0.5183194359632742, 0.4091199854173161, 0.4300001202925615, 0.4300001202147526, 0.4075303465608465, 0.4148320172735761, 0.2953991636321195, 0.2900327314814814, 0.3938889989884843, 0.421426238095238, 0.608625258714597, 0.6100001706349206, 0.6241668413476503, 0.6222223963585436, 0.5877382331932773, 0.6049511234827265, 0.6002639122315594, 0.6527779601618425, 0.6549838161375662, 0.6508078074229693, 0.5435832251011516, 0.5485901079611487, 0.4205393059446, 0.4183077464207905, 0.3913889982882041, 0.3958194110644257, 0.3955556662776221, 0.4033334461562403, 0.3996732882041706, 0.3634174653698518, 0.3780346257391845, 0.3861112186196708, 0.4014239861500155, 0.3631303505116121, 0.3108334201680672, 0.3838889963429817, 0.4030556682228448, 0.3977778890438583, 0.3966480762527233, 0.3710948477279801, 0.3813889955648926, 0.3605556563958917, 0.3375000943821973, 0.329166758714597, 0.3102778645347028, 0.3120985696389667, 0.3024929981325863, 0.2304528877995642, 0.2238889514472455, 0.2277778414254591, 0.2288399069405539, 0.2266036790382819, 0.2218300659819483, 0.2316480300342359, 0.2405556227824463, 0.2411111784936196, 0.2455859407083204, 0.2425000675381263, 0.2380788987706193, 0.2413889564270152, 0.2302778420479303, 0.2255532565359477, 0.226944507858699, 0.2302778420479303, 0.2243557706193588, 0.2289122668845316, 0.2402778449268596, 0.2372152580921257, 0.2346919154995331, 0.2335738015094926, 0.2382633463274198, 0.2305556199813258, 0.2357353354341736, 0.2368464468565204, 0.2337628801742919, 0.2340429922191098, 0.2260457517896047, 0.2250000628695923, 0.405277891145347, 0.404444557578587, 0.4034034533146592, 0.4050841255835667, 0.4088608996265172, 0.407777891923436, 0.419166783924681, 0.4202778953470277, 0.4209734838935574, 0.4333334546374106, 0.4478502622938064, 0.4533334601618425, 0.2591667391067538, 0.2644445182850918, 0.2652778519296607, 0.2663889633520074, 0.2632913541083099, 0.2691597020697168, 0.2680556304077186, 0.2652544728446934, 0.2638632493775287, 0.2543417740429505, 0.2453781886087768, 0.2389332773887332, 0.2399720289449113, 0.2394071364768129, 0.2385784712885154, 0.238013578820417, 0.2338865548552754, 0.2357773508403361, 0.2208333950357921, 0.226360913943355, 0.226111174291939, 0.2227778400248988, 0.2125980394484646, 0.2227778399470899, 0.2193767864145658, 0.219379120603797, 0.2200000614690321, 0.2197222836134454, 0.22296918767507, 0.2219445065359477, 0.2299673577653283, 0.2252054530034236, 0.2277264614067849, 0.227446349361967, 0.2330019064737006, 0.2288889529256146, 0.2347222878929349, 0.2377778442265795, 0.2447222905384376, 0.2545728681139122, 0.2602778503734828, 0.2761111882975413, 0.2805556339091192, 0.3033334182228447, 0.3438889848272642, 0.3775001055088702, 0.3943487855410144, 0.4181233173825085, 0.4408334565048242, 0.4513890150949268, 0.4563890164954871, 0.457203630096483, 0.4936112489106753, 0.5307003863211952, 0.569444603330221, 0.5591596985683163, 0.6446593420453367, 0.737376456660442, 0.8044678618412299, 0.8805791156240275, 0.9103316907096172, 0.9194447012916276, 1.0013891687675072, 1.0063891700902583, 0.9732075210862124, 0.9309199398537192, 0.903247183629007, 0.9038027380084084, 0.7846804166666668, 0.6422596090076772, 0.615142424427288, 0.5246546399782135, 0.4753782527233116, 0.4733334652194211, 0.394281077264239, 0.5019445842670403, 0.5797223815748522, 0.6000001675225646, 0.6608241532057266, 0.6922224155773421, 0.7055557523342669, 0.7133265020230315, 0.7115826391009189, 0.868889131652661, 0.9758382465764084, 1.016389169623405, 1.1466669869994297, 1.0360856773264864, 0.957014523235684, 0.9655558250077808, 1.1069960683162154, 1.1102780873015876, 1.0966669726890756, 1.0820637621381886, 1.064227621304077, 0.9147549049953314, 0.8080557809679428, 0.7958335546769643, 0.6730557433084344, 0.6930557482856106, 0.6961439836601309, 0.6694446314192344, 0.4636135744631185, 0.4355556767818239, 0.4772223550420168, 0.5300001479147214, 0.541944595439751, 0.5416668180049797, 0.5533334878618115, 0.5263890354030502, 0.5219445897914722, 0.5058334737005914, 0.5018860902583255, 0.5375001498599441, 0.57527793767507, 0.6436112907614902, 0.6834710831725284, 0.6766668551976347, 0.7355557602707751, 0.7361113166044195, 0.8397224567382511, 0.8488891260504202, 0.8536113496732026, 0.8597224624811968, 0.8711930503423592, 0.96252591643324, 1.0132285585810252, 0.9697224870837224, 0.8911113597883598, 0.8691669014900406, 0.8092369176781822, 1.0202780627139747, 0.911944688530968, 0.9097224762682852, 0.903333585823218, 0.9177780340024898, 0.9363842307033924, 0.8700002428415811, 0.7635224203956584, 0.7536113212930562, 0.7455557636943667, 0.7369446501283862, 0.93479484064737, 0.7333335379707437, 0.7447224299577244, 0.7372224281823841, 0.7333335382819794, 0.7043580806878307, 1.000000279178338, 0.9865079380641144, 1.0088891708683474, 1.0175002840802987, 1.1033336418456272, 1.1275003150482414, 1.0483336248417898, 1.0350002893713044, 1.0208336185807658, 1.0172225058356676, 1.0244447309368194, 1.0227780637254904, 0.8970660724374934, 0.8800002453314659, 0.8586113513849984, 0.8522224603174604, 0.7683335476968564, 0.7416668737161533, 0.6286112866479927, 0.6325001763927793, 0.6305557314036726, 0.6319446206615059, 0.6286112864923747, 0.6238890631030191, 0.411914103330221, 0.4066667798766729, 0.3936135549330843, 0.4686112415966387, 0.4600001283068783, 0.457222349284158, 0.4649579841269841, 0.4705556868191721, 0.4691667974634299, 0.4741667986305633, 0.47500013243075, 0.468889019685652, 0.4669445744631186, 0.4691667974634298, 0.4661112412075941, 0.475555688453159, 0.4763890218643012, 0.4705556868191721, 0.4894445810768751, 0.5001682013694367, 0.4917695080921258, 0.4792158183162153, 0.4711112426081544, 0.470277909197012, 0.6888890813103019, 0.6863890807656396, 0.6866668587768443, 0.5922223867880486, 0.5930557214441332, 0.5947223882664177, 0.7806351353874883, 0.7575002119514472, 0.7588891009181451, 0.7575002118736383, 0.7575002119514471, 0.7566668782290694, 0.5330557044039838, 0.5338890378929348, 0.5330557045596016, 0.5350001486150014, 0.5316668154372861, 0.5311112595704949, 0.3120214760348584, 0.3108334198568316, 0.3141667543572985, 0.3402778728602552, 0.4872223583099907, 0.5405557066604421, 0.5665010876128229, 0.5663890470743854, 0.5661112693744166, 0.5650001577160496, 0.5633334906629319, 0.561666823451603, 0.7186113114690319, 0.7180557560690942, 0.7150001998910676, 0.6891668593215063, 0.5441339910519764, 0.4911112481325864, 0.4621591977124182, 0.4588890167289138, 0.4572223498288204, 0.4561112384842826, 0.4555556828509182, 0.457500127840025, 0.3072572370837224, 0.3077778635231871, 0.3086111970899471, 0.309444530734516, 0.305277862745098, 0.3072223077342048, 0.323618120291913, 0.3230556453431374, 0.3269445356364768, 0.326666757858699, 0.3269445355586679, 0.3275000911142234, 0.3241643334889511, 0.3366667604263927, 0.3406396722689075, 0.3523927067382508, 0.3599604008714597, 0.365000101696234, 0.3669445467631496, 0.3752778823503476, 0.3797223281979459, 0.3886112194211018, 0.3913889980547774, 0.3834141334816262, 0.3635924737823008, 0.3512535667600373, 0.3372432959850607, 0.3198810178169416, 0.3055929691876751, 0.293818926626206, 0.2848669470121381, 0.2730089388422035, 0.2578828881886087, 0.2475000688608776, 0.2369445105042017, 0.2366667322669787, 0.228611172947762, 0.2208333948417623, 0.2425000677199719, 0.2411111785093386, 0.239444511367238, 0.2397222891378773, 0.2394445112822907, 0.238333399859944, 0.2375000662931839, 0.2375000663709928, 0.2377778441487706, 0.2377778442259311, 0.2491667359697591, 0.2428478061002178, 0.2319445091036415, 0.2316667314036726, 0.2332422999533146, 0.2336111763149704, 0.2304435136943666, 0.2300000642701525, 0.2315569592242453, 0.2294445084033613, 0.2286111749144102, 0.2280556192032369, 0.2305182077497665, 0.2016667229225023, 0.2016667229225023, 0.2038889458450046, 0.2047222794117647, 0.2047222794117647, 0.2092040719732337, 0.2125000593681917, 0.2119445037328821, 0.2113889479458449, 0.2138889484905073, 0.213055615079365, 0.2352778434484905, 0.2675000748521631, 0.2697222975412387, 0.2694445197634609, 0.270277853330221, 0.2702778531746032, 0.2811111895424836, 0.2775000774198568, 0.2847223016651105, 0.283333412464986, 0.2850000795206971, 0.2905556367102396, 0.262500073279127, 0.2758334102863368, 0.2733334097416744, 0.2722222983193277, 0.2708334088079676, 0.270277853252412, 0.2634617221444133, 0.2726540674603174, 0.2797223004201681, 0.2880556360877684, 0.2914356448801742, 0.2930556374105198, 0.2922223037659508, 0.2847223017429193, 0.291944526065982, 0.2994445281668223, 0.334166760192966, 0.3416667621381886, 0.322224581154684, 0.3256746063647681, 0.3255556464363524, 0.3255556463585434, 0.3344725201525054, 0.341666761826953, 0.3617483990818549, 0.3711112148303766, 0.3777381648770619, 0.3825001068316215, 0.477500133286648, 0.625555727124183, 0.6780042455229954, 0.6983335295301696, 0.7072224200761112, 0.7546290563858187, 0.7677780068404852, 0.7821313697286132, 0.8072224533393519, 0.8266669015544172, 0.8427102780227086, 0.8613891317979777, 0.8650443598069694, 0.7342647594209701, 0.810266287207244, 0.8166668950886434, 0.8185761499105871, 0.7935389264705883, 0.7891668870208269, 0.785933885698724, 0.7688772185652037, 0.757460492997199, 0.750177579676315, 0.7417882237784003, 0.626111285480859, 0.6161112549797697, 0.6930860648148148, 0.6804296713352009, 0.6787443309212575, 0.6780557446311859, 0.6751308843759727, 0.6698134239807034, 0.6691526808278866], [13.171648281901648, 13.334851666199814, 13.529891633831312, 13.66573434982882, 13.8102922683629, 13.592070648770616, 13.612226010504203, 13.619624396125117, 13.705581555477746, 25.62870682450592, 25.864378815048248, 26.407128828166822, 26.720520683074614, 26.89808854078522, 27.153394208061, 27.89663220291005, 28.020869059601623, 28.219493929831977, 28.642029407407414, 28.735483839169003, 29.356572045228493, 17.912656977570958, 17.960635510783664, 17.3886131416537, 17.372353227196804, 18.71471569705884, 18.666503681917213, 18.14080589134119, 18.28864405135388, 18.312610151078744, 18.124418843370684, 17.987154843370682, 17.293300885620916, 18.11602475060821, 18.154888125350137, 18.254960419000938, 17.33190034562714, 16.999691604149163, 17.049607623093685, 17.120133471755366, 17.08443069553377, 17.200198241784687, 17.552756769218803, 17.89658986220044, 17.460054231948334, 18.109932627373176, 18.9807941180361, 19.775012028322443, 20.465546793884226, 21.388374228913797, 21.977982238717715, 22.076395028944912, 22.41481235566449, 23.14742416464364, 23.2408303951136, 23.375736681971038, 23.432407900483074, 22.96388256302521, 22.335322777266843, 21.915712607298477, 21.58204036414565, 21.10229712145969, 21.189144481403677, 21.423459609399316, 21.640652125894803, 20.96690783115468, 20.816557580143165, 20.78212494545597, 20.69094402670013, 21.80547750155618, 21.55880343962029, 21.432787350240563, 20.93349879761461, 22.304987211017743, 22.073623904803405, 21.55830559048527, 21.24934950912569, 21.060500327186432, 21.305274036681077, 21.348544327653286, 20.970852249898847, 20.64378695417056, 20.55106458123249, 20.63926770699049, 20.8564129773759, 19.80786457298475, 19.9090178268752, 20.0512146206038, 20.51238393549642, 20.95482586220434, 21.26603967094616, 21.75363059850607, 22.276742115935264, 23.50806402061936, 24.39919435294118, 25.700949821064206, 25.6126492739861, 25.21577226696234, 25.45408927550446, 26.25035942997199, 26.67397093611889, 26.61835463352008, 26.04443060068472, 25.526395989573604, 24.680868661064427, 24.609532518285093, 24.38973420323685, 22.86367425233427, 23.279315059358467, 23.123584768596327, 22.96639950395917, 22.145513755588517, 21.692547025676937, 21.818052125350142, 21.99939646319639, 22.07058228983816, 21.541797755647632, 21.21160390499144, 20.636464515633104, 20.725367070811508, 20.23101105625584, 20.180777877139747, 20.018574597416748, 19.968611677404294, 19.884900093059446, 19.740712059835047, 19.74322610067296, 19.811344793783068, 19.59437462130408, 19.45896658906721, 19.722880969187678, 20.14019863113913, 20.342780744086525, 20.486415075708063, 20.33975788934602, 20.1854295891502, 20.345107534227488, 20.251254110955497, 19.886339987588848, 19.35647069382197, 18.805821883280164, 30.311098060486945, 30.16394137089429, 29.75650655952381, 31.82294978423592, 31.562382435807656, 31.384992086601304, 30.9303629842048, 30.553523463663243, 30.136966537765847, 29.821649053843768, 29.76319918393637, 29.73000117362104, 17.911799717105662, 17.61357594833489, 17.31808850855898, 14.805986549408653, 15.098034686819172, 15.573682894957985, 16.3124434833489, 16.73740852466542, 17.38376976781824, 17.60373031248055, 17.68236709375973, 17.505177603641457, 21.139466641456583, 20.94212530539994, 20.5445495789715, 20.403705169000936, 19.73863236181139, 19.020945556878303, 18.2537560037854, 17.42084739091192, 16.668100110099594, 16.420034684554285, 16.422378257780892, 16.581297719811946, 12.777503554933086, 12.848226095055892, 13.168422228291316, 13.200618634765016, 13.062185226501713, 13.2862079414099, 13.217481516946131, 13.179144366557734, 13.364587986772486, 13.351867614301277, 13.115793851774042, 13.135201809446002, 13.792458389044508, 14.038472395502648, 13.893310240429503, 14.020164734982885, 14.287122137021475, 14.17250394328315, 14.09891352412076, 14.126889601073763, 14.077599276688453, 14.150670195424835, 14.236182487550575, 13.634192853874884, 13.596264000378673, 13.335787679099887, 13.328931209694987, 13.198794396591971, 12.97470851696234, 12.918931858621226, 13.007071735060691, 12.876169902583255, 12.812865337145968, 12.633280194664255, 12.626959294584504, 12.668059082088392, 12.55000808792406, 12.476893503579207, 12.837819980781202, 13.524725984228793, 14.148136136865858, 14.811659017052484, 15.577254467164646, 16.146304331354393, 16.977381423436043, 17.70782203135699, 18.500733474089635, 19.068520475412388, 19.66369809999287, 19.843891819172114, 19.139113224634297, 18.392019331310305, 17.859402649626517, 17.411470793417365, 16.610112094693434, 16.018284794895735, 15.148086118036105, 14.296986617102396, 13.569318631419234, 12.848541329831932, 12.152378786893191, 11.974316270852784, 11.946092590268703, 11.965982934718332, 11.969076069803664, 12.027652008714597, 11.981944659302714, 11.951039692531644, 11.803427424603177, 11.845119520385934, 11.75914582710862, 11.79529201803286, 11.911114421662647, 11.993669696700902, 12.078107087457203, 12.217628673428909, 12.19974116487706, 12.196767857920946, 12.323177726876493, 12.456708865079364, 12.520166557734203, 12.596494158963583, 12.969024421030465, 13.346200842890216, 13.427221203228353, 13.382717186507936, 13.43882842499222, 13.393934302987862, 13.381073954090803, 13.28583699205312, 13.33522754816371, 13.21704288383131, 13.24028064301276, 13.19096667553688, 12.812143076953, 12.543109391845627, 12.415817267955704, 12.37539487962963, 12.339762001711795, 12.400504426704014, 12.386207105742296, 12.387806553202491, 12.31248700902583, 12.327922582321818, 12.626344694522253, 12.542334516485765, 12.937169705848351, 13.029171853716026, 13.456661066293185, 13.693469960395271, 13.752789686286183, 13.898558930827887, 13.872907308614096, 13.943626375739184, 14.107975439309056, 14.266412397193736, 14.18600274836342, 14.249638344849048, 14.052538605351309, 14.167911101934896, 25.493622552131963, 25.521124944989108, 25.34198856489263, 25.1552636914099, 25.369217852941176, 25.478564208372237, 25.330366214596943, 25.161073423406865, 25.20999526365936, 25.280931148381576, 25.213440452589104, 25.144049810529346, 13.452040377061936, 13.464092194989108, 13.712451270697168, 13.776848903423598, 14.668674411920325, 14.804353653828196, 14.817840030344849, 14.8695720638033, 14.705374946461646, 14.49182088784561, 14.47791945681606, 14.236502431840384, 14.94791932659898, 14.850710043962028, 14.549124804305436, 14.607039448274657, 13.33395435779905, 13.127456900482414, 13.167530515639587, 13.0144034899432, 12.845712376439463, 12.776363466464364, 12.733055739651418, 12.687781303320692, 11.90472265927677, 12.002339025599127, 11.908667391117234, 11.995959814543784, 11.882026582555245, 11.94456605788982, 11.872175956250013, 11.724348842514784, 11.818336619903516, 11.948742062402738, 12.110003367547852, 12.083662719187677, 12.142867335978838, 12.009005990507314, 12.340964467305351, 12.50216724369748, 12.520173195809363, 12.458059021786491, 12.580281278304287, 12.740127124257551, 12.805497666588858, 12.739167151811053, 12.7210142167756, 12.912557204481796, 13.395679822751324, 13.565705139122317, 13.24018005104264, 12.96675889688959, 12.858003099311444, 12.891457555399937, 12.683168722533456, 12.675735615683037, 12.785262613523187, 12.77400814021164, 12.866266265328354, 12.402355726501712, 12.264101884209332, 11.888086082477434, 12.03389868985372, 12.121971055322131, 12.120457859550395, 12.282897686896984, 12.367255234905072, 12.498662927559913, 12.305117184718332, 12.242808598340728, 11.9840525105042, 11.764925473180233, 12.64381757306256, 12.67621648373794, 12.949216236928104, 13.097736921548528, 13.100787170401492, 12.789097601992555, 12.72038562029256, 12.471223570961715, 12.469062630174294, 12.560263987024875, 13.061119335978836, 13.225243929330304, 12.365264803065672, 12.356466276067938, 11.908996615935262, 11.720350984982884, 11.704169920557112, 11.760803891355431, 11.726392151805168, 11.672743628137535, 11.66694768853097, 11.5241038267118, 11.10028959757236, 10.961711634687209, 11.681669917819535, 11.8070265140056, 12.023952261037191, 12.158957602062586, 12.178047232959852, 12.2100033854653, 12.26585298381575, 12.242873751624913, 12.273938074618735, 12.237474761048864, 12.27457617561469, 11.71145224928805, 11.514412585434176, 11.30713828274383, 11.48806060090777, 11.832225515639587, 11.86919047307812, 12.11310300801432, 12.753761396436357, 13.467852843215065, 14.169777126191777, 14.806613446078432, 15.551652280890131, 16.07694501346094, 27.50320084072518, 27.88292551030063, 27.588177069327728, 29.039730330999067, 29.03564977645503, 28.803714757080613, 28.2864290959909, 27.580987720043574, 26.796928471444136, 26.18492992903828, 25.601495959694997, 25.352450670577745, 14.03264963894984, 14.14163070821662, 13.986153252567693, 12.554725713429816, 12.430653773187052, 12.46618375867764, 12.542503487784003, 12.673847042950513, 12.837302628773733, 12.79269386405543, 12.670035226112669, 12.822242622435464, 17.300321846173127, 17.097007536325737, 17.22898253470277, 17.118811877606603, 17.143445239096383, 17.201671462340492, 17.224796788048554, 17.259418635154063, 17.36750484360411, 17.466188136529986, 17.746671617173075, 17.457105314719378, 13.068710189682562, 13.13331359072518, 13.14856458068783, 13.20367285823089, 13.428175919545597, 13.374711901260506, 13.226649084897964, 13.26712539914864, 13.37650452910053, 13.261076413009649, 13.037704025365702, 13.098329963896669, 15.007189009103644, 15.03860572922568, 14.91443538087457, 14.952646269607843, 14.63612420143169, 14.702223936741364, 15.010251407663532, 15.050464731792715, 14.942104795751636, 15.029598825552442, 15.009999255536124, 14.42355757990974, 12.82904546451914, 12.692259873203914, 12.87457095681606, 12.720236958294429, 12.946670267896048, 12.86588253680361, 12.666104211562402, 12.495999411998133, 12.284998689931529, 12.176561881652662, 12.296548343584009, 12.375162127373171, 12.4030252464986, 12.34009588032991, 12.023769971366324, 12.19812818425148, 12.042595843915342, 12.014928340802989, 12.179218983252849, 12.088011388422034, 12.011723405091947, 11.719997748311089, 11.67027320504477, 11.760772884271582, 12.112080536023427, 12.633090986694675, 12.705110284387, 12.65861463530968, 12.622630925303454, 12.655607627139746, 12.45306084278193, 12.394201966853409, 12.384555038204171, 12.35111848170066, 12.53247694052876, 12.599244604263928, 12.153427538543944, 11.9398952237784, 11.953884690631808, 12.363065874494245, 12.909169551976346, 12.835003555176284, 12.93941983232182, 12.848110295985062, 13.08790969771242, 13.313450379612776, 12.925302032026146, 12.817059827186432, 12.900537356661738, 12.56093251431684, 12.279323441409897, 12.055355727279805, 11.547017651571744, 11.490588879133355, 11.386858715608463, 11.60152202194211, 11.347749929566737, 11.106844299005344, 11.264930512371617, 11.20051189345822, 11.203618612433864, 11.177476753968254, 11.06671814799253, 10.827257836483618, 10.73994903952692, 10.779190059719168, 10.788917063402582, 10.571463732648615, 10.612675365157177, 10.50378632508559, 10.490838371226268, 10.48170882868834, 10.24034581454508, 10.177033167989418, 10.321958845442344, 10.393795793187834, 10.36593393331777, 10.26151729565438, 10.151694736694678, 10.2596758505291, 10.322932017040149, 10.178713995253656, 10.26134035278556, 10.273543625731406, 10.254792384142544, 10.619603602638378, 10.44225746179583, 10.39250288915474, 10.290074821654215, 10.287943682850916, 10.34251203671089, 10.218489952521658, 10.17364193845316, 10.11644749782135, 9.989355910753194, 9.808011559577404, 21.708756913476503, 21.24112372128852, 21.20995431702528, 21.19155085799876, 21.165712856209154, 21.11454113904841, 21.003808041160912, 20.9486352254902, 20.976639531400437, 21.010068575595884, 21.065633631730478, 21.25264803978001, 9.529243798015887, 9.63437705874572, 10.05506815429505, 10.395805633675693, 11.613189055917797, 11.639204528645353, 11.620070479314506, 11.602759510893248, 11.65506602832244, 11.685590890600684, 11.789125203003422, 11.5933032683113, 12.348049229023417, 12.320733208326892, 11.722882906406271, 11.616723330890224, 10.463464242241818, 10.50529664386866, 10.547775643946467, 10.556883836494324, 10.49875367429194, 10.457861936507935, 10.451083423202611, 10.36117428097636, 9.647546667055712, 9.694241563776067, 9.70448654388422, 9.683377781434796, 9.767721711173358, 9.759892759726114, 9.93175538165266, 9.885296596483036, 9.878268313685291, 9.792792068238406, 9.693760718771395, 9.690702774587612, 9.695240457893094, 9.600198545673823, 9.72132361173036, 9.632373939542484, 9.480259015873015, 9.560576644568938, 9.365469412844307, 9.341851172346717, 9.395165597416744, 9.414295088304671, 9.444617400241215, 9.400436942287978, 10.094222818158006, 10.080378225412383, 9.917920391223156, 9.942108081388112, 10.054346627677925, 9.965485526844072, 9.943723262994087, 9.974232158807968, 10.07458468394024, 10.075882549253034, 10.166169746809835, 10.15396385712535, 9.4326985384376, 9.388809767566013, 9.526683180750078, 9.691382091736696, 9.541031908730158, 9.506540745918928, 9.57508634164463, 9.539909070961718, 9.469463200012967, 9.58452626540616, 9.72093857590842, 9.753760664021163, 10.444993246965453, 10.616989258101208, 10.645350305940708, 10.748929072673516, 10.939692429349517, 11.107659307812012, 11.56534797089947, 11.599412241752256, 11.669937367780642, 11.590217328005384, 11.562419019607844, 11.734167204258194, 11.03211522951666, 10.964288193104831, 10.848795766484466, 10.830938575552445, 10.790247802054154, 10.776734825785873, 10.337934324696546, 10.454141108292484, 10.609206755213195, 10.6041504589169, 10.619169426626206, 10.419491503968253, 11.036237662355424, 11.069297679038282, 11.0163400708061, 10.930612126984126, 10.771312029567383, 10.693828533769064, 10.547498022417404, 10.325999327886713, 10.072138341613508, 9.939825076563958, 9.981837356831624, 10.089257946812427, 9.588191114923749, 9.433219069638966, 9.973462012449424, 10.097416221444137, 10.057535168611889, 10.03466869553377, 10.267518999299725, 10.344953431061311, 10.342187595238094, 10.262875935711692, 10.222157154839715, 10.206186115624028, 21.439249497644987, 21.44248480112045, 20.908623561858075, 22.500928147836916, 22.7420602764485, 22.859826328197947, 22.735610535048377, 22.99830917950513, 23.143019775287893, 23.15255280047205, 23.157496974877464, 23.220480022842448, 11.856195941798942, 12.004841968098352, 11.999573076252725, 10.452416225390992, 10.477236425256802, 10.381286587768445, 10.35081722912258, 10.0001729073296, 9.95126079537299, 10.052075350373483, 10.229169515406165, 10.009745731248056, 14.081341131419236, 14.02551000147837, 14.247211806255835, 14.134681571506382, 13.999816795907254, 14.07288892777259, 14.145185648793966, 14.149681586990352, 14.13505980804544, 14.033362756847184, 13.906159180361035, 14.013948571681093, 10.309984037970745, 10.348809649124671, 10.267173351358418, 10.269435436430127, 10.328039529100533, 10.359050338313102, 10.30630265455054, 10.310714476579523, 10.44979490411655, 10.480565295518208, 10.460779832738096, 10.388739660816626, 10.789713222300032, 10.769666454003918, 10.819673394266156, 11.119498572517898, 11.024935058163477, 10.967483948520334, 10.971638992129632, 10.966064538603618, 10.92379809001716, 10.933037049797695, 10.93532485994398, 10.97711518634264, 10.330908084781232, 10.180515975023344, 10.107873565402272, 9.942152494864612, 9.988272709213872, 10.189869644335513, 10.167516508311936, 10.065352741822936, 9.986792773874363, 9.915070495409276, 9.904320848515152, 9.83919477777843, 10.226162694811917, 10.16101082010582, 10.08469894125428, 10.138067510971055, 10.346342559757236, 10.173158602396516, 10.167336863834423, 10.212717194989107, 10.308550788492722, 10.401855913398691, 10.50741640592904, 10.680864144565104, 10.348188994908057, 10.457948603952694, 10.523590314814816, 11.628712170323688, 11.47594608582322, 11.465607613342934, 11.549636430905696, 11.652777911764703, 11.819993731792716, 11.7382870227202, 11.700738399081857, 11.600514232570806, 11.582194926543824, 11.56781111749144, 11.49980643899782, 10.324624466293846, 10.22843403733725, 10.36936778778984, 10.241554831932774, 10.110396842644466, 9.986732169000934, 10.055042309446, 10.095196379396208, 10.075357375670476, 10.026095061079989, 9.94490193706461, 9.897680038359788, 9.862584282757547, 9.877619492374729, 9.72233912535014, 9.800278001556178, 9.768996444677873, 9.886510515483971, 9.909846048474945, 9.997596001379163, 10.027122089558048, 10.033786483273683, 10.008464291528568, 9.99176735045129, 10.10074030047464, 10.066449902816682, 10.093170246403298, 10.099608089869282, 10.112292501847977, 10.12346907741986, 10.181424027155307, 10.13881698179272, 11.115532936331578, 11.70609800320194, 11.70389211484594, 11.687091727668845, 11.75778104761905, 11.80406898318347, 11.88750330890134, 11.992119878229069, 11.980999213974478, 11.865747870837229, 11.708109569249922, 11.7385699816371, 10.563067421023964, 10.223560259351986, 10.230046794406848, 10.3090803881108, 10.27114172743542, 10.248800329357664, 10.210002838546531, 10.079136409663866, 10.046687919545596, 10.08372806598195, 10.042640205882352, 10.1008942638033, 10.121111417833802, 21.86450636772487, 22.231938807189543, 22.271086816448804, 22.713967410326536, 22.943512195234863, 23.28222155423281, 23.77654712286025, 24.207950191020856, 24.71011190655151, 25.0547757070508, 25.463062664488017, 25.830287193817203, 14.435030823115737, 15.182823980625583, 15.570271257936506, 15.667492609554932, 16.915560229147214, 16.858942514239033, 16.82534070598546, 16.880131181605975, 16.7658636415597, 16.826837208363084, 16.789391226818786, 16.65327989400418, 17.82214790414138, 17.61397975840336, 17.591230310056797, 16.70933958541148, 16.809703546492127, 17.11020498910352, 17.42012382049487, 17.64362093300524, 18.931466383736648, 19.385005395712728, 19.577304317588705, 19.175644935185183, 19.076459397254645, 19.1825799553753, 19.44625405874572, 20.33614437550576, 21.003801222643045, 21.568976266083105, 22.21481701216413, 22.655110075396827, 22.257904195864626, 22.34166780776102, 22.89730788188609, 23.58836317020338, 25.027161406240275, 25.99075874716227, 27.23952420899471, 27.628530032601933, 28.128231444055405, 28.82777162317149, 29.398415996252584, 29.970979096763543, 30.037769429193904, 29.906474006270106, 29.5250849914528, 28.94457364028945, 28.979181604856976, 28.1670967829605, 27.11880733891661, 26.270161264550264, 26.40386106417992, 24.956872152254423, 23.882754763837667, 22.8812746556178, 22.4735958295207, 22.473528108066755, 22.49409062702685, 21.95312339892624, 22.07591593549642, 22.2803795103218, 22.446253602443846, 21.684944494631186, 22.223470170312662, 22.712300801871955, 23.22724462075942, 23.331943482882043, 23.855379621597805, 24.282784532290695, 24.24889564004565, 24.068134609513443, 24.245074352318703, 24.11600407650887, 23.797054503415094, 23.33296247587924, 23.11972865094927, 24.175923704948644, 23.667628697157383, 23.63908048809524, 23.15094360035857, 22.734102881574856, 22.50079049735449, 21.817663910974947, 21.37423931611941, 21.320752359788365, 21.11146153126686, 21.060157083177717, 21.181209959295483, 19.7708107536447, 19.680033043718797, 19.591083329598508, 19.811949951447247, 19.947505558823533, 20.042055032124058, 20.19830139654723, 20.81182651774043, 20.731356736275668, 21.021174352163086, 21.761135308434486, 22.39996636146774, 23.154872226956144, 24.04264168400444, 24.704927412387185, 25.206778702677923, 25.939040732493, 26.94172085636477, 26.776660334010177, 27.654472692265795, 28.30796755701116, 28.69203345666044, 28.53781314074463, 28.66370486755944, 28.38598593059446, 28.45904340545303, 28.49939387741921, 28.557643275676934, 28.56383772788671, 28.060572649050616, 27.73257492491441, 38.92516019333956, 38.87547764200124, 38.5582108653128, 40.76197637507716, 40.38864299250894, 39.98290192270334, 39.76348868579469, 39.69099832210859, 39.62579264301276, 39.1588434245836, 39.23954402054156, 38.04654788585434, 27.748578791924608, 27.74877257314037, 28.048632492997204, 25.837217345774917, 25.98211940432588, 25.867175938036883, 25.740562713663248, 25.035821801665108, 24.670158201058204, 24.432513484905076, 23.79496690367258, 22.97047984286297, 26.217957458824827, 25.296274668845317, 24.270786851307182, 23.15289938258637, 22.174166908807965, 21.259586909352628, 20.99153916993464, 20.588471175770305, 20.094925860779774, 19.7970876585538, 19.73167216083879, 19.78977872734666, 15.929780336985178, 15.959099437034444, 16.013242058411144, 16.206115620370372, 16.097782250311237, 15.811727930827889, 15.807439009025837, 15.83825666355431, 15.681929823627884, 15.328111087612823, 14.92973175170068, 14.527943753267971, 15.07583726415076, 14.745313183317773, 14.6884958356676, 15.23845164175809, 15.127649534080296, 15.067953006439334, 15.440137098739498, 15.420552781268157, 15.54881850652557, 16.246323373482728, 16.81222690802145, 16.71252585604575, 16.78889356636386, 16.77704247525677, 17.100494874489055, 16.15393999174318, 16.150573772950384, 15.73023622524511, 15.414572193197555, 15.165382127292771, 14.962271684329286, 14.278695292794897, 13.64454270666044, 13.0782892194211, 12.869097655292952, 12.8667952613601, 12.39318499149745, 12.426072449268595, 12.386659920514978, 12.4625938540305, 12.574393290098174, 12.75871969257703, 12.671924555788983, 12.622078542395478, 12.530908883597888, 12.58835480820106, 13.211392569638967, 13.458645194444443, 13.879448309679429, 15.376115393986025, 15.678967610410831, 16.14837249851191, 16.808571127139746, 17.12028254624119, 17.566393789293496, 18.09944949486461, 18.61056074665422, 18.62860692724868, 18.739983959539373, 18.767145404061623, 18.804318371615317, 17.59626816985683, 17.190672746187364, 16.457640448179273, 15.811526755757855, 15.231069531356985, 14.711022748677248, 14.181764818160596, 13.655698181605976, 13.1817975611351, 13.159605724556489, 12.961225605742296, 12.495644487706192, 12.187309583022095, 12.166407850840336, 12.12964571584189, 12.32746818290798, 12.394725670090262, 12.490836812169317, 12.496681779567384, 12.560281275029194, 12.346123092656784, 12.406109048319326, 12.452871697556798, 12.587193008908477, 12.706270990526132, 12.873081372782444, 13.05099488750195, 13.154020704948648, 13.16350025987049, 13.253668413539277, 13.27056840221302, 13.23111478688142, 12.86800916993464, 12.88528136484594, 12.615110781648127, 12.702606164176784, 12.66252383286648, 12.451169740351697, 12.084795068082787, 13.372503720277, 13.398138544733012, 13.382022865643492, 13.358059276921882, 13.36528149929972, 13.303809788359786, 13.677226029645194, 13.970379688920014, 13.810093795268433, 13.98333689464675, 14.115701569794586, 14.049860563881108, 13.361253750700278, 13.589370892390289, 13.620559334111425, 13.885003867335826, 14.205694646358545, 13.999511573779332, 25.6912230340803, 26.074855315670717, 26.3024674289942, 26.46607613289761, 26.78525442717087, 26.80362327542989, 27.04074488564102, 27.41595755314348, 27.975117385283745, 28.273203380641142, 28.24408105404801, 28.577229679416384, 17.23983233838313, 17.693030090958604, 17.858412808512295, 18.03048337382509, 19.02857623877285, 19.014197686585742, 19.3708712263461, 19.128924244086523, 18.913894146202928, 18.58851113157485, 18.793044133753504, 18.54089467421413, 19.60457321482065, 19.30639853151261, 19.19405756403673, 18.3047206040305, 18.80715038320884, 18.760745368036105, 19.540777640494344, 19.825131501400563, 19.94594854785248, 20.46108135045129, 20.95596706178027, 20.450185084811704, 20.97083917147332, 21.25170031040435, 21.6629658138033, 21.716924193977597, 21.36019393106131, 21.162883489978864, 22.054221156862745, 22.02030218285092, 22.01874549886853, 21.79195238562092, 21.56601857965298, 21.25459404275599, 21.67896927310925, 21.96181978523317, 21.907841697089943, 22.019116356131345, 22.029165285869905, 22.18247732086316, 21.7448773181606, 21.63332050178961, 22.08553123015873, 22.163358136476816, 22.378339563647685, 21.94088504038282, 22.516286520774976, 22.54274613484283, 22.38235630925602, 22.42945865289449, 23.96896838912232, 23.51322614122316, 23.521703205182074, 23.626071604575163, 23.483828595082475, 23.51712571167134, 23.574059547171647, 23.23513094545596, 23.323813238443435, 23.33786113398693, 23.387636715919708, 22.671221191332084, 22.40637174912401, 22.24554173980703, 22.397202627139748, 22.53528404863056, 22.50147102987862, 22.55171908393377, 22.500082170790535, 22.43963629581518, 23.434185461251168, 23.246744775988173, 22.90855057315593, 22.224248565203855, 21.679498841744543, 21.34654796062869, 21.44499097237784, 21.352337544428885, 21.394529328859974, 20.91759611587561, 20.554015107765327, 20.084643251683683, 21.08098583846872, 21.06465062480548, 21.446023296763155, 21.82306160971055, 22.16288178625766, 21.813051269296608, 22.045801743198204, 22.414063191332087, 22.475684217631496, 23.128407411064423, 23.541664604464287, 23.07522928206441, 23.753062167989423, 24.230329759966672, 24.317730758870216, 24.825721470331462, 25.318748779956422, 25.799939979595912, 26.285273324424217, 26.455112286648, 26.87692375295674, 26.573181865375567, 26.39162276120448, 25.56918828159041, 24.842224736072207, 24.48884877318705, 24.86597365468409, 24.40210330220394, 24.23456289106767, 24.03194465981952, 24.859556024419557, 24.353839216554803, 24.073426872860264, 24.148456150389723, 23.8933219985588, 23.649678203866728, 34.88996298259317, 34.302731193746915, 33.53094060607462, 35.48503037771196, 34.89486229341736, 33.96559315301708, 32.67556458192891, 32.253024526999695, 31.643110710071717, 30.9948705052132, 30.489725625811804, 28.97714075186741, 20.0782896005291, 20.29480311048792, 20.09099058442734, 17.535723568394022, 17.417306387721755, 17.190644596093993, 17.6769212910831, 17.54485045915824, 17.246535810301896, 17.377172934001848, 17.345056543495176, 17.137208338235293, 19.555596161154764, 19.290607475101154, 19.37939377005913, 19.4182731382152, 19.16232764130097, 18.890347996031743, 18.82088965164955, 19.47880050525308, 20.120570097027706, 20.99628016686316, 21.6330885221761, 20.65746042785429, 17.861010683706823, 18.206136795036976, 17.99199584508248, 17.957994855353252, 18.1258430367258, 18.02510995508266, 19.037271496207143, 18.514276878151914, 17.853441000472085, 17.13355298916446, 16.427922801898536, 16.144624962159646, 16.954397601385, 17.020662982460586, 17.016682998027083, 16.933886307033923, 16.75000895175848, 16.141477749407535, 15.53937518475592, 15.283662872664411, 15.11588489471548, 15.007355869710317, 14.82643119048334, 14.040765924937398, 13.589068924447554, 13.125137927948956, 13.437927622004358, 13.351036475971329, 13.314370930127607, 13.040296552280454, 13.100229874536412, 12.886522987720438, 12.785749568160597, 12.492715611655772, 12.22386291171591, 11.881111549977955, 11.89623111967009, 11.649659472754566, 11.192187819016496, 10.962827034225551, 10.798083992051824, 10.553590352284989, 10.416106753734828, 10.270439106364767, 10.056113910130716, 9.932201532627866, 9.798324304540795, 9.416113867567953, 9.383209833255526, 9.04174163243075, 8.776216274509803, 9.927261999768522, 9.755457834500469, 9.528396541046792, 9.561113739417989, 9.307215451750052, 9.103853937519451, 8.991274614223467, 8.946946897759103, 8.843752868787188, 8.975366584422657, 8.989061753685789, 8.933261325971964, 7.532016971162077, 7.462278473389355, 7.477166464363522, 7.764477373157876, 7.830597939259779, 7.940004869436663, 8.042157248132586, 8.106454442954472, 8.070327038114689, 8.295557860939933, 8.32838249842113, 8.490557916977904, 8.6363445778089, 8.728057984360412, 8.516888669934639, 8.590340708527856, 8.70746256277687, 8.768193320719218, 8.794724668767508, 8.720126394957983, 8.72451007142857, 9.031391399159665, 9.115894321039526, 9.091883921724246, 9.154065151206431, 9.16985070595757, 9.060525645658265, 9.11111364456894, 9.135170466366112, 9.230847462844956, 9.3761136559044, 9.476018090413945, 9.111466403598016, 9.174855407640834, 9.295661057021604, 9.70500270121382, 9.640280431761594, 9.7807635938116, 9.71677664934406, 9.879748219089766, 9.814323330843449, 9.593377812558357, 9.447504923072952, 9.385222016184253, 9.230786991985685, 9.073363834939087, 9.094157385465298, 8.742224654995333, 8.742476731923698, 8.593541078042328, 8.349328067169168, 8.449950817283304, 8.746531242141302, 8.755403791651956, 8.875770350140057, 9.023347385910393, 9.038756300030396, 20.68631043221419, 20.852783601229383, 20.92017598768135, 20.93500450130046, 21.05018714067256, 21.44427908006864, 21.898339447527658, 21.71220924953315, 21.983201587020837, 22.03945292312481, 22.630199945183, 23.064896534473597, 11.961092825426666, 12.26472563881108, 12.556681739997686, 12.80638939301276, 14.204536247039542, 14.050791852147526, 15.35303634204793, 16.277266243376456, 16.81440006854964, 17.73306963156124, 18.097142712632603, 18.25862093783069, 19.665635648366017, 20.61909065756303, 21.51774167888267, 22.41515774678092, 22.12510643736384, 22.64695202692188, 22.177036019480116, 21.859410784387112, 21.996838421957676, 21.71722825801432, 21.416247726455047, 20.46452955527729, 21.26671736889875, 20.83885681512605, 20.553247577261, 20.202400152837782, 20.3966182699314, 20.56507062387177, 21.271548748366016, 21.81291205625584, 22.223462700752734, 22.727718521471427, 23.57225202908243, 24.12592259282371, 23.851117759017185, 24.66639576094228, 25.01341450602504, 25.32404292288331, 25.221643233205363, 24.99268738577029, 25.548706833099907, 25.862378336056647, 25.919437551497836, 25.90671572346624, 25.51162296062869, 25.17060949304453, 25.55231517864924, 25.40224575980392, 25.44490195915033, 25.576153189231253, 27.237449106053536, 27.079043318578183, 26.684864980661896, 26.429661481014627, 26.35379536808604, 26.38523602020633, 26.8095147980859, 26.54066544724556, 27.43492318798631, 27.20571214542484, 26.92726889897578, 25.78852022598975, 25.14949761585745, 24.968296124260814, 25.648914606286954, 25.65767714416757, 25.55584044615625, 25.441517234230503, 25.026510478654437, 24.578718808103147, 24.68635171234049, 24.8091735681606, 24.95816596073699, 25.13853626675617, 25.509852966542173, 25.31359517599012, 25.374636212997327, 25.423062628073453, 25.451076105042016, 26.16594314874991, 26.1519960673047, 25.61294145309291, 25.40073994062795, 25.514639871459693, 25.79763573533432, 25.66743030571117, 26.054138284871364, 26.11316548544973, 25.96766591339869, 25.651022561850297, 25.858204635698726, 25.118569282212885, 25.419206974167444, 25.816037080454404, 27.165131039755163, 27.078807549253035, 27.137472125583567, 27.389690284313723, 26.820373801182697, 26.586904982444366, 27.17584090655151, 27.638314921051848, 28.01744942950513, 28.16530135529749, 28.07663713274069, 27.45605993121693, 27.50543659469344, 27.64174619849051, 27.45963663453159, 27.16194903502957, 26.9770918820417, 26.635063367562765, 26.40518949867725, 26.01602306528167, 25.981746108232183, 25.819409538748832, 25.562817709305943, 24.65934771711809, 35.77007949257898, 35.170009256769376, 34.74492982197324, 36.90666957570807, 36.68750733333333, 36.16199382757547, 35.93129577085279, 35.460882554466224, 34.55430425754746, 34.12341943604109, 33.50006965802989, 33.03889525176279, 21.315507418145035, 21.50962210395269, 21.45304935270775, 18.716622470510423, 18.42482737449424, 17.683956752891902, 18.05813038927793, 18.191596644802363, 18.66619519880174, 18.667882919989104, 18.70397540460629, 18.77731847760015, 22.58403255477747, 22.22231213349933, 22.065820272927045, 21.96730496755369, 22.154011308340504, 22.2134410808655, 22.00827040566708, 21.76552537830688, 21.50062152559913, 21.442614692343604, 21.441025640563748, 21.515670875148015, 17.584176305466723, 17.699605444366636, 17.60752550770308, 17.591951751633985, 17.34158944195456, 16.847633432850916, 17.792119389822595, 17.60333813297541, 17.29703530742297, 16.940130921007754, 16.65534958932462, 16.074075870970145, 16.292800686352315, 15.65426249284158, 15.274932385076252, 15.11416587955182, 14.801476745578627, 14.44040402752814, 14.050337240273889, 13.817452209150328, 13.877638963663244, 13.856656195573004, 13.83103298653906, 13.558802707775056, 13.867893337535016, 14.169842522953624, 14.351650620525987, 14.145463378773734, 14.34310588253774, 14.090404053419052, 14.111936350840338, 14.266154438686588, 14.070206562480548, 13.884219185996344, 13.935260260520414, 13.53960348653906, 13.328346023031436, 13.067358106642288, 13.008063454715222, 13.077288527155304, 12.893054183629005, 12.654439973778398, 12.612400378773737, 12.407626805044243, 12.353471848612651, 12.43556525552443, 12.301333614301278, 12.206548117311184, 12.410233691409896, 12.383310405617802, 12.297871591658884, 13.405841423358234, 13.37515217997199, 13.309087788673644, 13.368647105119829, 13.468670581552852, 13.34983039366084, 13.299874027933395, 13.26543031520386, 13.145135608699034, 12.926248974867724, 12.9373000856676, 13.165789863445378, 11.99364161204482, 12.013541958683474, 11.729050150942784, 12.01604348901922, 12.02713141005291, 12.10529646204028, 12.043482975412386, 12.05153385464973, 11.972413979769684, 12.17130283224401, 12.21857404824152, 12.072213147681293, 12.162451722844692, 12.26111651126284, 12.20605544545596, 12.129393739184565, 12.041389660208528, 11.92860425420168, 11.883489812169312, 11.957299879084967, 11.762257473155929, 11.989015590258326, 11.7995637019141, 11.781429140367258, 11.677271317771552, 11.56136574074074, 11.37251185510871, 11.5252922810263, 11.559909602163088, 11.576202360196874, 11.716965689464672, 11.715703161998134, 11.565380806742793, 11.559227873638344, 11.634449289682538, 11.950130914565824, 12.027099215452845, 11.958957208605662, 11.774846204599806, 12.051524927482104, 12.098291468171622, 12.215483947904689, 12.02715529956427, 11.942686932850918, 11.897371916199813, 13.086599942421415, 13.042561603877486, 12.675014883675695, 12.603583953703705, 12.60292102184809, 12.78926966501647, 13.37719048775133, 13.924056163774775, 14.132776631949634, 14.100428407407408, 14.134265899315285, 13.877916970588515, 24.49388365779645, 24.87047575489548, 24.80307842250233, 25.155851596850688, 25.65056935752088, 25.696762571117336, 25.500688339242934, 25.077035592047928, 25.09757911423644, 25.458267631108, 25.806818233115468, 26.33634703105472, 15.807526354964208, 16.63806241409897, 17.33645193464052, 17.610190268456204, 19.01678128197946, 19.711838069172117, 20.252981688608777, 20.684218643479618, 20.99807999603175, 21.989361723217527, 22.5805750943822, 22.60053341114223, 23.556651124961096, 23.933843570028014, 24.625876829661934, 25.85817133281495, 26.746145445300336, 27.022347199695115, 27.775919978758168, 28.89201723651831, 30.19361894537815, 30.40772963108904, 31.248698510795347, 31.222398146358543, 31.48312812204133, 31.66919813761976, 31.48709515593488, 30.698326785164625, 29.0952009711958, 29.0248163708074, 28.34397814048299, 27.136799936479814, 26.190698100606912, 25.473046236850298, 25.23297873806778, 24.72706622119044, 24.472880659999085, 24.384130952432827, 24.515000178026764, 24.46878348240288, 24.75286387042922, 24.58310422835213, 24.78984570335541, 25.604519145035795, 26.045319949020268, 26.61584532280579, 27.28570563453159, 27.308749327572244, 27.88055580917296, 27.69567021440213, 27.30763298676341, 27.10205890082672, 27.99777560068472, 27.950007379007157, 27.495065623826395, 27.22608344488343, 27.46543431839921, 26.565758815737496, 24.59650733830144, 23.96313744249922, 23.87449491674448, 24.29705469673008, 24.746645267808432, 24.5402502875732, 24.508411017273573, 24.42144229649277, 24.714286299087043, 24.453963748713576, 23.936025367309888, 24.41630225551528, 24.609906239573608, 24.480001912048067, 24.974421363523184, 24.04358796723013, 23.873683685005588, 23.833432844291423, 23.899222862086965, 24.073018801898534, 24.162466434484905, 24.12634013826189, 24.04707703415811, 24.370006788180827, 25.12756525192365, 24.479799799155128, 24.163650103719267, 24.089057374183007, 23.436123460371928, 23.440001795362598, 23.20301247211848, 22.596141641067536, 22.387041587050508, 22.082475687816306, 22.13635873908536, 21.786833346702736, 21.12191283877996, 21.425624455104263, 22.05656526834734, 22.366250248443823, 22.4448403817867, 22.29523433803654, 21.47329917831969, 21.61268530294572, 21.647916398516447, 22.022228357238827, 21.79905127723312, 21.69343266581077, 22.336796527310927, 21.6612213426704, 21.929617776377217, 21.936898374105198, 22.516192003112355, 22.55199964402948, 22.584525292855847, 22.852282213624992, 22.48295396130421, 21.961950490180524, 21.81229087005914, 21.574449438764397, 21.0960556806154, 21.188041712729536, 32.118505232245184, 32.240186335434174, 31.82612181311858, 34.38974808929417, 37.50474427573841, 37.07366561607519, 37.22960846039528, 37.201154114482215, 37.27519008247744, 37.39405752170868, 36.66109048352659, 35.159794736305635, 24.630624983893554, 24.07032176889187, 23.73622694536117, 20.987855656777093, 17.480777141223157, 17.329679952380953, 16.950370742141303, 16.840119221809186, 16.56065773941799, 16.289142818082787, 16.58464973434154, 16.486035189574338, 20.330845844745312, 20.00858492623716, 20.01983269606417, 20.54066564486591, 21.220993143542508, 21.71000605452848, 22.031996313881105, 21.917446763849984, 22.478773618892, 23.26931078050109, 23.840853933629003, 24.48541982265385, 21.112508087461016, 21.931510794195454, 22.480545364379083, 22.39726773529412, 21.9105919134765, 21.199052448412694, 20.81386194179894, 20.96737963383132, 20.315766156231195, 19.772496097105517, 19.348408263038827, 18.821125623784887, 19.34317937807345, 19.047789625272333, 18.933168142857145, 18.968259103676477, 18.95989085465297, 19.64894335185185, 20.172827394491133, 20.307197075396825, 20.916856790460628, 21.07385702994476, 21.17873599936651, 20.442544564503574, 19.718163624471558, 18.94344590213037, 18.4521710253657, 17.83729948362248, 17.20790616026097, 16.340272593368738, 15.772165821960458, 15.040100724402414, 14.277547026414808, 13.897864522402978, 13.126912786533977, 13.291044643159267, 17.44696092997199, 17.592147513849987, 17.434390842514787, 17.436097001229385, 17.6952827167756, 17.69451462690632, 17.507026267740432, 17.80167163118581, 17.665861476439485, 17.536227998288208, 18.008842485838784, 16.992512226268282, 13.282846791853409, 13.13026898793962, 13.167891104030504, 14.546437200202304, 14.874576821895426, 15.36923626447246, 15.764224595348988, 15.496845808667914, 15.768276992685964, 15.551197906292687, 15.277326748832868, 15.333458930905694, 15.28214465787426, 15.468080672107456, 15.388829773809524, 13.797607817460316, 13.556321701369438, 12.965317690631808, 12.976041539371304, 13.137309788702815, 13.918642861553328, 14.792998872829136, 14.731406860333024, 14.823615207827578, 15.091906498264864, 15.0375041835512, 15.27548260566449, 15.234448676392782, 15.036547054826098, 15.225102278474818, 15.112823610298658, 15.1522614003268, 13.795420365001556, 13.432466271008405, 13.566238554310615, 13.38917631464236, 13.119265899626518, 13.06374228602552, 12.629033839713662, 12.651028199558436, 12.74065142680193, 12.53047003695923, 12.460997562324929, 12.263278337535017, 12.25169518282953, 12.317426335278556, 12.303058926470586, 12.863852645329525, 12.81828447831466, 12.915003596436357, 13.428710454403983, 13.423119160830998, 13.351987800887022, 13.397267893090572, 13.234121223334894, 13.453544658807967, 13.322055480469968, 13.27165778610333, 14.299769397681294, 13.874053619436662, 14.239632691487706, 14.075003914098971, 13.739704851151572, 13.870178891300966], [35.4181282998755, 36.25759627521009, 35.39324739406773, 33.09112713429816, 33.26239239145658, 33.461444698646126, 33.666082676873195, 33.73417607897604, 32.88398484635727, 31.410381905384376, 31.51449007204029, 31.398663994864613, 29.831379839352504, 31.459635166822288, 31.80733800119984, 33.42940691469421, 33.41954865727449, 33.466017403127914, 33.55514195940775, 33.61647734453781, 33.158158815515094, 37.07534175824774, 35.82188647523667, 37.8245107534236, 36.574206796296295, 38.1137523225179, 39.304227645319806, 38.13389952847806, 37.94322936920324, 37.78054218674136, 38.081053853563645, 38.27530203436671, 37.053644362667285, 34.47325185068471, 32.83811922565982, 34.19192414013383, 33.17931220673825, 36.37227661998133, 35.17527165997057, 36.85139918392338, 37.547916092592594, 38.05010836710239, 38.32851618835052, 39.74862220626105, 39.861214938920014, 42.884624345860566, 42.342496439135296, 43.4731234091192, 42.530355436274505, 43.201416883502574, 43.27805431251718, 42.65473410784313, 42.68127469537815, 42.86330275673473, 42.662538329851394, 41.93966108629007, 41.360246119047616, 40.60290072445018, 39.54428918168379, 41.65363135566449, 40.16372862690176, 42.10656797502334, 42.38642629988788, 42.76969665398381, 43.24576533177716, 43.53314168801289, 44.20736232158419, 44.32064446638656, 43.64708768712846, 44.53123552596808, 43.0488406556178, 43.71289794765925, 41.90626362459604, 42.46853341814504, 42.1088956468254, 41.979705564581394, 41.84997338686586, 41.8122530987395, 41.89789628645607, 41.89002997307812, 41.28576638089794, 41.75338447664178, 40.7933880033406, 41.54496361303766, 40.30557518685029, 42.9179390083757, 43.212516626218765, 43.138914774963496, 43.25929518242971, 43.61591603776844, 44.1564966017937, 44.70246089170038, 44.04164224883557, 44.914947042003845, 47.27607273498288, 49.36282176781823, 48.43956233621226, 48.814525590413936, 49.323634065549456, 52.399066837223785, 55.50678873646125, 56.548647583022095, 56.64965333263305, 58.56243697181892, 59.04358488873327, 61.87946169218799, 60.92872466822284, 61.9497673157388, 61.13594222930283, 67.89239960550887, 70.96200132096106, 68.52013706091529, 65.64108673757282, 64.44564549253035, 63.92757029793029, 61.90298333706816, 60.66803494810146, 60.45644807726424, 59.33892928660714, 60.88306943464053, 59.95362619794584, 55.90029342181894, 52.821263479245154, 52.00697288390913, 51.90779220542913, 53.13961251365871, 53.12553000167095, 52.78827751797387, 51.72047056839402, 51.29063582617491, 47.23434007925939, 49.36692484438221, 47.48378673363202, 48.99609123271735, 48.51968663294364, 48.00412357907073, 47.6859163535831, 47.87516003082256, 48.044494504705824, 48.375291243390265, 48.134004379775526, 47.82929891476235, 47.259144216615546, 47.14937798587683, 46.220673170105016, 47.20789323972069, 47.64774865297728, 48.0966800712866, 48.71619653077298, 48.095977088741925, 47.41424712525176, 46.77039411812586, 45.24344453300843, 45.70697310294973, 43.7669249929972, 44.88667653890445, 43.23482775746965, 43.97152380524432, 43.35692777855587, 42.49163578111572, 42.1166437657174, 41.31103360817581, 41.18452088087457, 41.33981541223156, 40.41588776859633, 40.74334468979281, 38.942631396193846, 39.1160606835512, 37.75973446766783, 38.18642939602528, 37.85315209936197, 37.729912369034, 37.017169014939306, 36.93739542811047, 36.65367212200436, 35.987147872782444, 34.87824981722689, 35.73784577695458, 35.03728105298786, 35.88860461819173, 34.533396625891534, 35.97146842183388, 36.10131473329573, 35.98349717971844, 35.74374206178027, 35.94113913265057, 36.044143728835984, 36.05584338997822, 35.61860469173029, 36.13889884866105, 35.043151892265804, 36.0275656170246, 34.63086891542172, 36.49912964144687, 36.44628697323374, 36.283023383005904, 36.467729432796645, 36.250985478135696, 36.13254449361966, 36.11281076408341, 35.079031510681865, 35.932493450902584, 34.77595080734516, 36.24872106427015, 34.16011460658393, 36.96725790421725, 36.64932833146592, 36.68787633869051, 36.51304882323614, 36.28140544825709, 36.28574740000714, 36.23999577256458, 35.41657581504824, 36.10981127684868, 35.40125394233064, 35.634999961129594, 34.377038075675145, 33.494675487185305, 33.61174367191907, 33.70696081840376, 37.233583921657726, 38.38350728396871, 38.4051855868646, 38.50097240322437, 37.74296715844028, 38.27158606466514, 37.554332761871045, 38.36624043806412, 37.50052776867413, 38.64570383940242, 38.69226316114224, 38.70039584726113, 34.63759147154723, 33.467009969576715, 33.4743439676315, 33.56481772405695, 32.82266399365081, 33.57515616807443, 32.13841559757236, 34.0446410026455, 33.04052328773209, 33.64351997012138, 33.483765016339866, 33.47089626086148, 33.50311597408963, 33.89679259397305, 33.84727114900405, 33.73027076670427, 33.09546481006847, 33.775464335088586, 32.12460596525316, 33.17257934613559, 32.15954282201929, 33.181376855275445, 33.12179236535562, 33.03316276548397, 33.006669225645815, 33.04577993526299, 32.921441938453164, 32.83431316565515, 31.95454525040409, 32.80682499805478, 31.68665977288892, 33.120637341361935, 32.083328928882665, 33.1165401826953, 33.14245977766303, 33.118951534158114, 33.30323942624925, 33.266694822673514, 33.3109684965764, 33.31363647183318, 32.51767799732338, 33.29120439028945, 32.30467839450736, 32.72621183356676, 31.741587724422292, 32.81797590445067, 32.854539686002184, 35.61147068143144, 35.34913176536728, 35.3327593331466, 35.35843867111688, 35.37605073467165, 34.595131038742345, 38.10241017864924, 36.36795096397448, 38.38682866441021, 37.25216875140056, 38.14730987068161, 37.48448675381263, 35.28268948134404, 35.24791566633404, 35.65366515834111, 35.686382241068856, 35.84509846688814, 35.05813053618113, 33.512021407329605, 31.847649754512915, 34.05921126524536, 32.884297674600575, 34.03012382835357, 34.10871614550265, 35.62616046747588, 35.6145684492686, 35.17165504707438, 35.48024295043573, 35.594731818481584, 34.636676404606284, 36.23468546700902, 34.91631234049175, 35.675994710473084, 34.96786456131341, 35.896422001945226, 35.11066574983984, 33.56580511227825, 33.17171041627763, 32.82359956761593, 32.83761622760924, 32.92765836554622, 31.9901706800498, 31.993388727980083, 30.8410064379863, 31.812152738795515, 30.719909315981948, 32.210398465213586, 32.680809266184255, 33.38338429738562, 33.92553927732586, 34.52063231422801, 34.22554187278244, 34.050426980781204, 33.628408480610034, 34.32893561702459, 33.25953126392779, 34.16479667125739, 33.37623998615001, 34.406797550156284, 34.38034561651237, 34.31723384835045, 34.26243886815906, 34.25124623070339, 34.39488509959539, 34.282065586912545, 33.96023153042328, 34.10752809578276, 32.36540899494242, 33.92938331777155, 32.47950557399626, 32.90037071000622, 32.58464929808591, 32.08847728050109, 31.754481147927716, 31.52979725762527, 31.106007259881736, 30.737435682773107, 29.506094912464985, 30.01769949517585, 28.08481120423858, 29.775588469017148, 29.005908298552757, 29.98552395564893, 30.009529632897607, 30.176235936196704, 30.14509440950825, 30.0739553490248, 29.878278283302212, 29.82738910006225, 29.27977621964091, 30.014175040538436, 28.571015791663456, 29.573977757207068, 27.987876219265484, 28.50729525456546, 28.030248142857143, 27.405700685807656, 26.89494184662514, 26.18423903571429, 25.70584295813881, 25.224677728948453, 23.902504971132892, 24.277655990662936, 23.16508430034236, 23.956391627043637, 22.91452430361033, 23.872144741051983, 23.595083187091507, 23.41862929419546, 23.46661225503813, 23.914133528555865, 23.961003204545992, 24.124352923216406, 23.458735088883056, 24.299336512527237, 23.483083895580453, 24.359029167289137, 23.33680711819172, 34.203034664799254, 34.53815842950513, 34.61291789915966, 34.49620687128139, 34.37346648988485, 34.663706861422355, 34.6376681373094, 33.91548594794585, 34.436517264161225, 33.20613483255524, 34.40376977165488, 33.64484187262683, 24.777287341970126, 24.662058587223772, 24.70624396338602, 24.751092192732653, 24.673988853641458, 24.52241402287581, 24.422007773884737, 23.79803732752231, 24.39193247766885, 23.367986890300678, 23.73474815802988, 22.95382383198709, 24.353951389978214, 24.684283050186743, 24.865223731948333, 25.03320544514472, 25.354213275910364, 25.5268625628696, 25.756479756691565, 24.972346755291003, 25.683055693510735, 25.58132341807489, 25.66764053546984, 24.912094579442886, 25.37200475311236, 25.11232477077498, 25.000674280783155, 25.114269022564574, 25.803671503190166, 25.672756595056544, 25.625090856275943, 25.168607010815435, 25.930086596093997, 24.85899677103694, 25.85995554333956, 24.98560291419819, 26.225285104419545, 26.40427661982571, 26.404724571584197, 26.363153409586054, 25.413938477357608, 25.361269525754743, 25.22368073218177, 24.37620698327109, 25.034213245487084, 23.99574263305322, 25.02489212091503, 23.762308937204324, 24.673043526221605, 24.517165785169624, 24.572366529411767, 24.516871689386868, 24.816034471210703, 29.00771326501712, 34.19511884613036, 33.602965608427525, 34.20460783162154, 33.26806765499533, 34.23806947510116, 33.154155427906815, 34.01947714620293, 33.765912508558976, 33.53506291316527, 33.384763832555244, 33.11064393019635, 27.85996297074385, 23.54815993674591, 23.41492110986617, 23.22534251649549, 21.991043845860563, 22.655324821272952, 21.535899128929348, 22.63722854738562, 23.003619734633418, 22.95469347891379, 22.90253648668236, 23.15156563118581, 23.546794381853672, 23.83182732379749, 24.05047342181339, 24.072784508042908, 23.007860185107376, 24.88418148669468, 23.919869983922336, 24.790863318838184, 24.450431359632734, 24.656021956349207, 24.69124613149705, 24.269367904139436, 24.18905855034236, 23.977387467084245, 23.2154535620915, 23.8361011197479, 22.66549759975101, 22.966442724089635, 21.935637760945777, 23.06340272097728, 23.08448096607533, 22.96735678844349, 22.73850858871024, 22.45798341443876, 22.230112142779333, 22.132965559446, 21.68391865519956, 22.171119227853243, 21.097151865688947, 21.92023829730781, 21.047105897814863, 22.25943415865235, 22.65300785208528, 23.05621081972976, 23.12280510202111, 23.546920265884047, 23.381425546374107, 23.66376218480654, 23.57413797329563, 23.596547092263947, 23.55523749292552, 23.58094473560536, 22.567346512138187, 23.546597951851208, 23.050904754046066, 22.57371068821973, 22.5427604987823, 22.30451344032058, 22.455502173270048, 22.210638746031744, 21.664776317062195, 22.589660739340182, 21.707911368892, 23.48391267312481, 22.45696603283536, 23.30354280034236, 23.325986628229074, 23.344016642460968, 23.396740659905365, 23.82106136328976, 23.725183754901963, 23.677158576563965, 22.78437122025389, 23.28799875560224, 21.80941668261749, 22.423646372782446, 21.50184887035672, 22.39127124307501, 22.34361712784003, 22.321866396280736, 22.22604229455209, 21.866147232726423, 21.865064058590104, 21.84659790110489, 21.778347602941174, 21.75369632889823, 20.60273138263565, 21.908562383753495, 21.090201127552792, 22.178495762215995, 22.538134099120047, 25.8343021162465, 25.86176468277311, 25.642516372082166, 25.672212821350765, 25.81156402863368, 25.865824617258014, 28.565229692547213, 27.68733721567452, 28.95535780555556, 27.979115997976965, 28.750285748443822, 27.89704993698323, 25.299220053015095, 25.332208174758797, 25.47942108619865, 25.37849198957361, 25.293825740818548, 25.297070948646123, 22.99958607524121, 22.908948574943675, 22.38824827552132, 21.287082455182077, 21.72421686663554, 21.318627701090325, 22.56526996428572, 22.124128244942423, 21.702332106442576, 21.394319336290074, 21.066859097416742, 20.646729982094875, 20.92153937371615, 19.556297707723008, 20.10576391020399, 19.188184128151256, 20.16779502699518, 20.077215987006696, 18.46242567491441, 18.55925812340492, 18.60597130361033, 18.729871985956635, 18.984781185418612, 18.995705304077184, 18.025168218260458, 18.067773338413502, 18.51206603260193, 17.8070009134765, 18.966197984360413, 19.252916113342323, 19.296921797074383, 19.25163445147417, 18.999862673669465, 18.956176921234054, 18.682040568316214, 18.70583373560536, 18.643604504557693, 17.7722320867054, 18.41856942670401, 17.40124215141612, 18.128597316993467, 18.071652651129483, 18.393989632813312, 18.52694960924308, 18.816347138422035, 19.018648931766837, 19.085236398770625, 19.191543436137053, 19.28644321913257, 19.403849878002937, 19.79025046047308, 19.106401139122312, 19.79477432765329, 19.753758827726635, 19.37150848980703, 19.257463123249305, 19.39371890063803, 19.39813993577589, 19.60355803034547, 19.69377962628385, 19.699421718720828, 18.73534819693433, 19.40894071303689, 18.78610688530968, 19.60254031037971, 19.8824494300498, 20.16648530112045, 20.543035554777468, 20.19902736772487, 20.24196857388381, 20.08001930921257, 19.99198947656332, 19.883516221755368, 18.67964787145516, 19.50084079535932, 18.546384642779334, 19.24495610255213, 18.930714518751945, 18.59199379505136, 18.247777808434485, 18.08486227433066, 18.210474097859617, 18.148676626684573, 18.1579181118892, 18.392479114612517, 18.075353333118745, 18.9883311794189, 17.871100063016616, 18.808989651104888, 18.77991394919079, 18.72087105042017, 18.79371424556489, 18.652922856326555, 18.5597037517118, 18.58537148723934, 18.654986307189542, 18.53499320035601, 18.103027843800973, 18.662259893946462, 18.911865501761117, 28.48067084516613, 28.77047249599156, 29.0565206940554, 29.247514951058204, 29.649067287503893, 29.940446928338005, 30.462478126439464, 30.591835208839093, 30.699765588313102, 31.010556890483592, 30.79362868370681, 30.028499580532213, 21.61322718160598, 21.5298587605042, 21.56446666106443, 21.523602908574546, 21.584384813492065, 21.499338133675696, 21.25332751875195, 21.3236775957953, 21.44595814477125, 20.301407665105295, 21.007098717009026, 19.95553946444133, 21.177743824618737, 21.3758227285228, 21.40288169289865, 21.408051997276687, 21.623382618113908, 21.59527182703925, 21.6105615943822, 20.96195108790856, 21.52073415211381, 20.701613362044817, 22.03658386640212, 21.555476469732337, 22.28701578174603, 22.34324117071273, 22.52675446576409, 22.660125119514472, 22.79913912052599, 22.91959296039527, 22.919877843292877, 23.193087528741614, 23.411164048552752, 22.685528192732647, 23.41460705804544, 22.33761495315904, 23.18260435849028, 23.04105889176781, 22.99868503553339, 22.79645928540305, 22.24743265662932, 22.376414872082165, 22.68508562486643, 21.83541344613205, 22.3813530227202, 21.48181342351405, 22.382199126671598, 21.312267073918456, 22.24348400427949, 22.384448031356985, 22.38275815312792, 22.43500846257392, 22.93831258776844, 22.912233005782525, 22.741563045673825, 21.987989813649456, 22.529492440865237, 22.73796813544353, 22.866180212107064, 21.891335591273087, 23.24985693954249, 23.10927090585123, 23.172725752645505, 23.230006485683163, 22.691265397370056, 22.71818293635232, 22.678575264783696, 22.79952289890643, 22.89916105259882, 22.68484858948024, 23.44744077762216, 22.720733498832864, 23.540494138577657, 23.625685578470307, 23.558631640378955, 23.59954880228758, 24.067472167055712, 24.21322545152505, 24.211780613134145, 23.544991113756613, 24.35506489900405, 22.19453343036103, 23.55417869715608, 22.39850649089636, 23.250963207411907, 23.302627679971987, 23.204173152194212, 23.113026794664904, 22.35105309648304, 22.284445586532016, 22.25058731628735, 21.331612609655817, 21.879599805555557, 21.180294465063803, 21.311966327030813, 20.491559700746965, 22.178088543363565, 22.19169741798942, 23.803132167911613, 23.73566912123806, 23.720644585901027, 23.875996213156203, 23.877784446623096, 23.857269204948647, 23.742048816117467, 22.613095556956115, 23.6096081651883, 22.46985553252412, 23.700641125263903, 23.501068437781097, 21.95984265452848, 21.90438977007732, 21.86298431886088, 21.74996616425459, 21.719889276065985, 21.68808625478201, 21.648343880718954, 21.03674895922813, 21.91067331792717, 20.666496252667216, 21.420654745487084, 21.57921914931529, 21.484728214363525, 21.55376859554933, 21.53165530751181, 21.46548197694785, 21.665839364456897, 21.738394619981324, 21.810370092903828, 20.64566751416461, 21.14530674424214, 20.88962475420168, 20.541151516184254, 20.211756163398697, 19.921116669160448, 19.632327961562407, 19.24634955516522, 19.183618571272955, 18.67686790657486, 18.32187722798008, 17.981246780267664, 17.800534872082167, 17.66508440967035, 17.67142655399938, 17.792285486383445, 17.730912683386507, 17.761214054699654, 17.742250176548396, 17.95027065234983, 18.1519913797591, 18.124771579754125, 18.16223657088391, 18.1225048103019, 18.18162707021925, 17.970936019666205, 18.107224770590783, 18.3361162351385, 18.37010318067227, 21.43722821661804, 21.479177072128856, 21.1235437045596, 21.0582573485009, 21.1499311398226, 21.30778989316838, 24.09517708115468, 23.478561134421863, 24.8744513942577, 23.77074582560519, 24.305921680594462, 24.24907987735285, 21.272629636321195, 21.584601880174294, 21.750895306489262, 21.648988167522564, 21.865110935738358, 22.34948248988484, 20.94834819212575, 21.79507132305171, 21.963164263227508, 22.7109982680519, 23.53695101953004, 24.31569301365938, 26.8653759501245, 27.350242844849056, 27.653989879474015, 28.3441418058668, 29.30381018098613, 29.58941024249477, 32.52381596480704, 31.1403766809835, 32.56257156326189, 31.36973931543729, 32.71488305376595, 32.36640828777104, 30.937949612433865, 30.91203234554933, 31.51109869382197, 31.8618151957672, 31.513547475412384, 31.005297261437907, 28.66014307936508, 27.636223822051043, 29.27537402754435, 28.645652039993774, 31.114525379240582, 31.207695336134456, 31.630286602445157, 32.02866168502957, 32.23266402505512, 32.589413527699975, 33.9282375943822, 33.4547092509337, 36.067596386165576, 36.43097440608466, 37.81279499455337, 37.39978376474868, 38.54028854645192, 39.4360263452381, 39.986474550031126, 40.47957874431994, 42.342635377113815, 43.06901834609725, 42.71537368767508, 42.39800265898239, 41.90647750619424, 41.03222334329287, 43.42243556839402, 41.7761166451914, 43.526956586523504, 43.96001224774354, 43.74393839970433, 43.43699152956738, 41.89968790577342, 41.474853719283146, 41.134321530890126, 40.4893657543573, 41.46091134018052, 39.98234632880485, 38.16068649206349, 36.42533438048552, 38.2371573522409, 37.42037844467788, 37.26110936386385, 37.35390610519764, 37.640778258714604, 37.3532427585616, 37.45335502225335, 36.587741371326544, 36.47755182228448, 35.756723571937925, 37.72853495634921, 36.67125680555556, 36.74726037107065, 36.77317506800498, 37.24063529878618, 37.75071507407407, 37.92054959508247, 38.2658899345647, 38.2277223885927, 38.04823130165928, 39.07157450404606, 38.31379143456856, 39.64991932088392, 40.83147589783043, 42.59795289083412, 43.5868767019141, 44.26612343419832, 44.76767110690943, 45.8169029404762, 48.82228933289373, 50.16476364279298, 50.66268581201369, 51.98223672961407, 51.59068517700553, 55.58650682039892, 56.808180504588776, 67.96319065701837, 68.24075145518208, 69.78292770154405, 70.2778878610333, 70.32073123280423, 68.4230393077342, 68.45711056193589, 67.60240075435729, 68.35180695578833, 67.19254951704015, 66.6272929519919, 62.02181683076564, 53.267815805244325, 53.32964543940763, 51.86490932146623, 51.41102146292407, 51.79987964355743, 51.66879318405077, 51.883242047307824, 51.61693892258014, 51.88103899136322, 51.02803563274198, 51.77752069677872, 50.30274818666356, 51.85244607547463, 53.376610934484255, 54.10636391036415, 54.74162548840649, 54.74344610869904, 54.79262907630461, 54.788098438282624, 54.88364720673825, 55.41909794244496, 54.83577125918144, 55.89488930112045, 54.21804498568316, 54.84610272595705, 52.4752485035792, 50.80542010550888, 49.218661460706514, 47.391128634064735, 45.92961754416887, 44.28174886904762, 41.62483487472767, 41.140245695537686, 38.94113296669779, 37.99677045471522, 35.891550398926235, 36.37672090341628, 35.83524307158419, 35.45944962147008, 35.15646606621538, 34.68500974984438, 34.69267484422658, 34.35942113741052, 33.779176852863365, 34.642420688453164, 33.19294195907251, 33.727750677404295, 32.1447791099336, 33.457312808221175, 33.14162882002802, 32.988603596475905, 32.795795495971234, 33.94407397284703, 33.65396558061807, 33.46361321430009, 31.894290934985104, 32.30556886679249, 31.31198670426161, 32.43978598984643, 31.028665372419628, 32.31858911921896, 32.32748309283316, 32.05586980757859, 30.91863945035792, 30.38429562734399, 30.32223280205416, 30.5417588925531, 30.49355302482104, 31.130764539215686, 30.321428687529192, 30.212641272486778, 29.185707506769376, 29.444445144255116, 30.113439487005916, 29.784923986227824, 29.344678576176985, 28.86133557773109, 28.54836214324619, 27.63629105870941, 26.53139633683473, 26.65596201198257, 25.3090970524432, 26.517113068082782, 25.142997473311546, 26.62655701291628, 25.56814893455947, 26.47639621405229, 26.451661910172906, 26.493258916471504, 26.38519628485839, 26.69437702116402, 25.87366539386866, 26.801218941020853, 25.98767574739816, 26.71930688095238, 25.236972734905077, 26.685898827264243, 26.12252155329909, 25.70889605905309, 25.776512600887678, 25.77286841690009, 26.00324691674448, 25.620263632034572, 24.957729018205978, 25.586995782446312, 25.57197518984404, 31.6145301861189, 29.94622111048864, 31.50980558232182, 31.33729373148148, 31.553129421413008, 31.460272272295853, 31.24902321661999, 30.95848868884221, 31.03867077567694, 30.416842293134017, 30.960043351540616, 30.84790523533845, 24.54909138009648, 23.77717580252689, 24.49235257461874, 24.58368544016496, 24.431260223856206, 24.46026559282668, 24.53392795736592, 24.643295558745077, 24.50084691503268, 23.73597158076564, 24.56608292592593, 23.76680017063492, 24.66384265921064, 23.390415980127614, 24.74865061321196, 24.859299445845007, 24.81720803890445, 24.77585863507625, 24.83204540930012, 24.826886792561467, 24.91905450038905, 24.22419875438708, 24.567429216510146, 23.708884762449426, 24.32105661336757, 23.216989349088337, 24.241764071890238, 24.01030782103953, 24.01778194864612, 23.94604507205104, 23.970048335511983, 23.78342611585746, 23.50858469545596, 23.52308976079307, 23.641953119343945, 22.86546042009025, 25.376575502645505, 26.392199166232235, 27.83502148358232, 27.820373875038904, 30.80193421280088, 30.832438135231868, 31.630708959348752, 31.683533479531725, 31.61265107757547, 30.97010000514162, 34.175076992608155, 33.49364665187973, 32.70297411015083, 28.756872160441954, 30.15246835475284, 30.14304727640528, 27.11777819231185, 27.044131903516963, 26.29681824719888, 26.3595985629474, 26.58212188258637, 26.87904093809193, 25.00760946778712, 24.751596980314343, 25.944861999610957, 24.871734619555976, 26.561708845938377, 26.95281770596016, 29.250386073529413, 29.606506554388417, 29.87360756325864, 30.46627104489573, 31.023635953081232, 30.837260239807037, 34.629521746732024, 33.614797571584184, 35.065259337457206, 34.44577562363834, 36.196062730625584, 36.23472994221587, 35.5440526984127, 37.06799562256138, 38.177888509100406, 38.3897325620915, 38.76437556828708, 38.13409512519452, 36.06623483605406, 35.71995143339558, 38.78117969102085, 38.7960208542476, 42.12277992662621, 42.55698183784626, 42.71853887791784, 42.00256983195482, 43.54417395283873, 45.62878442937613, 45.92059841423514, 45.71550751702328, 48.35950688079677, 47.22435196568627, 48.39070995417055, 48.166569355115946, 48.45411175115871, 49.15616793666355, 49.74179427816682, 51.66390470347028, 52.3889224929972, 52.16106695782757, 53.22287842652376, 53.468415938761154, 53.06284116129786, 52.20126852028197, 52.13629613569872, 49.023448812169306, 50.69431121117336, 51.49964061297853, 51.48061136087768, 50.78371359616207, 49.70373300077809, 50.30692620448178, 51.953498929505145, 51.55969036583087, 52.33652897591282, 51.67356078240741, 52.24172292950514, 51.190852515172736, 52.18244367600374, 51.06291056761593, 50.363094623716165, 48.99651088873327, 47.65832444109866, 45.98627254067719, 43.24823571140679, 41.32949878118386, 41.22745276617972, 40.75945221288515, 41.48747132228448, 40.02029273568316, 42.10669186725802, 42.53103425378996, 43.255882323918456, 44.45629830065359, 45.19501456963896, 45.5136586548637, 46.38480028369126, 46.30596062690631, 47.93848868479616, 46.79413263757717, 48.84187835850323, 48.32562412713974, 48.76073244654528, 49.357046880174295, 50.65177149383938, 51.00267955213197, 52.36588027676626, 54.87637595253658, 55.7183720418612, 56.06374597244268, 57.36094017507003, 55.63337739449113, 57.31895317717086, 59.35282191044195, 72.30769961072207, 72.62263607734205, 72.77891593987903, 73.16315500396827, 73.5284283624021, 72.96291671856521, 72.67557068112941, 71.65580945580453, 72.43700808621227, 73.55948434994461, 73.94566868658573, 71.04662855641145, 62.09564266285403, 62.40291103618114, 62.33086163523188, 62.39833541122005, 62.25490540943044, 61.56786409570496, 62.61845087387177, 62.32338570604648, 62.09902050272332, 61.06895069374416, 62.82884238313103, 61.14286780104069, 60.6422210061469, 59.37461025171179, 58.22135978026766, 56.81166820876128, 55.792853342592586, 58.11066641674447, 57.15066693853096, 56.466772597051055, 56.26698994650869, 54.32635758068783, 52.35019434797318, 49.78337644152296, 50.94341448459384, 50.27777492156864, 49.22928961453471, 48.99642022967473, 47.21810051408341, 44.03003343930906, 43.547880378259805, 42.248791673124806, 42.8862606489833, 42.27943169086523, 43.8562350165733, 44.83819900086498, 45.5147040121382, 45.43160425096938, 45.46279240010776, 47.35432677499432, 48.6812036809057, 49.19705568946468, 48.62076712690045, 47.39617143272436, 47.12375251439465, 44.72548429967191, 43.0420505161123, 39.63887802676626, 40.34785237502904, 39.89820866005292, 39.66563018647231, 37.8151175742246, 35.392790439827785, 34.82119972906941, 34.09963695240055, 32.899025767109315, 33.19029869169991, 32.79788645519404, 33.354387345808696, 31.95535046498599, 33.17128132621587, 32.900669477098255, 32.449211882816414, 31.363837852508045, 30.757671533846874, 30.114643805412268, 29.80986228859322, 29.205791589324612, 29.843221975568007, 28.089384933551194, 30.001746031434795, 28.515388259926475, 29.784461712418302, 29.87208326190476, 29.75380481584126, 29.72925817561469, 29.72380562114846, 29.690675896428257, 29.756587392510305, 28.990019441332088, 29.806828708605668, 29.24896020812653, 29.371330796302228, 28.06328243604108, 29.2703930104264, 29.34843664456894, 29.382262280967947, 29.47470165239717, 29.960958219576725, 30.3234208553507, 30.563751711562404, 30.012571167243816, 30.768071118811594, 29.69194845666044, 30.613700350217865, 29.52180722064854, 30.51551957057267, 30.411728657485213, 30.267365084344853, 30.09159687892935, 29.259011168689696, 28.985834395502643, 28.55400998451602, 27.54724905228758, 28.03186106512605, 27.11360515001556, 28.21239015600685, 26.793761563905765, 28.99087354521022, 29.383618399859945, 29.558905704559603, 29.89696239991336, 30.342214154393304, 31.78896208923504, 31.894849220121387, 31.685708777855584, 32.40331667934952, 31.55976302084355, 32.01994957718643, 30.558236612822903, 31.295396077886707, 30.880154577497667, 30.679570826177518, 30.640799586134456, 30.47405596654217, 29.065843087774923, 28.961645870759416, 28.05057314293495, 28.700841107294583, 27.7851402264483, 28.865077098661686, 28.02596041658886, 29.0093168872549, 28.950725937675077, 29.12171109288116, 28.962927861733583, 28.98859092089538, 29.07307693549708, 29.1821921030968, 28.353593530578895, 29.228063705493312, 28.415365425633237, 29.153674474634297, 28.22834840530657, 29.351441138032992, 29.49362924666609, 29.211475647058823, 29.301449992250763, 29.531473849517585, 29.5203081704002, 29.65220388806047, 29.203995352720828, 30.79575011285522, 30.468079447790224, 32.797970437830685, 32.39766718798631, 33.885492400015565, 33.96950908201058, 37.25853205281344, 36.97803289091192, 36.459813760270784, 36.454719695222536, 36.22847297786857, 35.103333013200725, 37.339615639912175, 34.46102395534249, 34.934484247198874, 32.13728416939129, 31.37026761811391, 30.556776807656394, 27.604343887877373, 27.80416730672269, 27.98600188881108, 27.686388532913167, 27.773400642545912, 27.80345672021824, 25.435840429998574, 25.47343031407912, 25.615720279411764, 26.22646608983829, 28.23198709718332, 28.131397722716045, 30.444027172235938, 30.50746053985204, 30.50237257979105, 30.55501039448725, 31.402971300523035, 33.020661187708164, 37.38306981777156, 37.52817774136321, 36.62791152108621, 36.15087858901338, 38.07056612044818, 39.05161170129424, 38.23429163857765, 39.65864337676719, 41.13175469864613, 43.14196727030813, 46.0932638819639, 45.92786718207282, 44.82924185862122, 46.693064991443336, 50.81795968977138, 51.54970188881108, 54.20220628066839, 55.33967645876128, 56.3969036919573, 56.82826257337379, 57.50116354588376, 57.67172384905204, 56.46557763133169, 55.59983206032036, 56.33228584500467, 64.70845812380634, 64.55588339044508, 62.84328075466853, 65.57214190997512, 65.45816846817615, 64.78170073661687, 64.04733042328043, 63.2275074859944, 63.355357679894176, 62.92477873279128, 61.8648395358699, 60.55365275047854, 47.5500783538096, 49.02080378906007, 47.64255199760886, 46.60272251610645, 45.65344595168068, 45.558651693043885, 45.52631972214441, 45.66019206154685, 43.81355385465297, 43.56885140779645, 43.19438652505446, 44.07464966386555, 43.90787926159353, 44.23738396945482, 42.1799543969849, 43.16463583685175, 42.97018646856521, 42.39944137573918, 41.85251761872018, 41.230169701182696, 41.5656737945845, 40.70727481995021, 39.07182591132924, 39.2144646741856, 37.76691245311495, 38.4397582342048, 37.97828925159476, 39.50392082135076, 39.72060858068784, 40.40086091191838, 40.797125826545646, 41.11760655960162, 41.803841840413945, 42.19701678703704, 42.29705305022764, 43.30382340678494, 42.36926121560847, 45.37084569638513, 44.62087848715829, 46.24597868522605, 46.45390646280734, 46.64837599502023, 47.79716255715974, 48.78886716137566, 50.16529618751945, 52.16258194708995, 53.04612620798319, 54.2503598610333, 53.13317551953003, 60.5091993601774, 58.84849332586367, 69.89504011873638, 71.21545837021476, 72.55420519941838, 72.64014836632433, 73.3437688897448, 73.45705118191722, 72.90392038036067, 72.25887173295985, 73.46569253874884, 73.14532593821973, 72.17736284189232, 71.5532975130719, 63.44167253483636, 62.67916282321818, 61.83175293666356, 61.06747426906254, 61.02131178898227, 60.32758140943045, 59.69965466075321, 57.52660718282045, 57.171782430672266, 55.63699478967738, 51.26510726400103, 48.80645522244138, 49.717835814998345, 50.90556265763436, 50.19441115180517, 50.24002979607725, 49.61000625139603, 49.25295157928727, 48.76776796739808, 48.65077633492744, 48.94953005065359, 48.537013503734826, 49.467632626672895, 48.37398133590102, 48.47179143899782, 46.691933736072215, 46.893761567250266, 46.52033153510413, 45.48627489239029, 44.531853706450384, 44.7920849790694, 43.79086725456284, 44.61669477692188, 43.3254656451136, 43.81063004948504, 42.10329012861681, 43.5842021100996, 43.21906660356365, 42.37379524932695, 41.965585799330846, 41.53207458683473, 41.1865048133345, 42.11668984772798, 41.00765507158418, 40.86034507298475, 41.1546552394958, 43.65589862821805, 41.21053079256147, 42.1740171250389, 41.868197720277, 41.66327254100529, 41.18427127020614, 41.14964029559602, 40.00778314464806, 38.802743818627455, 38.04934924019608, 38.87601214347962, 36.36822182259313, 34.934283569483355, 35.208567191254275, 39.07834423342671, 39.46674530967943, 39.39677561064426, 39.5500110258812, 39.50592073762839, 40.4067825223305, 40.101411371693125, 39.223284899081854, 39.56002010325243, 39.35284394911298, 39.775094853797725, 37.63648534964771, 35.79447554634994, 35.29449377373172, 34.866788410704565, 34.303545448879554, 33.766444434562715, 32.365155723389364, 32.165531382975416, 31.138172762313424, 31.710291057789973, 30.331218760192964, 30.723744381030187, 28.75124017476593, 29.94187566538153, 29.951119365312792, 31.550295698879555, 36.21543008434485, 36.32171841215375, 36.33205239432839, 37.7970643320884, 39.3793962574379, 40.77913818034742, 42.384597230703385, 43.3440917009804, 42.63651577318706, 44.07565830291005, 44.5069774932229, 42.14329425120734, 39.34736143121693, 39.23406306800498, 39.38847878529866, 38.2348422025333, 35.63030420572673, 36.460462621070654, 33.669370514142415, 34.59593860886895, 33.58660642117958, 34.402413788619164, 34.09610638134142, 33.77008098799324, 33.58135379527376, 33.7384916599751, 33.61470329917523, 33.93992745740222, 33.156800399782135, 32.98061592966076, 31.61244924626517, 32.03979612885154, 31.108009370094443, 31.575930450580977, 31.18505508643532, 30.922510558612156, 30.405827487161528, 30.094932853330217, 29.53440759912854, 29.12638271817616, 28.41610462457205, 29.589335763305325, 29.038247527777777, 30.659156441098656, 29.47690516513384, 31.33966320393713, 31.561332113912236, 32.01432707345615, 32.43237589683325, 32.64295675247887, 32.79564126875195, 32.894049641223155, 31.822545090880794, 31.66165191900094, 29.52857896164021, 30.676935194133208, 29.64432551548397, 30.65091882594149, 30.76749656535948, 30.738017270373295, 30.59056135422049, 30.710206797307816, 31.1550258496732, 31.96064360566449, 31.63818921888941, 32.77639803306879, 32.300971248755054, 33.45849688266417, 31.383861147024824, 32.379880597416744, 31.87730911134453, 34.43659908147695, 34.35603640895062, 33.97448193425148, 34.99149673303766, 37.08496798034705, 37.50593892125739, 40.43923384422658, 39.19720641200332, 40.90055511585745, 41.40093180588365, 42.84053918347339, 42.43813763803299, 39.81959281528167, 39.749842869825706, 39.8393643750389, 37.94842247408963, 35.05263145419457, 32.03917170562478, 31.487786574072786, 29.897838787737317, 29.995129501389453, 26.65452409754492, 27.864596741674447, 28.048441200228137, 30.290699169464546, 30.6329655209306, 31.346051948412697, 31.24313520596016, 31.850902655851232, 32.22957135649964, 36.94820563826642, 37.433544778806166, 39.20263657381536, 38.65542646743115, 40.96201651151572, 41.14127627359361, 40.293907027388734, 40.85988286254411, 40.99439735994398, 42.41558352948356, 44.09685460418612, 43.356625744361466, 40.661648414845295, 39.75256412408834, 41.43601496195145, 41.27555196724245, 45.603240947868045, 50.35657045511207, 53.58339736469032, 54.735521714363536, 55.72819175280112, 56.982296665888576, 58.03062111111111, 58.03660459228136, 60.9940727237006, 61.81318467265795, 62.351505455337694, 61.96324719973545, 60.9755661490436, 56.961649053254646, 55.47870538865546, 55.94784885021787, 56.08903645440399, 54.86848143588546, 53.29183296226269, 52.83318717258014, 51.6874706835512, 54.16708533214221, 57.54575098350451, 55.04462973077731, 55.76625492234672, 55.60803083391107, 54.77374740717398, 54.57965044670091, 54.25434443339559, 54.09286914690321, 54.209134490056826, 53.16903870506472, 52.113770679894174, 48.598450934251474, 49.56308018796736, 47.6148960157952, 48.04012283909119, 49.42411646280734, 48.425346180995945, 47.79465559912855, 46.90280631318083, 45.98805569775759, 45.32482291544248, 46.070339527155305, 46.82254755492856, 43.26789770181079, 42.51979905168846, 41.91526464895349, 42.94739057819795, 40.89923395721165, 41.223784740755015, 41.82551344358854, 42.34623704684096, 45.461102459797445, 45.67011270525988, 44.47305663398693, 46.089676790616245, 46.183577432075424, 48.47646979256147, 48.92673591752256, 50.17463793977591, 51.06223825827111, 51.24775367615935, 54.18609337605042, 57.37377618145037, 55.09078961235606, 55.42126642647059, 56.69256924926795, 57.8845954362745, 57.14845827409028, 58.2094759725659, 58.01612174136321, 68.31557801976346, 68.49238356870526, 69.66036064386866, 69.27833707368502, 69.2470265725179, 70.06985984375973, 69.7695150830999, 68.65122724789916, 69.74024564892623, 68.9881947631497, 68.67437613056333, 66.6237309616402, 58.42089138095238, 57.89395157656397, 56.826077229302825, 55.070587508092125, 52.04443470819004, 50.99866805999066, 50.98281680065165, 47.22188775855898, 47.37092994747899, 46.1526599929972, 47.177879193109376, 45.81913008569098, 46.35906285348584, 45.81234401711796, 45.46741861204482, 44.73180930726735, 44.30377925465299, 43.53612997408964, 42.44840765460629, 41.10596022805788, 41.03486060823218, 40.36148730524432, 39.50871206777156, 37.61916269965764, 37.990663219498906, 37.30093623996265, 36.342981430594456, 35.890287774976656, 35.59455417164644, 35.58361365437286, 35.34805076984127, 34.43799326797385, 34.59316825474634, 36.27767556963896, 38.007533426470594, 40.20620977995642, 41.01994809889512, 40.72798924766573, 40.13786478485839, 39.773745449657646, 39.41015531364251, 38.86950838194233, 38.76093928298514, 38.44408790273887, 38.82231838633224, 34.117124656720975, 34.46704744614936, 29.38794032688598, 30.573937997015328, 30.84214554878618, 31.075532443277307, 31.454371081384224, 31.38113165888577, 31.30159833737097, 31.189025717608622, 30.157486792016808, 30.5592746696234, 30.52673976937573, 31.204209900190754, 29.60353498600108, 30.921257063691915, 30.747286061780265, 30.07459435644257, 29.85790448801743, 30.19837157352941, 30.275654590258327, 30.18751030708271, 29.449134805750155, 29.89736953883492, 28.71733474749685, 30.361527861575908, 29.916788741287764, 31.51657005003024, 31.83357519854595, 32.44308942336517, 32.98018618061973, 32.91759060743972, 33.172279186819175, 33.35633237338547, 32.795682807927506, 33.43822506364315, 32.674307630803035, 33.26921946189796, 31.2721640653151, 31.854791126599427, 31.642678377491137, 31.14576122828483, 31.01724697027759, 30.74649479783387, 30.28429090391386, 30.45446416027343, 29.42895485807656, 29.739263205882352, 28.905745240099503, 29.816637096394857, 30.24475134591455, 30.14171669483349, 29.93636668214156, 29.38208259383753, 30.07696656248055, 30.117715722144418, 30.06300705578056, 30.0223493903232, 29.15005900132275, 29.659524361111107, 29.251494514225417, 29.971371318549647, 28.56737929092748, 30.130300065670717, 30.177984355046604, 29.845409247743543, 29.34765726229381, 29.17025988116506, 29.239090410376576, 29.2208857464986, 28.44647811087376, 29.061830829511617, 28.433420023632507, 29.357290863756614, 28.48840620985061, 29.25279264316838, 29.04854199994489, 28.98400140865235, 29.19331801882976, 29.248159029723, 29.16319880609698, 28.8717724125428, 28.15883345120344, 28.74281556403672, 26.952598311235604, 28.429106574929968, 26.61092274095316, 27.848758740662937, 27.34453109056956, 26.886359101385, 26.660814660364142, 26.07594096226268, 25.68821471444133, 25.58353870043573, 24.517736186430124, 24.76513794965764, 23.781608846016184, 24.52221709298164, 24.525263297306243, 24.666549598428254, 24.84286636577965, 24.937563655091967, 25.195562595315906, 25.47358055232973, 25.781961415854585, 26.06402436351476, 25.519522008325552, 25.90701982438531, 25.489447503369984, 26.210205213818867, 24.997927861967007, 26.135291889744792, 26.278116544584503, 29.01843456286959, 29.32974895051354, 29.563095983193275, 30.111468872469924, 29.951964286012554, 29.141697743277703, 32.36783719166537, 33.462925687590136, 37.44043968914501, 36.4017888548864], [959.6328950648148, 959.2501597464208, 966.4044443331776, 970.619752255344, 972.9750047082166, 976.0487988909896, 980.0731301217708, 989.4057627983194, 984.691772344849, 986.8647503145812, 979.396353423047, 979.0740691765484, 980.3194710505758, 994.1700770099596, 993.0330120651156, 991.7959687119514, 991.7411810940612, 989.8288302999312, 986.3772418909896, 983.8443025347028, 985.5967111704016, 1045.790188348895, 1076.1399949999145, 1093.8950194076406, 1098.1420311075926, 1094.9235029347965, 1090.4784471838625, 1098.9088644025055, 1106.067185977202, 1113.8459603068782, 1123.7323908877215, 1123.8545641968567, 1111.2877910517427, 1053.0569704147213, 1022.6780275552442, 1007.8090826824618, 998.553807864134, 990.7850135170404, 987.2580625140056, 986.3578247794118, 979.4791515308124, 971.4346802566138, 967.5050611356208, 963.4463227982416, 961.3075949942422, 986.6192577408748, 997.0384318861474, 995.328108939523, 998.64774076953, 1025.6231417938063, 1036.5716783361345, 1038.2099662927171, 1047.5074645694056, 1059.0924804985034, 1090.485969357921, 1110.0391880002935, 1118.2202304665402, 1120.0375138013535, 1120.4154163655464, 1130.119273986617, 1135.1540919564134, 1124.4756543674137, 1121.7122030433345, 1125.1969826370816, 1120.3708664789135, 1110.2682459105974, 1088.0209049354853, 1081.542509956923, 1077.6484429249922, 1101.9558533920012, 1122.07778746413, 1140.6146497731092, 1143.3256546261302, 1153.6669337917056, 1157.3085010742298, 1166.5628386737471, 1178.2726745924372, 1185.8374985683938, 1190.0892389218798, 1190.9069274044402, 1183.4268017482104, 1163.5736728198724, 1148.2289102452426, 1133.9486244073437, 1130.5043956495483, 1128.4185870863678, 1134.630358892935, 1129.0439290736072, 1119.4329723805631, 1117.5785617015251, 1116.6897631362433, 1125.4572769790695, 1124.1175943947244, 1125.1827801238717, 1123.9728028878903, 1125.3545709593095, 1124.456500498366, 1112.7995061199035, 1112.7785591976344, 1123.5563050647302, 1134.7646229831153, 1144.5940031011514, 1157.768126543503, 1156.088794230781, 1160.0465610175847, 1149.1037423572984, 1154.7364418617335, 1162.3215629586057, 1170.7943097183318, 1162.3283812746654, 1175.2640468910677, 1161.0413771934327, 1153.19527570845, 1150.7770668621226, 1140.027329543962, 1132.1529716608309, 1119.7040068259628, 1131.2326199028166, 1125.2223655783478, 1126.5789790775757, 1118.4874992615155, 1134.810803087457, 1108.2551512815903, 1113.0482551417676, 1112.950594218409, 1105.324432132742, 1104.5521891137566, 1106.8466381069827, 1108.4950878356676, 1108.2465531366272, 1105.1491249663088, 1099.2764926833177, 1098.8217998256305, 1104.4025991116555, 1106.4101818374572, 1103.8552696197478, 1101.0657396269064, 1096.5930103297542, 1093.6129760669155, 1093.2027961667443, 1087.77604442826, 1073.480779774147, 1072.2804971563958, 1071.6992786960868, 1061.5987476979458, 1048.250881316293, 1033.2607699054622, 1032.323931767127, 1031.684968921802, 1035.9829629212577, 1032.6632532018364, 1047.918720366402, 1044.7732744863056, 1055.42064361967, 1040.0568002976968, 1038.0236405192966, 1034.4595057964518, 1042.580415061002, 1043.5925503892, 1050.8948489018887, 1039.4654239529254, 1016.5350828987706, 1005.1015267572188, 972.2900724140987, 958.8461644346404, 947.7605889369746, 939.5741901581076, 928.5821184256146, 917.5582822468876, 899.3876464940087, 886.238370225957, 862.6098320326797, 860.0061160157651, 863.402524635844, 866.1738080558137, 859.8264508981481, 850.6757651663967, 850.8033793475723, 853.0335319801586, 849.1994586896203, 849.0276279526921, 854.8432121718799, 849.9004764439775, 845.1378292408963, 837.2989291063647, 827.8697727726424, 823.1008665908029, 825.0458944043631, 820.9011647967121, 822.3333454935419, 816.6004056490818, 813.5617430185185, 810.1848253391689, 817.1198907412783, 818.7195898209617, 821.2459131090103, 825.8783308934796, 829.8308521535947, 832.3278972960628, 832.2861109915966, 827.0326492412075, 811.649666915266, 809.0893254252255, 803.3507821320417, 797.1025888525521, 787.1591832423746, 779.5141731323529, 772.6891273303708, 764.0489957857991, 754.9490660934484, 747.7832361029411, 742.0360925979613, 738.0442875066138, 766.5946983168378, 767.8957416907874, 773.6928541404451, 774.4239624280267, 774.483869158341, 774.2688667061157, 770.896372002412, 773.4997430135387, 775.9340353951135, 780.0385251892312, 783.4471935802209, 784.8383086897758, 771.6552252387177, 770.9246556661219, 765.7530658344225, 766.9459765374261, 772.1714980764862, 771.0704766173358, 770.2594691849517, 767.4324256579521, 761.0279599169778, 755.181225429505, 748.7604808320104, 744.3611152474323, 740.011532144102, 740.1959422927171, 740.3218312563025, 733.310436145736, 725.1655396570961, 722.242016923807, 725.7390504038281, 728.7832865322906, 733.2703489488795, 735.3966184085746, 738.4021397364612, 734.4714645623249, 735.334338919001, 731.7085287715529, 727.4784156228602, 727.7714944928415, 727.9669786963897, 725.8536387741207, 720.760666175459, 714.0164074688764, 706.611293773576, 701.8205880084033, 696.4347025617025, 691.3105281541393, 695.5784351304012, 693.6053264699658, 692.3977201357765, 694.7427892747905, 693.0728195213196, 691.9599834679427, 696.4294312294585, 709.0253765216308, 719.3457195398381, 726.5332756063648, 733.9766923982259, 735.8460580101092, 736.8272997852474, 740.4317840880796, 743.8708223152817, 738.8547083099128, 739.6795980479303, 736.6196982240896, 731.6975609197791, 718.700251570334, 705.9447699461562, 702.1528050568004, 694.9083175645035, 688.8380541796607, 689.9176338267973, 683.3407075234205, 679.0146284134764, 676.407919825935, 675.2799513467942, 677.0419148285091, 678.3828032683629, 681.7838279754901, 684.779859554544, 685.8416931430905, 688.1623921668222, 687.3133958681138, 686.6283467408963, 685.840321501634, 690.729481907952, 695.9982013129475, 702.5991558811858, 702.0022365553222, 699.1004760376594, 697.178391745869, 694.0021284137098, 693.3287990774977, 690.8962296527388, 686.3062609689542, 709.4361881218488, 723.2879019922191, 725.8384880949268, 718.1617365841114, 714.4853885754746, 714.8415544564269, 728.5430163400249, 739.1306363965141, 741.9549558529411, 740.8892070357142, 741.2794906044974, 738.4310438884997, 718.376935684018, 707.2881258580766, 705.374436887566, 705.4114868609555, 708.9882263404918, 705.0765212170868, 704.1681447079053, 690.3674490221671, 687.8415349277932, 685.9656563515406, 688.5030216637876, 690.6062343877995, 716.3734247753657, 714.8258456727358, 710.2518218274438, 707.6867866898801, 713.5506943461717, 711.0432329322284, 708.1175306802832, 714.2823148888889, 716.0578927437753, 717.4930644910454, 714.9888003760503, 708.1798599693414, 700.2991254887954, 701.3762223459383, 702.8945555689386, 702.3403290194522, 698.447850747977, 695.2898858459383, 688.3101288972143, 684.1289373355897, 687.3918346875195, 691.7062582788672, 699.8360322196544, 696.6945634749454, 699.674108932773, 702.3334853128696, 717.5764390658263, 721.9707725904138, 726.944892383203, 733.1629893193277, 740.9986195768752, 744.9615535704949, 745.1018560220199, 748.4677689191565, 747.5191920428662, 746.7155888088234, 755.4139090382819, 757.5203089869281, 748.4852997999533, 748.3470731623094, 749.605299612356, 759.4781167850139, 762.2677837757547, 760.7670056703237, 756.2576137086056, 753.1458846206039, 753.4004047260348, 750.0726352352162, 744.353016932773, 742.7046336246499, 746.7579403580766, 745.3919694192343, 746.6864289167445, 733.1553435364145, 732.4164370019453, 735.3868068477279, 741.9226252644725, 750.670180033686, 749.9396165147058, 747.1717282005914, 731.4748224183784, 734.238716280186, 733.1796586283201, 733.5378409821817, 735.5684973966697, 735.1377538099129, 737.450278067616, 732.2716103819639, 734.1416226905541, 729.9351427086834, 730.472043155929, 729.7063982492997, 742.4856107470432, 750.0467542578587, 754.352675406577, 754.3203099391535, 753.5378809398537, 750.6363378855431, 750.4328453686585, 756.6479339112977, 753.8550412773108, 754.0324447907718, 759.1901281833177, 757.7191175497198, 762.2322504134765, 754.8651769094304, 747.4706394756457, 747.8683602918861, 750.354193182773, 751.3223380866012, 747.2759397469654, 740.7034498308147, 737.1005340325241, 734.3647481591191, 726.1274252417426, 721.2292640272332, 713.2559451149237, 717.5018691392779, 723.5948541521163, 720.8424588149875, 721.2385525729069, 720.1397111984904, 734.3357837696078, 742.0921094624183, 755.0406569282602, 762.8440625586679, 771.3672557335045, 769.5787333845315, 774.895032757781, 766.5760988416589, 773.2501166917536, 774.1663656847895, 783.0750123823262, 777.2315512913942, 776.0553122499222, 767.4569112983971, 749.0537119573607, 748.4761087878929, 738.3955604747122, 735.4094725037347, 728.5566706925771, 730.738687135154, 728.5151095527478, 725.0802366861188, 717.2765255014006, 719.2156314441331, 711.33581342507, 719.5845831790383, 728.335535970277, 730.0761428522409, 731.0824782071207, 729.441652792328, 738.3470571609088, 732.4327024113757, 723.2058947550576, 720.8019900435729, 722.869910781746, 719.4347817833022, 713.1119538498289, 703.1598648328664, 691.9236217063492, 684.2367421091327, 685.638496923825, 682.8241591324307, 685.5342415822439, 685.6588457264238, 687.5256216530429, 684.6455743877217, 689.2841674311392, 687.7870942172425, 690.4534077692966, 693.1661470379706, 698.4669192966076, 703.2624999842826, 705.9390609060068, 703.6602973557422, 694.4293489335512, 692.4942418737938, 691.817368827342, 688.2450184411764, 680.5805130943822, 675.9292956147681, 670.6404863330998, 663.6854946962341, 654.6213300665265, 648.4669003222845, 641.8073383474945, 638.0172295626361, 654.4528051598195, 660.4620433550419, 658.388997789883, 656.3116058733269, 657.9427023695144, 657.650055239807, 661.7917223653907, 666.7479554266262, 673.4317858455493, 676.9312523317772, 680.4827003544195, 685.7864545967165, 680.925590534547, 676.3607203092904, 679.3774187171646, 681.9383399530813, 685.3996453414254, 682.5685452940398, 675.8445538821196, 672.0844644915966, 665.8712936792716, 662.3992090341582, 657.3291249265484, 648.1512765589014, 638.6650519041394, 637.7506472258791, 638.6355426793417, 633.0704742302364, 631.8307257862589, 630.9253097426081, 636.3550234789137, 644.2568204723001, 652.3602256057422, 655.4162711055815, 655.8815495838002, 655.3404499119981, 663.6676352332711, 662.737702262605, 661.9129028611889, 663.182574286408, 666.6169482253346, 665.665690000389, 662.9267537549019, 658.7069588394801, 653.3345788775289, 652.6873453466385, 651.6470264832711, 647.0347736945222, 651.4481478870214, 649.246567746265, 646.7707175802209, 647.9252818818861, 644.5790244784469, 642.8933161770152, 643.7126006307967, 643.5783013351229, 648.1895653383132, 651.6313172610487, 656.2562103201058, 656.2154185098817, 657.0567740902583, 657.9625900168035, 657.3387123133344, 651.2691777321039, 663.5044578126796, 661.6458546298629, 656.644606640445, 649.174696313221, 638.4655964992219, 633.6745513400963, 627.8332384474012, 619.8636063032855, 620.8339862795673, 619.8557659222688, 620.6071630946934, 621.220467073838, 610.5819597488328, 612.8192826396669, 618.9983030949269, 623.6595193920012, 627.1968215190631, 627.1199068770309, 628.0722342549797, 627.4890248287426, 626.196771890834, 626.5433305508092, 631.4670679215685, 634.0738172612822, 639.2653771680671, 637.6164898955026, 635.6037682490662, 633.0338875992841, 632.3801563002644, 633.1309484673981, 637.065036137566, 638.1103883556644, 666.7280724550264, 680.9561004553376, 679.7504649425771, 676.7739360424057, 673.6744948539526, 675.9318258169934, 689.7711988252412, 706.3094407914721, 717.4661167581698, 724.5726595199969, 723.4497886556956, 718.1671238061781, 697.2363322276689, 683.8335394147215, 682.3731557425303, 680.2891550403828, 682.8588869586835, 679.850745642468, 676.0019378248521, 657.5898936312635, 645.3973427394179, 639.4329812577031, 637.4828583398693, 635.18301491939, 653.5846552998754, 654.0123751397447, 652.9588505847339, 655.0998961286958, 664.1099695096484, 666.9937161572518, 670.584307590803, 679.2861980779644, 686.7256521468195, 695.563720798206, 698.692714203159, 694.5341665587438, 693.0593711301743, 696.0166236376439, 697.2801351793495, 694.1335750827885, 689.5192081300186, 687.4019454624818, 680.1448816274509, 677.8284573204949, 672.4345397686741, 672.4823396109555, 675.7058427219109, 675.0943682741206, 681.4900618066448, 681.8550863956583, 700.305343939523, 704.9040165189854, 709.2771400128385, 712.3436904853719, 717.0268154815592, 724.8857326879863, 727.8140684127761, 727.9178085320572, 725.102480688142, 718.2641322668844, 732.2773744327732, 731.7166483559757, 715.7498794751011, 711.546624015484, 712.3141484320729, 713.1340535241206, 708.2963503720043, 698.9472904186897, 693.613611833022, 690.8725227186429, 692.7631889035947, 688.067040415344, 673.7075170365702, 672.6503951379552, 672.2327954289606, 669.7790056326642, 667.7507026273731, 660.273862186041, 662.7525991227046, 670.9983241649549, 678.8979240319017, 687.6238994408626, 698.7872341026299, 710.7003753362122, 709.6682489045285, 723.344296024432, 735.0374089713664, 742.766468174214, 750.3744812904605, 753.7962382375506, 763.3452270706504, 759.8640939876284, 760.7955874611733, 759.163219212107, 762.0078948113911, 750.3501541448023, 757.2157412804232, 746.4824214277932, 745.4703244046062, 737.0658258206504, 729.3070429909742, 724.7721096751478, 722.8543375199969, 724.7500005262995, 723.1084065698724, 722.8020289367413, 712.1472333323997, 710.4114966976347, 705.8036623791627, 705.3736829019607, 696.0615967145192, 698.3758701091659, 704.7792473225132, 702.7426811612978, 697.3134312229212, 689.6772169521474, 686.9602521372549, 685.9783845694832, 682.6312244993776, 676.8812112591036, 678.1190556889977, 679.4979640157173, 682.0808060196077, 674.9619827486772, 672.2117642345937, 670.3051702128851, 681.9128175926704, 695.9712428348116, 706.7933113287427, 713.2801578976813, 727.4326967781667, 730.2461832454092, 737.1779655326019, 734.2369749240585, 745.8212886889977, 752.0761453347338, 757.4136812738095, 758.8613846010738, 764.966076017507, 757.6197386158348, 742.9591157446313, 739.5493275168845, 727.7951037521785, 721.0997942103115, 712.4268474982881, 711.2831444673202, 705.4624186792718, 701.9638067176314, 700.4288697480547, 700.1201795836445, 687.3344109877061, 692.8894076948335, 697.9643568229847, 704.5615638173825, 707.6428331258948, 704.8553972598818, 719.3352744102864, 717.2601859017195, 712.4759287932617, 712.7749608257859, 721.9507402191877, 716.8073007256457, 712.637484785014, 705.0690227649393, 698.005915446234, 691.4152296472851, 704.1669492300031, 705.6217509805477, 719.082738903439, 725.5213209239806, 731.4162662938064, 734.4988351980236, 738.6020726963118, 743.3079864076408, 754.2451745487862, 762.98608809197, 771.4883440213916, 778.2481136363983, 770.211387629863, 767.3051305812324, 752.7084372822128, 750.6318276416122, 751.0511173701369, 747.4209579270153, 738.3022170034955, 735.7328454246032, 729.5776884887176, 723.5388366924979, 716.4217188630562, 709.356461202381, 708.8103331759258, 704.6039311993463, 725.531395398537, 726.7684882718642, 723.273346232882, 721.0787445989729, 721.6496626386555, 722.8432341948335, 730.2415375715063, 737.106903874572, 741.8899553429037, 751.9370064750233, 748.7393673642234, 746.0313637345159, 731.6041557126517, 729.260922817927, 731.6561531335979, 735.3066004899626, 737.1712372820573, 734.6786444793029, 723.0417682916278, 723.0729240952381, 722.4162636600528, 718.3914774933083, 722.4989476675161, 727.5069498795517, 733.7552675217864, 737.4496337145969, 752.60430939986, 769.6608449929194, 787.4710832135854, 800.9754866567848, 808.3110954364994, 813.0268626519608, 817.9475951567849, 826.2769763078898, 832.9898322716308, 835.7029831154684, 850.052247208839, 854.5705402208995, 840.8134758939464, 828.6832493486617, 825.4039346635543, 822.4156089169778, 841.6174470286337, 838.2714179211795, 832.6988922995641, 829.130530397676, 827.1695488426644, 820.6024886551509, 823.2775103892001, 823.1380541329754, 826.2826665812324, 836.1745263068003, 836.2936469450668, 833.2269234872393, 813.6938380614405, 817.229264002023, 821.483614494709, 829.2717271661219, 837.872199247121, 855.5402519511359, 858.3960464803921, 865.3110178056237, 873.550394134765, 866.403044427871, 872.1697715396825, 878.5478294878617, 884.9635519936197, 896.2860744514471, 901.0236103617336, 905.427167605431, 904.2491357683627, 890.0631570127607, 925.0954563805632, 929.027048911609, 931.4366083622004, 931.6008085209304, 935.563709819172, 937.290459914099, 948.0445655708684, 951.5650889705104, 961.1532943576096, 964.7403668543192, 973.2953747625836, 971.9610320010892, 956.952404614846, 954.8138432135077, 957.1015928115468, 960.1429681984904, 959.3790867095394, 957.331589275988, 951.555482695378, 940.9109200181294, 928.8973834362744, 925.1439077845472, 917.370311264078, 912.0607958183538, 951.2158236811392, 972.6458004685652, 973.4333363979864, 968.4159597174756, 966.97318641939, 967.7455842668066, 981.3528780260658, 994.888508521658, 1010.0464956002955, 1016.899057226346, 1026.9513783142702, 1027.5420544110643, 980.7586831996576, 965.7392204886398, 966.7624578331776, 976.7027557996672, 979.1814537784782, 977.5528913555868, 976.7033792604263, 966.3579285934484, 956.4381426744476, 953.4860799302832, 950.011876587924, 953.5673394437792, 981.0970198271864, 987.9683055483192, 996.4355533886552, 1000.935086891892, 1009.9367963036884, 1016.3103590018434, 1022.6631167342048, 1032.1952576051197, 1047.2363428299875, 1058.4532678026503, 1073.6308628419702, 1076.4932723290804, 1083.5381290446228, 1094.811730060978, 1096.1168061066676, 1099.9267976482454, 1103.300246907399, 1106.4156660588742, 1103.758281639322, 1112.1416708239185, 1116.0170370627916, 1121.7062214330506, 1118.775105469284, 1121.8898986574852, 1128.5303881878306, 1131.3777898860876, 1150.17965976385, 1156.489268467476, 1165.28458362854, 1173.4793434124265, 1178.6498712638338, 1175.8863843026663, 1184.9551693607998, 1194.9657641884492, 1198.3210576802048, 1192.40717178338, 1193.0465835485645, 1191.5872506213818, 1181.6179358415031, 1185.1098387931838, 1193.1992160052907, 1202.562735137877, 1211.528732804372, 1215.605441932384, 1204.103581472689, 1201.8071003283535, 1209.1732745525987, 1204.5143898056335, 1195.4299684840491, 1183.6185456316528, 1173.7350581780263, 1161.382901043729, 1149.1561039856051, 1135.8307222914725, 1116.1324975542327, 1108.18283563993, 1099.070548725257, 1095.2429632608157, 1082.6441220095703, 1074.537736648148, 1057.0016486448023, 1056.139418040772, 1053.432010155462, 1071.303674189698, 1089.6902116861188, 1088.6651815803766, 1090.45023914986, 1090.9497341626984, 1095.016419394102, 1087.71464323934, 1089.5776908634452, 1091.1631402176042, 1101.7648870510425, 1117.758787902637, 1131.550130218565, 1104.9814290783536, 1083.2150631069871, 1082.6673834106048, 1078.6008262971288, 1076.352832552241, 1071.7146322915498, 1077.1729744627294, 1076.3000749098194, 1067.7219280399936, 1064.4612007995383, 1056.0321397651069, 1043.619861315668, 1041.8202397309062, 1040.201269321177, 1032.8461568564117, 1030.804654585192, 1026.082493176181, 1019.3546453476062, 1012.8911212305694, 1007.7425502261864, 1001.617421432466, 994.3050303486616, 991.7338733715264, 992.012636754824, 990.9486329591502, 991.1496201265952, 990.3396963351228, 1001.982702804155, 1000.8884116619896, 1002.212763181776, 997.3599855175848, 1004.4254368520852, 1002.8434169258762, 1004.4431980270774, 994.5097734476344, 1006.2219814746342, 1004.3065990108933, 1014.6460243397136, 1013.5917083162932, 1014.844835061002, 1014.3527080222532, 1004.663562937336, 1003.051855727196, 991.8811478655462, 985.2255578202614, 993.9028190699502, 984.7794316275592, 965.4349640607688, 951.9125920294116, 927.3605357363832, 921.2010819946825, 899.2529267355275, 896.0848528050886, 895.681074904684, 891.3291569481137, 887.5587701633208, 878.5120390511088, 871.0631194418767, 870.99356846981, 868.6915030616246, 870.375785166382, 885.1196683963585, 885.4752668308433, 888.4513610802411, 887.4428326386924, 882.294568296518, 883.9339471037854, 885.2142497491441, 879.9821470265327, 879.9368210841113, 884.2362334449891, 885.5924423632897, 880.7331404435107, 874.4396287834577, 868.9835172983952, 860.4944724459228, 856.6125967806566, 851.2044560064581, 844.5827435210854, 838.1125699681684, 839.4234783844538, 829.1109906821505, 824.4498201186586, 829.8812082460266, 832.752561230859, 832.2940734007159, 838.5711752442421, 846.2157413548864, 852.4347666995791, 854.2878166234049, 857.4497066847961, 865.668006849284, 864.9247759401649, 898.0140835718175, 903.9991746141455, 902.3140164712884, 900.6666729705881, 898.5878358580766, 896.359331443121, 891.241214301743, 887.4723825559445, 890.8797173000311, 897.4291705375039, 892.2414143633675, 888.1084367598039, 866.4628117756769, 859.4262187380174, 857.9255320633364, 859.7186759109087, 864.1220986048086, 866.2403857783931, 874.0941416932774, 880.3461134747898, 878.9102167005913, 884.78316795028, 891.1072934097416, 893.9415422274353, 891.7033826117334, 898.3289140022564, 903.7023815059136, 903.944548864379, 902.3007085957828, 902.8805929141768, 899.6108183463197, 900.199013545596, 902.377297021164, 899.3155757449423, 898.8448985002333, 896.3277567462651, 901.240143431528, 897.9885963704481, 890.2829390428726, 885.5459309886398, 894.6779799395424, 901.8923393628228, 919.3447595053592, 923.38641115554, 930.7637314236694, 942.511496274432, 949.7429986314114, 955.2395466961548, 981.7953649733894, 990.6298088319496, 998.6448676432464, 1006.547840393246, 1002.6601765266448, 993.9336241975568, 982.2138581059692, 974.820022205571, 969.0323846747586, 962.5217677838468, 968.5767270202302, 960.0070189822596, 939.660787297672, 932.805236381108, 931.5304646187228, 939.7775095802988, 947.903561754046, 958.0992207850916, 964.5773570441954, 972.3221308535636, 977.626958533769, 983.609407661998, 992.3653430827889, 1008.6670585413164, 1034.9715502753656, 1060.700692863804, 1076.6751703629006, 1074.8609699801004, 1076.2802568610332, 1073.0732257155305, 1073.3011767282137, 1071.4976744245253, 1072.7325286774042, 1070.553475297298, 1058.2631648720042, 1046.376666148537, 1041.987636754124, 1029.7909139169778, 1021.099568186508, 1010.7373570067692, 1021.5477019354186, 1027.273140864768, 1032.8808734073295, 1035.7505052391066, 1034.5558066027854, 1038.7440062281355, 1035.6641723255525, 1044.3969283914469, 1099.6741734723, 1114.4598333201834, 1124.100634694904, 1130.172497612349, 1124.724098782135, 1123.2923442338158, 1133.3014281394203, 1142.7024990825553, 1147.3778360996737, 1154.9669748871777, 1163.582268159664, 1142.213909981475, 1079.8261424920634, 1057.8728725957048, 1047.2151018989073, 1037.8041058258636, 1034.7463389563493, 1027.594176308728, 1023.3814462215996, 1009.482663324463, 996.9018330298009, 991.2959935722066, 990.6332814959508, 998.0821074215686, 1022.0318140110488, 1033.5110672416745, 1040.2120524602394, 1046.963055688453, 1060.9547659527702, 1073.0115897905716, 1083.2682101882974, 1108.620902582166, 1135.6039811234689, 1155.610403655073, 1167.7450771584968, 1176.9388929806237, 1188.5364785287084, 1198.7669928218954, 1225.4226397516536, 1240.2050882360331, 1250.010578906853, 1259.3855501482649, 1265.9620207477576, 1259.3045287152668, 1250.454215532107, 1255.1411807779195, 1259.9214903238965, 1268.4992316182536, 1282.3470925718514, 1288.397495727757, 1292.4022768049329, 1296.99091676136, 1302.5189947320262, 1300.171326898226, 1305.578357084656, 1313.640565550109, 1321.8233925469103, 1318.0013764927462, 1320.5969734003268, 1317.1007625008558, 1320.4323204891846, 1322.879583984983, 1309.3626069448987, 1306.1716643139596, 1312.6660858314362, 1321.8142441586522, 1323.157084328941, 1322.8543280620916, 1322.177607436862, 1324.7886876410676, 1324.3922700554, 1315.5387884549946, 1302.7846457131632, 1294.4508740822428, 1292.5502565596787, 1287.5213466886864, 1270.5879879935894, 1260.8717369719886, 1281.4452497178647, 1288.4381447278242, 1279.4423385747623, 1273.6052871170243, 1264.7905367205103, 1260.0627555848116, 1260.8990047472766, 1276.439509250389, 1305.7127148558975, 1318.0490756329752, 1330.706955788273, 1325.940280966464, 1309.8680224401649, 1311.5489504118427, 1330.7239860023342, 1344.0977166520388, 1357.7631051674362, 1371.6828182641611, 1383.4587924903517, 1375.3010605731913, 1364.5582419225827, 1359.7427073040772, 1358.6784194662307, 1353.1132507254124, 1343.743882116947, 1335.0784223267974, 1320.2375724110643, 1315.3183370269994, 1311.962996144102, 1298.868139903874, 1285.1074156757702, 1277.5954619981326, 1256.7696847066604, 1249.3910736201017, 1246.5400877471989, 1243.885633689776, 1240.6866931020072, 1240.5391482317928, 1236.727580475957, 1231.1152574722223, 1229.745228417131, 1226.3813028263382, 1219.8955195851768, 1230.0460975110177, 1243.4921324980423, 1240.9170302086588, 1243.2590777724215, 1242.301376721015, 1252.251351982026, 1253.9912531022223, 1255.677331037659, 1243.885115862052, 1242.4138807565232, 1237.0673077724089, 1242.627287890056, 1225.0964654113754, 1219.8750351245722, 1212.3414373259411, 1208.3395726222657, 1194.970123382771, 1184.8748430071582, 1172.4923549391535, 1152.771139605042, 1145.7592562352938, 1126.55127214737, 1107.3195154533437, 1100.9486856560843, 1085.2470232270464, 1074.9026842947771, 1065.9563299808588, 1053.303235705444, 1043.035274902583, 1026.2875945775754, 1020.7015102882788, 1020.5147638700828, 1024.5874505168845, 1023.0867325478524, 1020.129283665266, 1016.6509162071272, 1020.697449263022, 1017.6574264037883, 1008.4161815099576, 1023.9670001615624, 1027.5025049009491, 1028.4970669076408, 1020.5641678266614, 1014.1757843450824, 1012.1776235576564, 1016.4048061548662, 1008.2497112018226, 1014.1807624379084, 1013.2781478353564, 1010.4822914484126, 1008.8786313895114, 995.5796096953704, 985.0250029828728, 982.79038948187, 976.8388288416588, 971.5852981399782, 963.3940183173823, 953.0903021128572, 944.9106765862388, 928.7843048800258, 920.1899614377649, 912.7201386285402, 907.025973883909, 904.7187774378308, 890.7043031113276, 899.1155257281356, 897.2809571199456, 892.8448413329443, 891.8123432840802, 895.6259283857764, 896.555896974168, 925.4032230526766, 936.9706830044784, 945.0841798678026, 947.4841974750234, 952.3145550456204, 955.106843625198, 956.1169899606286, 960.3300551200592, 961.1108641595082, 964.0183257162308, 965.4880047379396, 960.1673624693666, 938.5760825978836, 925.5024634695768, 914.9136019195876, 908.5921319354964, 907.047955296374, 909.5859632506224, 908.768460133889, 909.266696502342, 909.1477265812324, 906.9357698486616, 906.1965122896823, 912.5519872294584, 919.0286497460272, 919.9012007934174, 923.5251398096603, 922.2213280697166, 917.0620249329288, 918.3972951329548, 915.534341417788, 915.2559506258168, 913.6188613690476, 912.680492551276, 904.0734897010582, 890.2335973243074, 885.1074633932462, 887.0156515946934, 894.3598402128074, 899.8537691984127, 906.3653206679894, 906.3477062856364, 926.3957557054156, 932.0421199787417, 940.3144605231092, 949.1130628323218, 963.069434793184, 973.2570461753312, 988.8713633756612, 995.4193933248436, 989.4535927189812, 994.2667053952256, 994.4335541096328, 989.342253207594, 979.5740551676004, 993.9802866076332, 1003.454852284625, 996.8436789740124, 996.7511767911608, 989.2757332951526, 990.504712752713, 988.2607796843292, 993.896084500778, 985.0490434154996, 996.0465684627294, 1009.5733890186764, 1015.8350635795108, 1020.3817340831145, 1001.1996489180516, 1007.1790309035168, 1004.7175543991596, 1012.9949158015964, 1022.8730503927015, 1026.7653322193432, 1024.3853968751946, 1028.890463248899, 1013.5386528342668, 997.6830048327056, 993.9417608141144, 995.7947271110334, 1008.04259859765, 1009.8560149767654, 1019.2404076604598, 1013.073049848428, 1007.9216884760214, 1007.8397298377388, 1013.990516244242, 1019.0378482782446, 1032.298424420557, 1046.0724301296295, 1046.9991855375038, 1044.7568740915033, 1040.0153686553842, 1044.5202349933843, 1050.9514363419703, 1047.7560028438377, 1102.131289043962, 1119.234836006147, 1127.1241448923124, 1119.134157843993, 1111.775261295518, 1100.901525914721, 1082.459171624572, 1088.8755685754743, 1099.6699411358004, 1101.4587738474536, 1098.799756251089, 1095.237016044351, 1052.4734680852785, 1032.8309558346937, 1031.300979877762, 1041.6828512021475, 1048.1417271224711, 1060.8757065468071, 1089.932368604342, 1079.341640050109, 1064.9022488887333, 1060.1439666371225, 1063.853327775288, 1072.34624670085, 1098.702487556958, 1096.1608220133658, 1113.9891726746594, 1121.6217590021008, 1131.7671846897758, 1135.9839615236538, 1148.147349660952, 1163.598221546452, 1177.7038749904866, 1199.9634895115937, 1214.5907765766422, 1210.6685243412724, 1218.094707087924, 1221.8700086835454, 1228.366872080143, 1226.3177478568316, 1233.0092531842515, 1244.082652132293, 1250.7991774012603, 1262.7948178457823, 1279.5839080493308, 1291.9823912485217, 1302.2847506793494, 1312.9717756086209, 1332.0591410312943, 1343.3240185269997, 1367.3070793994711, 1378.1415971511826, 1380.2865814729223, 1373.7911957077863, 1371.350204281201, 1362.0298209530815, 1341.0143874380642, 1320.8467195376595, 1324.4466389001711, 1319.5498854370526, 1312.5954530817771, 1310.3883839269372, 1297.4798638990817, 1299.882170842826, 1304.3003272251012, 1328.0630750498362, 1329.0323405394493, 1336.3359580719732, 1343.8573323639746, 1353.9197193064892, 1352.1947851547616, 1351.9729632118735, 1353.0511560633363, 1352.331966054466, 1358.560475480781, 1356.298249376595, 1355.1331777899936, 1333.8718542670854, 1334.0549777167917, 1332.5567610092592, 1329.417227068005, 1329.1047431116558, 1318.8170575124493, 1308.1451582796449, 1286.3376869137098, 1278.8984684039835, 1266.360281450747, 1256.9229182564582, 1250.6781465550962, 1244.7940652521786, 1238.512713123716, 1237.081767396981, 1245.2843293329863, 1239.9912115082666, 1235.423667406728, 1230.0721017995645, 1229.5958710737627, 1241.438636563025, 1255.9255150414722, 1255.480296635154, 1254.5679467830687, 1249.452077659975, 1242.0652370827886, 1235.9559714523032, 1224.349032630005, 1217.0975158291317, 1214.367848203315, 1208.077293559018, 1212.0607984383753, 1199.3271878261748, 1185.2282040894022, 1183.24471641122, 1189.0312666320417, 1195.431414585434, 1196.6236665785868, 1200.1632197771285, 1203.7293895914936, 1207.2111608572204, 1211.218391613212, 1216.3935989894549, 1215.8928395983503, 1237.690161779334, 1255.1330712041708, 1249.9211557025928, 1241.147047541939, 1237.2001700732778, 1253.934297767507, 1260.338690777622, 1278.8640330705718, 1289.0735968589877, 1297.0557914723, 1284.3953969786803, 1298.8645172373947, 1292.0698064370667, 1284.7327902117956, 1281.2735632912388, 1299.179960022583, 1288.9715821700124, 1274.850143640134, 1265.9742991670555, 1239.7950196539837, 1217.0143687818238, 1202.126795311547, 1213.4423129158572, 1202.4328600736071, 1183.2203169244488, 1172.6678005748363, 1163.8006328608774, 1137.8314904778763, 1134.7366145318238, 1114.186157438531, 1098.0190006931216, 1089.3640440588235, 1082.400018874105, 1073.8865626260272, 1047.9907788678804, 1024.61381581676, 1019.5349693239962, 1007.558731312714, 1005.7001356267506, 1011.0127776805166, 1007.4973812775444, 1010.3580389001668, 1006.7225994033964, 1003.4429420402272, 1005.2263990311236, 1014.8979402356052, 1010.3078646940552, 1020.736363986351, 1018.0497089444344, 1017.0560441995798, 1011.8601211317304, 1013.7128436508714, 1005.3434274230468, 994.2609635114378, 988.0289500255212, 982.6057213943257, 981.787970730693, 967.1038434359632, 966.7725182138188, 946.2351247355274, 941.0911590782758, 936.8036023584656, 933.459387739178, 923.2598344211018, 923.1724095997508, 927.409147999533, 929.2611209646748, 927.8253434272486, 925.2735917936508, 928.4929912454091, 925.7829973669468, 956.3877805076252, 968.6842936290852, 974.496076352241, 978.6216711277622, 981.5207807103952, 984.2878133029876, 984.1355481157666, 987.2373270722844, 994.3194652490662, 997.0314226091658, 994.5301408413476, 988.2964130611506, 962.512876418534, 951.9368846834732, 945.1905698232958, 939.3454811349204, 939.178171043106, 939.0931003860876, 941.2277956430128, 939.6329269811704, 928.947045243464, 926.8586486592748, 928.0656957367725, 924.5459149719107, 929.768568422191, 937.3368107058824, 942.3937896590414, 940.2016117267284, 943.6733875175848, 940.6395650989728, 935.9097019042172, 934.6093727615934, 936.6280592731092, 936.8740513609554, 938.0130750736072, 936.293501848014, 933.5516518499844, 930.3074706868192, 928.5642976260503, 934.8776888201056, 933.9521244891844, 938.0066418313882, 950.2585075795206, 953.5739665831776, 957.2069202800342, 961.9604984298164, 966.025718802132, 965.4243625355584, 985.996496332166, 989.3763561171804, 1000.8806213231404, 1018.2381412254902, 1030.1656448856986, 1032.5956669924524, 1031.5639854756462, 1043.0951300660597, 1060.418980135154, 1063.1817685775754, 1067.105323557501, 1066.9573125566449, 1059.5612488702925, 1061.612801802054, 1056.3709482696077, 1038.7913276048862, 1037.8244650183628, 1044.748871019919, 1045.189313587924, 1040.588587988873, 1030.889820829922, 1039.2792262026144, 1046.1620113190168, 1057.129450572829, 1068.0925624689542, 1074.6409197565358, 1078.988371752412, 1083.1478316383443, 1087.5604183930905, 1085.651669058979, 1093.533789230392, 1107.8023236065203, 1115.9924717048707, 1119.9753498857765, 1123.198615155229, 1117.083830528867, 1112.797861881886, 1116.3679993292094, 1120.861359718398, 1122.358557502101, 1125.4230887231558, 1127.6385181732803, 1123.9071017563024, 1114.345461349595, 1108.3153340178185, 1105.4674992960583, 1113.956278007703, 1123.465265771553, 1179.738846079521, 1198.449176826642, 1231.3024766259414, 1239.2604683407146, 1252.0059056153532, 1283.2415816761438, 1297.0089433922574, 1309.7060516025776, 1321.8450318848943, 1338.7833404585413, 1345.1094742740977, 1341.3632884630729, 1303.6883672737524, 1302.84625363088, 1283.5531546135232, 1291.7167604227357, 1291.0867308106128, 1269.3040553583878, 1271.6438859305945, 1264.5480016466695, 1262.7739958064892, 1274.8940176405229, 1262.584432140523, 1256.1207549382198, 1258.370762516477, 1250.1857174818706, 1243.089643574852, 1239.2355455200748, 1236.5154464861498, 1226.5685028523724, 1233.250970269997, 1247.9511654286496, 1273.338241974401, 1256.4598231249613, 1268.1079845206195, 1269.9092302704182, 1280.666440263656, 1283.3590704009882, 1296.6391537844174, 1295.460380719428, 1303.148444990255, 1316.897657543709, 1313.5026767363877, 1310.1639354900624, 1289.7302814817149, 1306.5052575361908, 1304.3464351963007, 1303.1388669745563, 1315.5243573997825, 1316.142486641798, 1315.884029841892, 1314.2026116483808, 1311.2073308797071, 1306.1604503609644, 1300.3300130151729, 1295.9749836903206, 1297.3157303303765, 1286.9707244396584, 1289.8986474142089, 1291.8866696796308, 1314.493371548553, 1322.3509056938997, 1322.6228254579084, 1337.0505796805944, 1338.1974832155197, 1346.6516105494863, 1350.4052749704329, 1348.785251750856, 1346.9710957934951, 1344.0269592640832, 1341.3651535442732, 1325.1532582179427, 1301.2466895126047, 1295.9138748214284, 1284.1444659773124, 1269.6560064805476, 1267.1926587604264, 1255.82831342826, 1248.7493375070476, 1248.5277165212417, 1243.9289569363348, 1245.038588570728, 1247.99631624681, 1243.761641047074, 1232.954815416804, 1238.369065226657, 1241.7542752503891, 1244.0392554610953, 1248.150170774437, 1251.036896086421, 1258.9780145892428, 1263.2863166907875, 1278.2316635247432, 1297.0279489086522, 1324.5786640165734, 1348.8791217471207, 1365.468305915422, 1368.2339991700123, 1381.6193050347583, 1380.4561164801585, 1379.5782586369437, 1380.5795761081545, 1372.054326802443, 1367.154428626906, 1356.7303165371122, 1354.9267251651104, 1342.1235430623249, 1335.1405629563474, 1333.1181082399626, 1325.210851433084, 1307.8559189235916, 1304.849551868892, 1308.0081518035145, 1312.6617323674136, 1319.4833918820416, 1321.283549959695, 1309.5433263034097, 1300.5102795414602, 1281.2067799346405, 1267.0456697607376, 1262.0097862740429, 1263.447003538337, 1267.199085657563, 1265.4768963234403, 1258.6053629960318, 1241.7471335270775, 1234.099809688842, 1222.065269962574, 1227.2447713543418, 1216.7514342097725, 1215.320530330995, 1212.3072640967162, 1219.448038921724, 1206.5149106307188, 1214.1461142126516, 1211.1903456397447, 1222.5596103467165, 1225.3115261393557, 1235.2113033342669, 1233.0542959220354, 1212.0712589532368, 1207.042259473467, 1192.4345506924212, 1173.574223634376, 1159.8533492720196, 1141.7722687068397, 1125.2234064258596, 1110.99597115929, 1090.6559365801425, 1078.8550172495443, 1054.771603821398, 1047.9010478580826, 1040.32181944709, 1032.6157802371615, 1020.2091564534702, 1006.7350620344693, 1000.0055852152972, 1035.0428364371364, 1029.5247448523908, 1016.8485379782078, 1007.6538979493464, 998.0446886911764, 990.1912153016652, 977.575267807734, 969.296545439698, 963.0901660578896, 963.885014946312, 964.9852638651572, 972.9159772391844, 938.7210443561864, 936.6913691642544, 938.0837418895112, 948.570333473156, 949.7125159285712, 954.4056632143636, 956.8144570248988, 954.610720791083, 951.9523797921725, 950.0800966219264, 937.1243787819794, 918.982718736228, 909.4554497970744, 902.9748921472924, 894.9046952597156, 882.9408296511826, 877.4096923541861, 871.2074594360411, 867.3908240399937, 864.5653259960318, 866.9133360943821, 875.5853091076098, 891.3238586832399, 947.2169001822284, 969.459738482493, 978.741736982882, 981.4358664894958, 974.8059755172736, 978.7005887362278, 976.7075164179116, 977.0029850638032, 989.6240650270774, 987.5482926509492, 973.7410139188452, 948.0683435030344, 917.6595685014784, 911.3227746178804, 918.323252791981, 929.089260463274, 945.0993947531058, 954.1441661472144, 971.917249983303, 987.337684451868, 989.036933588895, 1006.9367802976968, 1025.181903372199, 1046.156673711323, 1048.7240891604988, 1052.6570963229512, 1066.0784738643897, 1075.597705616791, 1084.1459485152504, 1082.6412345869414, 1081.3810408265665, 1080.3040390262422, 1080.3067155831793, 1076.115174165127, 1060.1131598634445, 1036.488925260104, 1031.6848416705054, 1023.1827163606558, 1007.1237702307758, 1004.3799525202955, 1005.992672332736, 996.2299064257704, 994.7907734928338, 984.650745633131, 970.177855688654, 966.1996797885154, 969.6786520550886, 977.0477665126213, 995.3563733979496, 991.707834212911, 991.7396790144724, 985.3182041667444, 972.7276044314184, 973.9982665894796, 965.4574470302676, 982.2719870107376, 993.5735617791784, 992.7091025425614, 995.9964639430328, 986.2898378190846, 974.9559663882663, 976.446438672191, 968.4262282134298, 957.7043607863368, 959.0062297871926, 963.1498437676628, 966.5280642371614, 952.5803287274064, 959.7849202704635, 966.293916420946, 970.708639905073, 976.324029415733, 993.3365090881258, 998.9467077700746, 1007.580394858232, 1016.1411257276532], [147.72015627303142, 147.9779531537342, 150.2391705176626, 151.43792587332516, 153.16140846700904, 155.15903988390912, 156.07696365865235, 157.5359553540052, 157.57419288445377, 158.5874670901805, 158.90265109313725, 158.44715129699657, 158.19670430182072, 160.30809039640104, 163.7828830394491, 164.9922304049175, 164.64073084228136, 164.60137840616247, 164.69884048366012, 164.47408603470276, 163.9003928627451, 167.0953013207283, 169.03426776890757, 170.29490237877374, 170.9178036668556, 168.37835183040838, 164.23353308045438, 163.0921863813414, 163.04980454691875, 163.81202007438532, 164.58346572766885, 164.08581594358856, 161.1074089190009, 164.01964066042697, 162.146581597728, 162.83943460177403, 162.8231708534035, 163.15069620004667, 163.82219267966076, 164.799098772798, 165.7356633074184, 167.39125740094926, 168.45520563484283, 169.3186715300342, 168.42510987270464, 168.3656005731222, 168.70037370401494, 169.6572228204949, 170.53954794654533, 176.46440237659513, 175.75238100560225, 179.00929923755058, 178.58688828991595, 178.00345587799046, 176.9858087640834, 176.26832773503347, 175.22604166013073, 176.46745376571738, 176.78874501618424, 176.75223553213505, 176.96935442973856, 172.42148581683787, 170.66684892989417, 167.03128879365082, 164.60286480228757, 164.57986987636164, 164.0292138374572, 163.78666369843165, 163.6837210420888, 163.89609834632742, 161.78938080010892, 158.42310040374002, 155.8781498945689, 154.26549565281667, 154.58697190756305, 156.099945286648, 157.77849517530345, 157.9441131065982, 158.21597062931838, 158.9447339631406, 158.7822095908808, 157.49440826999688, 159.24358694817928, 162.0786066994242, 164.56001613935578, 172.4861243044072, 172.52993491044194, 174.16339561024677, 173.5743064536797, 173.05438979590724, 173.298010444211, 172.68054153983817, 171.96139630532213, 173.09252260784314, 175.06259852497666, 176.07861648544971, 174.25204650614688, 166.78637821389665, 166.64732173413864, 165.38449982461873, 166.10696193456272, 165.69619832477434, 165.91650182983193, 166.23903570767197, 165.11220061562403, 170.1657607039371, 167.3414122962185, 168.58166878070014, 171.39352348630564, 171.97343003555866, 174.00941141417678, 176.48083823817305, 175.56863689768127, 175.174047867258, 175.06778020487084, 173.57357767818235, 170.35207969708992, 167.0656432816682, 165.93206617522563, 163.55800504225022, 162.71638471518375, 164.84503950070027, 160.7150959677093, 159.67669503563647, 164.32735203306876, 164.33194614970432, 163.64264381270618, 165.26176488414256, 166.1004892072051, 166.2084074509804, 166.91752048755058, 167.6484912595705, 165.25423349898847, 162.91648746280734, 163.7452919589947, 163.48145280165863, 161.09395983815747, 161.76345117522564, 162.39885218082787, 162.7065389642857, 161.24835201509492, 161.51171158699037, 161.01545271272954, 159.7928458051665, 160.29831997938064, 159.8663670193744, 157.56431864028946, 155.99646236609087, 155.60532096903205, 153.68429457570804, 152.34621249502024, 149.8186235480859, 148.51707259220353, 147.4944459815593, 144.83655685722067, 143.76594866915653, 142.52263418082788, 147.02723994638964, 147.00381539301276, 146.19593372502334, 141.7911506723467, 139.9363023793184, 138.86839040398382, 138.32573357936508, 135.90160116845627, 135.74024413180828, 136.57651976353873, 136.78134332633053, 134.29459341051975, 128.94218035208527, 125.67657631185808, 126.9164241939776, 128.3858634011827, 129.1643737883598, 129.20378295424834, 129.15294899789464, 128.7565816960006, 134.22087876050418, 132.95601916044194, 131.50141754240585, 130.74480035519764, 130.1343500619359, 129.05500919779024, 129.04302093923124, 128.38800745214752, 127.33252023747276, 126.35210596553064, 125.6520610872238, 122.7346696405741, 118.51441597408964, 116.96635974618152, 116.56259988056986, 116.75787551937442, 121.08402770105822, 120.81031150287892, 120.20257552116404, 120.0742571145347, 120.28021775647188, 120.139464856676, 119.8114391801276, 118.79556083726236, 119.21649963134142, 119.09637046140678, 119.16735295194262, 117.37218450669155, 112.1974551975568, 111.26661266884533, 110.88460768868656, 109.82063281240274, 109.30788783982194, 108.50170741285405, 107.96762410434177, 108.16668498544972, 108.5714040192966, 108.3209247097728, 108.36182422471212, 108.00396564371304, 108.07719312900716, 107.559588540305, 107.9438136206816, 108.26495967044008, 108.01788890141611, 108.2852649737006, 108.73848873155929, 107.60449834757236, 107.62026315063802, 109.0864481185762, 110.3092154194678, 112.08343588717712, 118.9863341346094, 122.0125825823218, 122.5218060166511, 121.9931234857305, 139.23044325280114, 148.86925343028324, 149.4465254591503, 149.92951517958295, 152.33863449657642, 152.63931081333646, 153.71995421187364, 153.01887352073413, 147.51910085262995, 145.45189088849986, 146.80730874416432, 147.38030558099905, 130.75063576704014, 124.34579931333644, 124.39951972331154, 122.7502271339091, 122.98541894156553, 121.04007580693536, 120.46699454232804, 119.25877048607224, 119.45896804855278, 119.33690316238716, 119.65529230275445, 118.29600484088078, 118.38572304326176, 117.74194369740115, 117.30386969273265, 117.03560530003112, 118.66628533278868, 117.5704282221444, 118.89961461383442, 119.8689525926704, 120.14691742001244, 120.67013482446312, 122.90944103244632, 128.17850811912544, 129.22363643331778, 130.5158965980392, 131.85092530174293, 131.43085542530346, 135.15147386157798, 136.48813101106117, 136.6242663443822, 136.94844877662698, 137.57269748708373, 135.7873777472968, 134.1862852129824, 130.12109971879863, 128.95612106497043, 128.57836664892622, 128.4953347448646, 126.05777081061314, 125.4315258339558, 124.21799620043572, 123.85228403112356, 123.2369812813382, 123.13085509835048, 122.64297434469344, 122.30205658769064, 122.02306613414254, 121.72349216067538, 120.97734741479924, 120.33186184025833, 118.39640811275808, 118.53002697230004, 118.35031727422258, 118.32923603299096, 119.01204609803922, 119.18019719701212, 118.90707929590724, 117.97851858270435, 117.49040639176782, 118.1613344615624, 123.86661483450044, 124.68591039130096, 124.03899092924948, 125.41580881956116, 124.78918257648616, 124.57667526727356, 124.06499341007626, 123.70413795922812, 124.351529447881, 125.96721697310166, 125.95034144825708, 125.69024065375038, 120.61268550116714, 120.63215140521112, 120.00550638344228, 123.13255924626516, 124.90245497733603, 125.18245675116712, 125.42218207889822, 125.80149655851228, 124.51671016837848, 123.64066054072258, 121.82824788673358, 121.253726372549, 120.2753813565982, 119.77168193241197, 117.53287376384998, 116.33520771825395, 115.76434509606028, 115.73214648513849, 116.29591953042328, 115.53277075171178, 114.9889266408341, 119.01285006956115, 119.34849764526922, 119.4268642525677, 119.51719972478992, 119.9143770445845, 124.0096858327984, 124.71602031255836, 123.56589273591658, 123.19384969125429, 122.43863617942732, 122.04456274330845, 120.97122782547464, 117.53906383870216, 117.49767033071896, 120.3936343323996, 121.56384176906316, 121.43161748288205, 116.44917247237782, 117.63392162441644, 118.2203235596016, 118.06680749455336, 118.91093346132897, 119.90244900723626, 120.37457031310302, 122.17591286616867, 122.9503231092437, 121.86751259586056, 123.13068205742296, 123.88718734850606, 125.18648105493308, 125.04122325707996, 125.26262241581075, 126.58584442530343, 126.48268927061936, 126.48414867452536, 125.6542000165733, 124.38444030835667, 122.98791723552756, 121.65934818596328, 119.3634347422191, 118.73385476696234, 115.2690340385932, 116.39396469335512, 118.26214097082166, 124.97361621272952, 125.6556798297872, 124.82681557438532, 123.77614947696856, 123.8728556896981, 124.44705202645504, 125.08700714028944, 125.13388906551508, 124.95328364184564, 124.22503019335512, 123.65873175233428, 121.06402868168378, 113.1390587580143, 112.92743710006224, 113.05278322338935, 112.70080850303454, 113.9945984302054, 113.31205687348272, 113.21510394836956, 114.050832225568, 113.79780250085588, 112.55064046576408, 113.24763265258323, 112.12643678703702, 113.09300502334266, 112.8766459065515, 113.43099610511982, 112.86770358994708, 115.11547946467476, 114.3582737657174, 112.41242697639538, 111.62959770549332, 111.35396192615936, 110.2990061206816, 110.0950791056645, 110.45661107975413, 110.6143779231248, 111.25281192639018, 111.85073486118894, 115.4391521328198, 113.06150958084343, 112.58120229660751, 113.71861401851852, 113.15986673225956, 112.5284216504046, 111.30890230034235, 111.73865175334578, 110.3042409475568, 108.84905340172736, 108.04316171630876, 106.4978958462496, 102.17874348918455, 102.94892241472144, 102.92887722440088, 102.90518092242452, 105.12270538966698, 106.5235966371771, 107.21994598988483, 109.10608045191412, 110.61533120494865, 111.8063584231248, 112.5908962630719, 113.8039708277311, 113.77420222992532, 113.9644865253657, 114.53353880385616, 113.82768541705572, 111.7314319313693, 110.76445820541552, 108.82296222455648, 107.9902492710084, 107.08283378727046, 107.08419430275444, 107.24256819421102, 108.10487749198568, 108.23068419545596, 108.53010068230624, 111.4580954337068, 115.81503706372548, 117.0625153529366, 117.70909428688142, 117.8834287917834, 123.6476641223156, 123.52538396218486, 123.58906125848117, 122.3016082842359, 121.1536876125895, 120.71735752645505, 121.09343349976658, 117.56499571560846, 114.16369394693432, 114.23913292258014, 114.33234517693744, 112.55020708035045, 110.00623677139744, 109.15659983714596, 109.54332265764084, 108.60509434632742, 108.35684974556489, 108.15035576781824, 108.71245358348897, 107.3299737333489, 106.8439678610333, 106.26865719382197, 106.2494313758948, 105.17499288336444, 105.97368532391846, 106.41857028789292, 107.40454935247432, 108.2617393706816, 108.0147423653128, 106.38798908496732, 106.4901057509337, 106.99386164666976, 106.88619428921568, 110.59289638865546, 111.6379964589169, 111.3603417735761, 113.02600197175536, 111.93426367203548, 111.0509429267818, 111.30070381543727, 112.28265650544662, 113.74202927785558, 114.97232592452536, 116.3695878182384, 117.12750541448804, 111.75896460006224, 110.56197519382198, 110.83621338210985, 109.86953553703704, 109.21000737885151, 109.43598540094926, 109.59774693557424, 109.9654575915811, 108.78417303789293, 106.17540232282911, 105.63554107072828, 122.61838294452228, 128.04884732882044, 128.09263645983634, 126.78935062854028, 128.2375228899004, 128.02304839892622, 127.74629301766264, 126.61550625552444, 125.48638540102708, 125.19019017281356, 127.33355924354184, 126.2558287499222, 110.31919819109866, 107.45274000964508, 107.38435877155308, 109.4840366811836, 113.8381869632742, 113.6264029063959, 115.25137264978214, 115.7047480532213, 115.69239187441644, 116.5380326564737, 117.89324012286023, 118.33762893588546, 116.65613729092748, 117.59199802116404, 118.4803985692499, 115.7155368836796, 114.63377631878308, 115.40872188591594, 115.82495850583568, 119.42242069996888, 122.38096603890445, 122.59141658729506, 124.62481806100216, 125.19420147930283, 125.4610097981637, 125.63085577287582, 125.48526925739183, 123.03203815080803, 129.5451215995176, 129.34957473521698, 128.6087540104264, 126.28123036894564, 125.53134741246498, 123.8211152270827, 122.01484692413632, 121.7945793271086, 122.44866023988484, 124.05427953633676, 124.0598091826953, 121.7803823777901, 119.88309403384687, 121.2668461959228, 126.23191934850604, 125.50298919170363, 125.48407844802364, 125.70423824808071, 125.2190031807501, 124.14914618658574, 123.52582310846562, 121.00583363453158, 120.36759121770932, 117.41149913881108, 116.6866071828509, 113.7167735831777, 108.79140580275444, 108.0747627587924, 107.33897332485216, 106.06416553734826, 106.24412839900404, 105.53812975155616, 105.021177045596, 105.76075867818238, 105.93554486663557, 105.8853932859477, 108.88209854154996, 108.75668850816992, 109.58725640320571, 109.3252041311858, 109.2274180674603, 109.83369712667287, 110.59810819934644, 112.16874086671336, 114.89217916059756, 115.15000984235915, 116.09495928291317, 115.476562052521, 120.2503265139278, 121.15332082889822, 121.9128186364768, 122.94765442966074, 126.15741767289138, 130.01512882376284, 132.20070091542175, 130.23184122331153, 128.48747296226267, 129.74700082516338, 130.61777668137256, 128.67412485262992, 126.64427183146591, 126.19956387293806, 126.62138682391844, 127.81639048187051, 125.91476910566448, 122.5873982230003, 123.72942441837849, 123.95925899167445, 124.67153381224712, 124.04740014635854, 122.38808028229067, 120.16268416923435, 120.14552002201992, 119.67094240647369, 119.71518633356676, 117.8903295463741, 117.3680976303299, 116.2633173568316, 113.85792273622782, 113.18873370572672, 114.40348845720509, 116.72314132111734, 117.72879771374106, 118.2675563120915, 119.4135085557112, 118.64525148132586, 118.24747159391534, 118.98801408629006, 118.21085437480548, 118.61532134765017, 120.37643276408342, 126.356266326953, 124.86800987286024, 124.21395532524122, 124.68776946093992, 125.19052452069717, 125.49696588367505, 125.58036485978836, 124.69116050583564, 124.3033504826486, 123.68595396661998, 121.91666170432616, 120.24196118759724, 114.62170056885503, 113.98125117966076, 113.59106228392469, 112.7371713401027, 111.58838547256748, 113.04572610371926, 114.43386371560848, 117.52771921062867, 117.5664981635543, 118.52972264441333, 118.9482270987395, 118.84648889674756, 119.09090472159976, 118.83036181359192, 118.14684542639276, 117.91393003034548, 115.72219504500598, 116.05578800140056, 112.77113127178649, 110.66629773677248, 109.4049438453159, 107.57802831943214, 106.15316201610644, 107.37471308278867, 105.78664879474012, 104.8558303628229, 106.46305069638969, 111.91613292629552, 111.41646695510426, 112.0870359746343, 111.68617860776531, 112.21197274634298, 113.6627469965764, 114.64183954279493, 114.72864611469032, 115.5592215340025, 117.40757588663244, 117.7572158864768, 116.00528298653904, 111.25147728361344, 109.79646755524432, 109.42813198272644, 109.14360349494244, 108.48053526828508, 108.67540783737938, 108.83871904652972, 107.54636123716152, 106.5978957491441, 105.39760592818236, 105.11495835924369, 105.6899025823218, 105.74452330781202, 105.2032343411142, 105.43504032461873, 105.37446361780268, 105.14170391472145, 104.4855369956414, 103.96198337091504, 103.37251644475568, 103.90263942382508, 103.5970108437312, 103.38033566464362, 103.51169243876438, 104.62003421187364, 107.4567092955182, 111.12690024852164, 110.38447753641456, 110.78023222766883, 110.60429120961716, 111.81085447494556, 111.7014989327731, 112.32896321528492, 111.63574879777468, 112.38121472930284, 112.3221611469032, 112.33039101890756, 108.1824543545272, 106.69981570938376, 107.75064770222532, 108.41381532671956, 107.9049603015873, 108.23824577513228, 108.88701857391844, 109.5652874753346, 110.2095275761749, 110.14878045946156, 108.47825341386554, 108.1431044247588, 106.99196933442263, 111.7779197604264, 111.49882547167756, 111.98956745074696, 111.65215188437595, 110.91576201976343, 108.94500818775288, 108.42262828804854, 108.0666783138811, 106.39579521039526, 106.14895666207596, 106.04174816129786, 103.10614075544662, 100.19223854240585, 103.27719645673824, 105.42919127419856, 105.1908242370837, 105.10668554341736, 105.12575383099906, 106.1725294232026, 107.06165449587613, 108.43971181162466, 108.02028062324928, 108.59484967063491, 108.9123198006536, 109.0069694316838, 104.08204948840648, 102.32902358986928, 102.085862339169, 102.7796622621382, 102.24278044296608, 102.27700027505446, 101.73501035286336, 100.86380458325552, 101.07604313071896, 100.59252366363212, 100.30348264790952, 100.42338265499532, 99.63375300062246, 99.09110904582944, 98.49583397191095, 97.27999397408963, 96.39631292545909, 95.71389283699034, 94.57472363795516, 93.74444288663244, 93.68305679225024, 93.83886248972922, 92.46889567390288, 97.43196783232182, 98.11017123895112, 99.01695049330844, 102.71393412737316, 106.37203869312172, 106.53598930376594, 107.3988394816371, 108.24646647634609, 125.2573329431217, 132.35263321451913, 132.61394469537814, 131.73460320798318, 135.67191825404606, 135.8551264586835, 136.17892816573297, 132.87748962215997, 131.69772956216931, 132.80202418137253, 133.64655960644257, 133.2120137388733, 118.72226706629316, 114.32290059492686, 116.28695689371304, 115.45682335737628, 112.90967372603484, 111.8948337868036, 113.44263047230002, 113.68888344312168, 112.5690350234205, 111.4341294494242, 114.49740362270464, 114.53099031170294, 113.65480810410833, 114.20676486056644, 113.93969562955182, 113.50995140818549, 117.54186245393716, 119.1189759197012, 120.24988653392468, 121.735143632742, 123.17720343121694, 123.4370651871304, 123.80584968845316, 124.51829511500156, 126.9465708703704, 133.1602961878307, 134.4132918678805, 133.453208601385, 136.588835728836, 137.04021869187673, 138.70130341526544, 140.12214567094617, 143.11063785465296, 143.02316499097415, 144.33822289488018, 146.9116980112045, 145.63367982469654, 142.65012995845004, 142.6436560901027, 140.43392231286958, 144.1307113145036, 149.1282016588858, 148.97512217071272, 149.34105655018672, 150.5008257219888, 153.0724788951914, 155.0524785427949, 155.50728731325862, 157.185856898615, 158.57618693036102, 160.1447862044818, 160.53253513577653, 159.4897453561843, 155.96761056162467, 156.81398447284468, 159.3302757272798, 158.77378202822243, 158.04742902100838, 157.3753342902272, 157.54797352349829, 156.94015420689385, 156.2728915262663, 162.26834678600932, 162.98959663414254, 177.21397182677794, 177.77981568534082, 177.42690837005912, 175.3910828932462, 174.8391534742926, 174.57900410527543, 177.32606677124184, 177.66871569257705, 179.28591878898226, 180.60099163920012, 177.16807475303452, 173.90428585098817, 171.79533641206555, 172.475558162854, 173.10795983247743, 173.94721247953302, 174.49379694351074, 174.15443635799875, 173.30601467016805, 171.87823261873638, 171.4749944023498, 170.65548307967632, 169.09288618059446, 164.76652151447243, 162.23030134142545, 165.3082641496265, 169.51198717826017, 170.91687893829751, 172.20761882998755, 172.62080091223157, 175.83836963826644, 177.27242236336758, 178.50970726786622, 181.6118805374261, 182.42352280166511, 182.68906059274815, 186.9841400331466, 190.4792888277311, 189.26421136920325, 188.0156018103797, 186.12068636606887, 184.5534246510271, 181.6935313921569, 179.83075024439776, 180.61722478446936, 178.49831231489262, 176.7016709464597, 173.40556355314345, 172.63584243650791, 167.55313850910363, 167.980610313103, 168.85467915289448, 170.69388355711172, 170.36776863678804, 171.11116784142544, 171.89409166378772, 170.48313533691254, 171.70866305812325, 173.23067040919702, 172.20274189768128, 169.11521110994332, 170.6980490299467, 169.7311276530501, 170.6475229501245, 169.41416052816683, 168.9738621260504, 169.05627117724868, 169.10030862558358, 169.5852276776377, 169.26392722268906, 169.8732855853512, 169.55173209049173, 175.23961843135697, 175.6386981679116, 176.96433121910985, 182.3298670960791, 184.26282886305637, 184.55448881613688, 186.26573125054463, 186.59381106084652, 187.0909746523498, 186.43522212371616, 185.18698256178027, 183.62860164618087, 183.9802510096483, 181.87181155843447, 178.9660997754435, 171.20346661321133, 170.49353709648307, 170.881939730859, 171.24185355703392, 169.7943000824774, 169.1912734764239, 169.33298907757546, 168.8794366609866, 165.05836021732026, 164.19574894218798, 164.72927592203547, 165.5916626662776, 165.98113624004046, 165.1450741084656, 162.77638861344536, 161.5759326147681, 167.1466273960473, 166.56726594810146, 165.96282500303454, 165.592686387644, 164.46444718658574, 164.70292369817932, 162.01383660690942, 160.6259239415655, 160.053544583489, 159.7662240904918, 162.9748501344538, 163.082654855042, 158.0094427396514, 156.04247509842824, 155.171941657174, 155.21169838484283, 154.4215992298475, 155.04705126509492, 154.0429943109224, 152.6026873181606, 151.56227337791782, 150.29627443129473, 144.3254690462963, 144.35710073576095, 145.68301073747276, 145.83424018152814, 146.06534173241516, 144.726986620526, 142.2976679144102, 142.80082613981415, 144.09436913445376, 144.91287236274508, 144.90880763445378, 147.2625878845316, 148.61996521374104, 147.51974345938376, 145.57491814488017, 145.43772379248367, 144.95563588422036, 145.54845062231558, 144.49255229053844, 145.82961370098042, 144.92553668915212, 144.6479652814348, 142.69977097408963, 141.34686096638654, 139.1264824632742, 141.01173792507, 143.4334769852163, 150.05971055197634, 148.88997414558045, 147.68533642966074, 144.83715000646467, 149.52483475785868, 148.55734697455648, 148.57100002310926, 148.84185885877685, 147.40122183535635, 146.676582625817, 143.03735832812012, 137.75577560831, 129.01899505469964, 128.85386321140678, 128.43588823023654, 125.26692941253242, 121.83893971654216, 120.83688718456273, 119.3787252937286, 118.16725711601308, 117.85895283823528, 116.94395260737627, 116.52081844008715, 116.9070457359944, 115.47993441728916, 113.18139614923749, 112.13032446638655, 110.65879195331463, 111.0143891993464, 110.37706425816864, 109.6291137342048, 109.32098028921568, 109.099763820028, 109.97307853081232, 109.84289075, 109.16277165351696, 109.71098915795208, 110.32960656255834, 115.15142686974792, 114.4937148530968, 116.02374343277312, 115.82079920074696, 117.060124970277, 117.04098573008092, 117.19495149323065, 115.865679718643, 116.03081086282292, 115.74137728190163, 115.9667294860722, 115.44786931154684, 111.60886982772848, 111.7167296311858, 113.23373101633987, 114.78898566330726, 114.75127542880486, 115.48171324718722, 116.4121484020386, 118.08181433278868, 120.06019043207282, 122.31221511414566, 138.3556147917685, 152.40423915849675, 155.15725370759412, 154.57724177149683, 158.24918665802988, 160.03060013523188, 161.89219838359787, 163.02652039464675, 163.24860713398692, 162.9078367752879, 162.8548535101152, 162.17812569903515, 146.90851956201368, 134.6300184669312, 133.18664780820106, 131.51157035869386, 135.1948783897448, 137.2004665988173, 137.90688004326176, 138.3638818478836, 139.97941470557112, 142.97693954769684, 147.63327802054158, 150.03226631574856, 154.11063057056103, 156.20727012721756, 158.64416876664853, 158.56437741293183, 158.84389305431063, 157.2767676930439, 157.93472911251166, 159.3148489148771, 159.47827865515097, 156.94257404831933, 155.7853818881108, 155.32023332656397, 154.45624843907564, 153.76902588865545, 152.05083921360247, 150.0240527788671, 152.81747016931217, 152.8499480945378, 153.8492731525833, 155.68371782469654, 156.1784889467009, 156.57347908730156, 156.28242520782757, 156.3085188298319, 155.60012084220355, 156.15259097742114, 157.31242670837224, 156.37058734344848, 160.54797233084344, 162.2083483139589, 164.20638388616558, 167.06680548148148, 168.48294256846663, 168.73069607500778, 169.0038272249423, 168.59079948591662, 169.387357124183, 170.10106944911297, 170.12424715488902, 167.37776397307812, 165.8686522926393, 164.27723959663868, 160.99445406084655, 156.2432912121849, 155.45746878252413, 154.79055748194833, 155.1752577685963, 159.7526253685788, 159.12747538406475, 159.2584487440755, 158.845026005291, 158.64846875910365, 161.08113242226895, 160.6668246276844, 160.36572682770455, 160.58534137885152, 160.74371045028013, 162.21306159920505, 163.2596425411771, 160.60665846101773, 164.05493762869594, 165.59005125272333, 168.57668545689387, 167.43090145160284, 172.90012894957982, 174.82836004987553, 176.84814416651105, 179.69620527163087, 186.8189719926081, 190.81180848031437, 193.24172679225023, 193.7766231408341, 196.0118002762994, 198.69182414721448, 200.816401503657, 202.41951290421724, 204.34011263375348, 206.08934663499844, 208.83449671381888, 210.78672871210705, 209.073853727202, 208.61676118868655, 211.5117255267663, 212.10045549385316, 211.4867751059757, 211.16926213741056, 210.423564193822, 206.4716191336757, 205.289830698154, 203.31726939962653, 201.91204128312387, 199.5852488046997, 197.66385270144724, 195.6457391046322, 194.9265378734049, 193.9818020815437, 196.3294360948925, 197.46174545463745, 197.0111595640257, 197.22877472276687, 200.3688647079054, 203.13196598054776, 204.1588657708528, 205.148876799705, 205.12208245564892, 205.0790439565048, 209.17997177038592, 214.5252998694775, 213.5490420798397, 214.3267031399004, 215.9230148387022, 216.27860508581867, 217.2270311869748, 219.44939709570497, 221.55178430781203, 223.1954568825864, 225.7411742106287, 226.28419149937756, 222.84380129723, 217.40849679084965, 214.66339723934016, 211.5015695347028, 209.9637151230937, 206.20781001828507, 207.06839362777063, 207.07303967507, 207.5291816864301, 205.1271936118892, 200.47814897782447, 196.5069564337846, 196.89529312098767, 197.6023177445534, 198.2106796408341, 199.01423320806097, 198.103668590803, 197.8762985971833, 198.34766042545908, 193.6257070981948, 192.60278212706197, 193.3987441362434, 195.0698474525366, 195.05388555804544, 197.3459205646592, 199.01691984041395, 203.23592142880483, 209.420462126859, 211.4553807237784, 208.5580770713508, 211.34821153866133, 210.8291137705833, 211.34755438709928, 211.07473039830376, 210.1673816755745, 208.7980818498288, 208.32699521957676, 211.03560005462185, 205.87301333232185, 199.9249239151883, 199.65898524603173, 198.5930320857454, 197.72148350809215, 196.1612848311547, 193.90791958722377, 191.63530460007976, 190.74496011811397, 189.89679346272956, 186.77788709762248, 180.99771946397448, 181.6639535047464, 181.0720401756925, 180.26958533702475, 177.5582110145104, 175.7748691276066, 179.44921157600953, 180.9440403548864, 182.42633560947712, 181.97132076229383, 181.7610837535792, 182.72581517474003, 180.1144704072518, 177.27202244364395, 174.38139772167756, 171.97657344740117, 173.8360608057067, 176.04332650952838, 170.94152862737317, 167.77015433730156, 164.3877884070962, 163.3781381993464, 160.35956165837092, 159.72979446467474, 160.39410496817618, 160.41496550319016, 161.17866044772828, 161.02324317950513, 154.7148182962963, 156.27515648797268, 156.89205075373485, 158.41216087799563, 159.20197357843136, 160.42351623818493, 160.98473850303455, 160.318016958061, 159.1157053313103, 157.39630355112044, 155.6302148741707, 154.87714948560537, 152.24548863095237, 154.90521829559208, 153.33731495666044, 150.27106167693742, 145.74144944288565, 144.25865047393404, 141.89962570938374, 140.76898615063803, 139.4691762898685, 139.77682456427016, 138.47883706769375, 136.89470964729225, 133.7827242282913, 131.5307731601307, 133.40203439990412, 139.80989323101463, 141.9840604389978, 141.30681768674137, 140.05467146354323, 139.9723772354145, 139.08826995053712, 137.1046519449113, 134.88944569996886, 133.30084257889823, 132.05527888198498, 132.71691711850295, 129.54656990320572, 122.9906131199378, 121.68672126558025, 122.57084003999378, 122.00567187387176, 121.13228117857142, 120.43071477326484, 119.86732694179894, 119.76130817117956, 119.07951837248486, 116.45210365258, 117.55921357127296, 116.71611988165266, 118.0725500448654, 117.46137652591035, 115.77073326011516, 114.57834674089636, 114.34228499803764, 114.41066079629628, 115.55610969646747, 115.18432971078434, 115.66579291549954, 113.7316432620565, 115.24548029225024, 114.55130630127606, 112.2722060813294, 111.3975691083878, 112.7236579317616, 118.2614008994709, 118.38619120339249, 118.17965372798008, 135.0793360996732, 143.49049169133207, 143.8652817489107, 142.90774887729535, 147.45867712620606, 147.4955826234049, 150.5533568521631, 151.8980970592904, 151.7819144964208, 147.416179442105, 149.03863684663864, 150.00235109305945, 132.4890417920617, 128.0348983227408, 129.28576108971367, 128.1767034911298, 129.0526734822596, 129.28948648067174, 127.66342815398382, 127.99735584795746, 128.16472558629007, 128.93884367514784, 129.49767944463565, 129.1085393282164, 129.95619159235918, 130.06936272751324, 130.47903921086214, 130.370441028089, 135.19176765365395, 136.53250917366947, 137.2817790691721, 138.03708660269984, 138.89715634189233, 138.28779361056644, 139.0300272443978, 141.14174203391215, 146.452754701136, 146.72287161922313, 147.017507532991, 143.7734646774043, 146.4314391354653, 147.53593403695925, 149.65214058706815, 150.7611834554933, 152.42499955711173, 155.02828430532213, 154.87446386577966, 153.33614635815755, 150.3015569228914, 150.8965040866013, 152.16652300599196, 149.7259075774093, 151.1793431064439, 151.48911879069405, 150.79597843718255, 148.64732542615934, 148.2333582298475, 146.80018536220044, 148.4646733049331, 149.60206816293186, 149.55588099011825, 150.5040564830059, 151.26065685286335, 150.47040295860566, 152.62242651129878, 152.3049370222283, 152.02589027069715, 153.86893602675914, 154.9709656283847, 156.53068794794584, 158.40827420328569, 159.03669633931165, 159.63717478669537, 163.25083690056022, 169.1670101999689, 168.69756523008093, 172.65480449354186, 175.41588213756614, 176.19353139530682, 176.2374497798008, 176.8580567855244, 176.4516262578587, 177.8449518639383, 178.07442343051136, 181.2008927407408, 179.55056829528482, 174.35605550925925, 172.77689771977327, 177.57929928355276, 176.4959271190476, 177.8298428427482, 178.71251595815727, 179.0412879077107, 181.1259915568783, 180.1924555335356, 182.5222928417006, 181.6447981023187, 182.7541025338469, 184.40114914698103, 183.4892283250856, 186.4972380749181, 191.04751963881108, 195.2773965919339, 200.0831918230995, 202.3357023417367, 203.188858879474, 208.96200277155307, 208.9415376794273, 210.83455817631497, 210.45593179076025, 210.03488609407097, 206.7453026706117, 207.11571227093057, 210.15171407819795, 205.5636522864924, 203.26010803205725, 203.51799787013695, 202.17122945649183, 199.5807380609983, 196.90690319779023, 197.53937922300037, 198.8863913637566, 197.34090251781825, 196.0063559042173, 194.625062032991, 189.45853896265172, 191.14826819996887, 191.4284433022876, 190.38460594179892, 187.98842152513225, 187.45443014223463, 189.3759228417367, 187.4948965402272, 187.16052264441203, 187.78624886165576, 186.29395158294423, 186.55682650077745, 184.506735964986, 182.62766642250236, 179.4906567997199, 177.13469670502647, 175.5122554775132, 173.80213845743853, 170.40219491581075, 169.514803710084, 168.27503004473556, 169.060594963352, 167.5921232892157, 171.14934489666976, 172.66847869273263, 174.79667033504512, 177.15965861655772, 182.5747743545752, 182.3757636248833, 181.6124864823374, 183.9847079957205, 183.3884708629785, 183.26862712426083, 182.50083434687207, 179.85098550326796, 181.68609053445897, 180.68624561476813, 181.1367757201992, 180.18029208629005, 175.6803434039838, 176.9198736733582, 179.032888666122, 177.44486020502643, 177.58284119460006, 176.2027948611889, 175.25549284562717, 173.06481153600154, 170.8212031636321, 172.43718680539993, 170.102464423047, 168.96432993145035, 168.0166312456427, 165.1260329127691, 165.07128316059757, 171.94816655042015, 172.2678817918612, 174.13237419024276, 174.6335502782914, 172.39546501027075, 171.50067918487397, 170.907478674681, 172.20248798202613, 172.47609852769995, 174.6513003020295, 176.14731345066917, 177.46268192701524, 174.20843121630872, 181.2162098480392, 182.08501035933008, 183.68083911756923, 183.4486270218643, 187.50098474439773, 186.3312078323996, 185.4100508790072, 185.040060902272, 182.84993337675076, 182.31826867569248, 181.36768203921568, 177.9875665868347, 172.16243562955182, 171.0074021424675, 169.44240565429504, 168.66792054147214, 169.45245638731842, 169.79598299151883, 170.76956214005602, 170.7991595375039, 172.4512219736228, 170.77076966207594, 168.5445509360411, 170.33126260224088, 169.83999724642078, 168.89761014060068, 168.09453339993777, 165.1131956062033, 164.54635522253346, 162.4998492641612, 161.37825586204482, 159.8223857717865, 159.08707763141925, 158.76381213079677, 158.6907464354186, 157.12753921988795, 156.88190579162776, 155.25726752155305, 154.78286323630564, 158.48686787760658, 165.9771810236539, 166.7388707335823, 165.51785625661375, 165.21747586515718, 164.93607288733273, 163.2429758330221, 162.3695904852941, 160.95846417810458, 159.7945637990196, 161.03316233060673, 160.3262407369281, 152.15165864682538, 148.41329676128228, 148.6470569911298, 149.937707146981, 149.95275600404605, 149.46398620129162, 150.034264428338, 150.76512976641766, 150.64142651517272, 150.5651864080299, 148.7664685068426, 148.3259406809835, 147.34867238437596, 147.59936141931215, 145.7344912340492, 145.94867763997823, 145.3622115690165, 146.3451135322324, 147.23087225832555, 147.93844236227824, 148.90702854435108, 149.53908305228757, 150.56023126688456, 151.90974472759106, 151.69381267328043, 155.62251304761904, 160.63472800108931, 160.84885738157485, 161.5278579807034, 160.21415634056956, 159.30434593736382, 157.92657429590724, 156.5891445673825, 156.5037721309524, 155.8505409483349, 154.69689734578276, 150.7128875673047, 148.39211973459385, 144.66815450085588, 142.82300919919078, 141.90611229652973, 142.22368812239338, 141.94035612309366, 142.55541595821663, 141.88094894039773, 159.7974006100996, 168.95129902497666, 168.98877539285718, 168.91347761002177, 172.8538011760796, 174.22808837527234, 175.813932443822, 176.84818075879244, 176.88884708870214, 179.9980654900405, 181.6333616310302, 183.9915087625272, 166.41651183590102, 160.1320866711796, 161.92177368292874, 161.9054752756769, 162.8235575573452, 162.47221712021474, 164.98008589830377, 171.5380964432773, 173.92854480018676, 171.57649710270775, 176.91957712410522, 174.3979738576097, 174.41418318183943, 173.86460956956117, 173.32032603843763, 170.695302243075, 172.84877432710863, 172.19243166740907, 170.47863648171491, 163.7937490139278, 162.14528540507314, 158.57302960122936, 154.1980400480081, 154.95711188219735, 154.74393307694913, 154.4191206257392, 154.98975096895427, 153.77325897346324, 158.25671799424214, 157.96557047541236, 157.6281935374261, 157.5808535392157, 159.9227045893246, 161.28826762612823, 162.40595261344538, 163.5176274188453, 164.35978889239033, 165.7641400250545, 168.4730487821351, 165.81607542794896, 168.39708559282604, 172.12258617934953, 172.3252870150171, 172.454429617258, 175.52790851525054, 175.9169380348584, 176.6632742324152, 182.5537862082944, 183.97811941285408, 185.3281298405592, 185.35715925490197, 184.73492012013693, 183.02345694102084, 180.9667398002645, 182.55720295035795, 183.97201909181453, 181.98723138896668, 183.50820539176783, 184.20940749237477, 180.68220698474943, 182.28466041051976, 182.7561306346872, 200.64156442156863, 218.8051542429194, 243.90130929209465, 261.02665159360413, 276.00888891013074, 290.6667279220355, 303.56476644561155, 314.82908066487704, 327.2382672895269, 339.19324849214127, 354.8493389817149, 368.10819174712105, 365.4159521397448, 358.7163693894335, 357.0773891920324, 358.4049538218176, 359.895695003268, 361.92464730563336, 364.7231301548397, 368.5626312619826, 370.5978511202926, 371.43261603104577, 370.0599565816215, 371.6789407668846, 358.81688866487707, 342.16291001221595, 327.80120469405534, 311.0038383389356, 296.65585673552755, 280.8171812416744, 267.4934384736228, 251.93892598459385, 241.0909857023031, 227.27883259998447, 212.255827679972, 197.9719325094149, 196.19005132166205, 192.92350758176872, 192.94867467009024, 193.4975160986617, 192.28065618448488, 190.90245250863683, 187.4600771990352, 184.72238397447867, 189.3096275368814, 189.8837561736695, 189.41514770245425, 189.0903151532835, 188.78781830882352, 187.56073762628384, 188.71283039822595, 188.14160318915344, 186.9662356144569, 186.73607677910053, 185.9897660439472, 182.6400956553844, 174.27729188998728, 172.28405497447866, 170.37988426314968, 168.40381363655462, 169.96576175876191, 170.7671286028841, 168.8753894319172, 170.47998639386864, 171.89235579964208, 171.57945804217243, 174.84902593650796, 178.35178386655772, 180.10078586609086, 181.36845927567697, 184.8392478948134, 186.4458737780112, 183.7687006642546, 179.6556557358388, 183.8440618257593, 185.8229683243853, 188.6718124341737, 189.4668792713196, 187.1816410785092, 185.0122326619203, 185.39985027318707, 185.6749872920168, 184.574904351774, 186.013592459695, 186.27761662332716, 185.1804905166511, 186.77484816939, 183.54172069744007, 181.27494044078745, 181.39432333784623, 180.53486697634608, 178.50463674284157, 178.92297919374414, 179.12133033076566, 176.91184428446934, 174.5527006014628, 174.37625812363837, 171.5979184597728, 173.5855971581077, 175.26402709975102, 173.06174995953936, 170.9762957411875, 169.60623165577343, 166.8940280691721, 165.94085198241518, 170.53218369133208, 171.05621020121382, 171.1465523706816, 169.7861047342826, 168.1484278760822, 166.7879783860878, 163.35686833302208, 164.61494299469732, 167.8993730717398, 171.91753383333335, 176.1572071947557, 178.8820594940087, 177.70355487145972, 179.43671183893554, 181.2211099467009, 183.00833992086837, 183.25458712402735, 186.5772433611111, 187.80304043874887, 188.80275593868657, 187.98686785885465, 185.2172200570339, 181.7887363856209, 179.04308254722997, 175.44886107033923, 178.7632410465297, 176.5175134159664, 174.08486997004357, 171.70775882913165, 170.516838164488, 168.63121605539996, 167.51057671218487, 170.9162862559913, 169.51945324789787, 166.91568112387176, 164.45507730711174, 162.30440518744163, 152.3271789558411, 151.07370228943714, 149.52574711124325, 145.3044602690076, 146.56694631109892, 145.87874249916354, 143.64333204412628, 138.06412563764394, 138.55250269973544, 139.23350428882662, 140.7473281239496, 140.91472752536572, 143.2279579033992, 143.92866708429912, 144.86481254968575, 144.7950586928381, 149.8907139293163, 150.8060916528167, 150.7005338879552, 147.53796215250546, 145.1926761800498, 142.59723808320365, 141.41616019467403, 140.15709582840617, 138.92519977392385, 137.55904501916493, 136.18435013415643, 132.5541682648671, 130.51487668308434, 130.2566399607843, 131.16744522027702, 132.84241673918456, 134.36605439355742, 135.6616140201525, 140.68039303516963, 140.9611695967943, 140.6425303934018, 140.1446006634765, 139.34270290802988, 136.50648490873016, 134.0830769589169, 132.25062842919388, 130.5931024118425, 127.80093289433552, 126.16642150326796, 123.76747243129472, 118.75796537387178, 118.95419422175536, 119.604252573296, 119.85321437099284, 120.92253957609712, 121.26214194996886, 125.1497602289916, 126.3423242347041, 126.86185639285716, 129.42871625365703, 131.20111567507, 133.2320348462496, 134.58581989503585, 134.27683987745098, 134.44172312822906, 134.5226980374261, 134.85403906839272, 132.9223628749384, 133.17677451213822, 132.79330343409586, 132.48801521249612, 130.78636810792096, 129.1935776732026, 129.5960992273576, 129.93741159399318, 130.19393696051344, 150.76046664713667, 161.1646866458139, 164.7607701306411, 165.63415587598635, 169.36546426820726, 169.63936813920014, 170.26041322836912, 170.83666936803613, 171.63394329372858, 171.1087679494242, 172.0473486469032, 172.85977217696706, 151.45327086492372, 144.80477907664178, 140.71258135247433, 137.8678138959695, 140.79070192530347, 140.75553868113911, 142.16517561305113, 143.9815594196234, 145.35775633574542, 144.93060805913476, 145.92182186305632, 145.1282863069561, 145.56506913694366, 146.0256401549175, 146.9919749421102, 146.41069357454091, 149.29166558595549, 150.72570054411764, 151.66735052124184, 154.36539917592594, 156.31866999595394, 157.12365706676005, 159.88484153859324, 161.53103696280735, 163.2216221407563, 163.7561782017585, 164.5323185723623, 161.94529323299165, 165.78764429660754, 172.7796721816838, 175.8568383240741, 174.05909911772486, 176.54986793946466, 177.87816381629318, 178.46462565312015, 178.7834981352319, 178.6718470059913, 179.53361509609402, 181.90070442382512, 182.54433309243697, 185.2695719186119, 179.59499168744165, 178.10218010364147, 178.89105316876748], [39.52667935773485, 39.25551941184253, 38.85909264386866, 37.48941247635199, 37.16242120113601, 37.00649428516963, 36.017470291584964, 35.84839196483038, 35.381092646825394, 35.97557484492686, 35.97477132236228, 35.62875580688729, 35.25960304419546, 34.934210822365564, 34.84139545206971, 35.61612303103667, 35.678361335190374, 35.799344119825705, 35.536321171413014, 35.46395679807748, 35.61237030042017, 36.92275076532835, 37.31681421475257, 37.51374246496335, 38.36424427913555, 38.43519920628632, 38.17548630275444, 37.566078822517895, 37.42407376523028, 37.69279710625492, 38.81580182710862, 39.22380147930284, 36.10419076471496, 37.487813548026246, 38.01301185830999, 38.26976523764981, 37.82892945370371, 38.11904158403362, 38.37428172245565, 39.08618233574541, 39.464366110952255, 40.23530066069419, 39.46417912655618, 39.66051493767508, 40.169960536295264, 40.46565680664488, 41.13575089659197, 41.60727092755991, 43.48248639503579, 47.14829043985373, 48.77958123015873, 48.088835636009954, 48.39888775505759, 47.91896692334592, 47.76504802661064, 47.61727217226891, 47.67527149749013, 46.76569612791784, 47.06955052552133, 54.24557761882719, 51.79280655734516, 49.46146443997403, 48.61311550062248, 49.672102590802986, 49.28346221122588, 49.13857543938688, 48.73508087710862, 48.5315535140056, 47.34435663017429, 48.36934223358232, 48.57645105002076, 44.02195863569872, 43.6474461537504, 43.5357983799292, 43.55455159796141, 43.46877932773109, 43.49474068713041, 43.31258439347962, 43.94618118036104, 44.32772942405851, 43.41573108870215, 43.96944750389044, 43.18317199019608, 39.93412842841583, 39.74630391658887, 39.475143707730325, 40.63277389865456, 40.45959462892935, 40.122233358465614, 40.329177589283766, 39.61267584948971, 39.3942567023609, 37.92930976349559, 40.62167248327109, 40.88130200658304, 40.89337740457714, 40.42131813562091, 39.08969050801432, 38.404018311201895, 38.80035823506069, 38.77454339219773, 38.44001041845627, 38.59945255454405, 38.44723293845316, 38.611760840119, 41.344814077808905, 46.483521077981415, 47.5641752655083, 49.848624473290606, 49.939416053137, 51.32109996675699, 52.17300451395697, 52.1377922984134, 53.34834821589616, 53.11736980808314, 53.42862599756605, 52.72766189302777, 45.389645971450165, 43.116706363138725, 42.412194315592906, 40.12682381444539, 47.44640216511048, 45.24641961959228, 44.5417233309278, 44.98056810309679, 48.73194609975101, 49.75587961142234, 50.017532003345785, 49.26920751509492, 50.68233287141302, 51.10355398304804, 51.55644495417055, 52.06739306887126, 44.95452368508533, 45.20674429954159, 47.689457737299, 47.51642713612732, 43.08068244109866, 42.74234113457764, 42.49742476999689, 41.18746618028453, 41.69673523039216, 41.6599760645814, 41.425289294740125, 42.09406136227824, 43.03357142196222, 42.14410002042095, 42.310881676237166, 43.48890100971316, 47.50447364729225, 48.1740988786181, 55.596571809948536, 55.75068855835667, 57.80746812745098, 58.16528869265484, 57.60330709710682, 56.28578114052287, 54.611236979223534, 54.43400656528166, 53.49846083107688, 52.276240419856826, 47.75934184027455, 47.38745105379426, 40.97525039145658, 39.39824782244138, 41.3442402275813, 42.61751189021164, 43.92112336892768, 44.9297627395736, 46.092033665004536, 45.99410683076564, 46.06862396716465, 47.421730953625904, 48.02989902403906, 47.4839750057209, 46.27275696001596, 44.81986978039516, 42.86013090857454, 42.2978330131497, 42.15528952902272, 42.28803616511048, 41.34261372253347, 39.0687566302521, 39.08060748320625, 37.2670918969032, 36.41335926015407, 35.930873137177095, 36.27570726486151, 34.35758598667871, 34.81429838017429, 34.48232002326487, 34.25850072323374, 34.42332331654348, 35.78139886904762, 37.13558196008403, 37.531396285059415, 38.921887301696245, 39.11621277170481, 39.37139881535948, 38.65842086904762, 38.775900927913305, 38.74528208037659, 38.117865941795706, 37.01080568067812, 35.24730073747277, 33.17133888275441, 31.40055636391224, 30.743817085823217, 29.25114469413321, 28.896802834417475, 28.44083347509727, 28.204265056411455, 28.233476409853854, 28.811107234126982, 29.733584372159974, 30.34475866682229, 31.03946452801121, 31.670113865851626, 34.63495830345472, 34.35583332361334, 35.42462469973545, 36.09469231605976, 36.67674659172568, 36.93628012729537, 36.99794909767737, 36.41495617577031, 36.63154613748833, 36.94162092770256, 36.999122966542174, 37.380231865624026, 35.07422723272124, 35.88511706646178, 35.27517520121382, 34.8256350331466, 34.5272525943822, 34.629829611733584, 33.533446139439434, 33.87473931271397, 33.68565829225023, 33.07250920143431, 32.57635100194522, 32.067270612464995, 32.16529989729422, 31.334487639978214, 31.41635975787881, 31.653894848576748, 31.740694319861376, 31.78659820603797, 30.7791021014667, 31.662302075759936, 31.765321392001248, 31.935996249221912, 32.43049222719486, 32.54355662224431, 32.336745361068324, 33.008465948957365, 32.74198829870837, 32.16473532765328, 31.610283724245253, 30.941791735449737, 30.13383360247432, 30.76019213227513, 30.90656506652661, 32.62803873890835, 32.99517416542172, 32.56815988694367, 32.38581646802054, 31.348180786137707, 31.21030025560225, 30.97864753913788, 30.72747539441332, 30.772436213946605, 29.060359779264694, 29.888366658636787, 30.360911621304083, 29.23188489363523, 28.56923978361541, 28.871079468626807, 28.971301242063493, 29.971530021786496, 30.095626589528223, 30.56213971218488, 31.121899232242075, 31.44023285698724, 31.76679452749144, 31.58095094747899, 31.404812651882978, 30.536917455182078, 30.134440683308046, 29.68377576704015, 29.39656045882677, 28.325012340258333, 28.20641286764706, 28.220044976890755, 27.78779697012138, 27.519367844460007, 26.47163960279668, 27.361726088779957, 27.958824285014007, 27.956678861500155, 29.56060324836601, 29.9993874134765, 30.28082542437433, 31.22935952995643, 31.01445510154061, 30.684525336056648, 30.82625974393091, 30.822352160441955, 30.016957103417138, 30.868700572990637, 30.75528623926237, 30.635230279567388, 29.196119229225022, 28.88839459990663, 28.70481612830105, 27.46215529154995, 27.492803824646447, 27.73212014386866, 29.50713237169312, 29.770033690152644, 28.65001732796452, 29.12283941105924, 29.98224196329131, 30.60104492374728, 31.09973089553183, 31.540608456816063, 32.11463058644569, 34.85778749867725, 36.83558427600569, 38.859648523028845, 39.5063669135687, 40.95945587021476, 41.200774312091504, 42.571553857531896, 43.809124763166565, 44.749141569561154, 47.67449020245876, 52.75223695066915, 55.18971398568316, 53.82288937784004, 52.38718417507003, 50.72739423233738, 48.75825724770659, 47.59159955220978, 45.6232971906318, 46.0105265507314, 45.688630531123565, 44.23925273980704, 39.74173255571117, 35.80508009842826, 33.57355229380641, 33.398780837846246, 33.06194499085163, 32.947093105353254, 32.86143511996578, 32.68512763204171, 31.690224830220977, 32.51390150060626, 32.17686914192343, 34.87563996350762, 34.80944687457205, 34.47998133176289, 34.51610649245254, 33.48031743954249, 33.44200484414878, 33.47028450816475, 33.56275418604108, 33.50687181847183, 32.33434216004007, 33.207285424447555, 33.252464906784944, 30.468019681528165, 30.35450583473389, 30.31814311476813, 30.179438574618743, 31.010145241557087, 31.311962244631182, 31.360752603096792, 31.32878300131303, 31.45778185333023, 30.560735639586717, 32.31126353524743, 33.512464991285405, 33.85691185830999, 34.07881200809212, 34.19518459192538, 34.2010561091659, 34.382390508870216, 34.16715703906007, 33.88749517685964, 33.61974509640264, 33.41149131585486, 33.13147253181856, 37.33690790763176, 40.29860829995332, 40.19246683193278, 40.35347971935376, 40.07778895144725, 39.73747346230115, 39.08394366392909, 38.69566859835045, 38.608649178172016, 38.19123125210993, 37.82007800902584, 36.86617697909406, 28.58260346029806, 28.44028976711796, 28.48851633719461, 28.1054018925096, 28.207507859710557, 28.27223009228136, 27.595467532057263, 27.9258411162465, 28.054174481948337, 28.327447204163427, 28.51145718617336, 27.28415619705322, 28.16103482485216, 28.191513243775287, 29.521903642468104, 29.39431910216309, 29.241063224147997, 30.28107938725232, 31.14861045066916, 30.96270470175848, 30.66855643145036, 30.63281872657952, 30.56170995845005, 30.614349476438814, 30.31630538336445, 30.860320855197635, 29.490110683629005, 29.503497951369443, 28.598551127139743, 28.069253662464988, 27.585625745020227, 27.60637321623093, 31.61630180174292, 32.32497090670713, 40.02114068790849, 39.92610759648304, 39.87643905407718, 40.61424071553066, 40.34167792460318, 40.51195575739185, 41.84036855820106, 43.45176133307008, 45.6912543170784, 46.904599631435, 44.4072595889064, 45.1334660771162, 38.87100232128342, 40.372132833087015, 41.55619146693122, 42.125328311157794, 43.393331435340805, 44.20478328727046, 43.83298729699658, 43.20909591378774, 41.820706202925614, 41.86411736375661, 41.16485842577031, 39.82823778061354, 38.56403010073012, 36.12602788881108, 35.93347655479109, 35.09550859763462, 34.0386290104264, 33.71203910621759, 34.1093316704015, 34.362002804709384, 34.75356169817928, 33.398015144880176, 33.2290800164287, 33.6532608029744, 34.29305475762004, 33.24709082335704, 33.84417234414877, 33.77539436647992, 33.804825008558986, 32.97356040164954, 31.716768318238408, 30.621310836445687, 29.283229251167132, 29.059116015795205, 28.96580384344849, 28.860903854497355, 28.068492394771248, 28.13440505010661, 28.024501187363835, 28.724171807812017, 28.59089942592593, 28.43009636943666, 28.22750786321195, 28.177507850248347, 28.851478387488328, 29.197285814476363, 28.44100679092748, 28.18338031640017, 28.541168071470075, 28.76632922290113, 28.74812876509362, 28.840495700280115, 28.945008064114536, 29.39646433294429, 29.819634824540927, 30.15494070697168, 29.481097935488048, 29.71950610558668, 30.301119561780272, 30.046438644802368, 29.6332409754902, 29.49382419172113, 28.09266405972871, 28.1560557002023, 27.968667413003168, 27.814164868871902, 27.6182637875817, 27.14789484998444, 27.746751222222223, 27.824213887332714, 27.71763608014317, 27.94721365110489, 28.27167452949865, 28.447507902198684, 28.817774351229374, 29.382907098775807, 29.48456467884182, 29.54020373537193, 29.835286100373487, 30.074396557656392, 29.213712560068476, 28.942682901676783, 28.748791628229068, 28.570626320340548, 28.492598387015, 27.61232539076993, 28.407092029800808, 28.39869834298164, 28.09997259430439, 27.923191484322277, 27.833406008792405, 28.271914702898385, 29.74469315717398, 30.31973067094616, 30.60562682633054, 31.03913555921258, 31.23200895385932, 30.81296310098236, 32.95655828003424, 34.17889841907875, 34.52250963064115, 34.546398530511475, 34.151573224097014, 33.94889835047204, 33.24414464347961, 33.24971726898538, 33.46570004341737, 33.799154576728014, 34.079747593059444, 32.56433801937441, 31.835544853096792, 31.51872460870423, 31.55242447735242, 31.60696957695301, 31.801675537293164, 31.407015225334572, 31.17355840428338, 30.81750836212263, 30.180042660908807, 29.34392917164644, 28.63122845992842, 27.310047394732308, 27.72454579582944, 27.59436088383131, 27.570294797152197, 27.436685715997505, 27.36167429217243, 27.45111876003735, 27.00822154081337, 27.39221296405229, 27.88566835729848, 28.299522038982268, 29.4025078706038, 31.281226915480925, 31.838871070494864, 32.4059795532991, 32.706398009726115, 33.08315113328665, 33.85334275194523, 34.472446336246634, 35.09884472139745, 34.64639852248678, 34.24667621055089, 34.031953928009266, 31.49641794458839, 30.1149097429972, 30.62503628275755, 30.961119706037977, 31.10240594654528, 30.95204566145347, 30.42396457228447, 30.104230781279185, 29.499531809835045, 30.03534216063908, 30.336894189386864, 31.835564426159355, 31.842566695689403, 31.22822185815437, 33.0709393119696, 34.19693006274454, 34.83973193199502, 35.082126728613574, 35.923798221022146, 36.85473249066293, 37.957997976623744, 37.752391199112985, 37.57778824644426, 37.06834367732909, 37.89278806707127, 37.14938995747973, 37.35318468417366, 37.7752502903946, 37.0691807648615, 38.97470233597884, 42.6500509326175, 43.93894462708592, 43.51973437130408, 44.200567897992535, 45.467678132664176, 45.75287430649647, 46.171348040397866, 45.111879788365016, 45.48383617250233, 44.58166464934187, 44.71916747424525, 41.4073930664488, 37.62021108520074, 35.36047635037348, 35.324342256302515, 34.79909274548708, 34.897599910441954, 34.708428242170484, 34.57329023590129, 34.16182217801381, 36.064663424291936, 36.9663009142546, 39.89502948677249, 40.16036571319639, 40.91513484718332, 41.63033580874572, 40.55306890545311, 40.21317060262994, 38.8755114020386, 37.98090199547271, 36.68425998827679, 34.08250871978692, 33.52293748358232, 32.66637164799253, 29.17312418331777, 28.613315284504363, 27.56695454302832, 27.086426567215877, 27.642710733737943, 27.17406451711796, 26.73340587177093, 26.130653673630565, 25.96859693121693, 25.81453376058201, 26.143065563881105, 26.16540644623405, 26.06129324587613, 25.969183004103776, 26.15306284718332, 26.241368498132587, 27.2082824572051, 27.970924953043628, 28.55778574883287, 29.115563680827886, 29.60945270837224, 30.09806389770348, 35.54676554084967, 39.55334884072518, 39.69167774470899, 39.983066723622784, 39.74990820518208, 39.48163286963658, 38.65055681333645, 38.33158615359478, 37.93761546047308, 37.6821926368704, 37.30239561367881, 36.137643590171706, 27.229323641534396, 27.042304206427016, 26.85472971483428, 26.584729642934956, 26.74274264153439, 26.791734562713973, 25.87722936826953, 25.93221777046374, 26.08915723646125, 25.9814379562714, 25.885284994553377, 25.71611206870526, 25.65416066409897, 26.13090114083412, 26.73962898179272, 26.964174157018363, 27.53028545845005, 27.66323102513228, 28.979069697310408, 29.29473039152596, 29.56611906252529, 29.68473050816993, 29.639008802598823, 29.80336445231676, 29.32497745557112, 29.502052771708684, 29.08110741122005, 28.9008242110132, 28.74322203327475, 28.752440075214626, 27.77619802591036, 27.313639460706504, 30.152786122938064, 30.04226724548709, 36.47387295689713, 36.240556455493305, 35.98832494032057, 35.57169242468098, 35.32806541106442, 35.218443364678016, 35.986676709895995, 36.01723002878929, 37.042365432150646, 37.53973709041395, 34.67417633937521, 35.04973196146044, 29.00752442966076, 29.438574629637465, 29.745866684173667, 30.440636107843144, 30.646301460473083, 30.818012333566763, 29.76477441223156, 29.626257087535016, 28.53705725731404, 28.373413164176775, 28.157824870098366, 28.05859516565516, 27.97957578485839, 26.8306237464986, 27.43269441223156, 28.436674592205502, 28.260231933629008, 28.15996348257081, 27.996674472144413, 29.46154853214934, 30.240048093292877, 30.00043549019608, 29.9322305642734, 29.605425454481797, 30.126242885908617, 29.099944572919284, 29.71478130489029, 29.30275305750078, 29.33685458224401, 29.97723058597884, 30.32495693471833, 30.31415382290693, 30.139480859943976, 30.5202182831505, 31.349175405073144, 32.135564526610644, 31.58223102023681, 31.706698086212263, 38.27724892514784, 38.17701548117024, 38.17826460318435, 37.35223263126362, 36.89439123708373, 35.99155273194834, 36.21127488538749, 36.12825679225024, 35.8605907359568, 35.42639877489885, 35.48690275560224, 35.2232874064737, 29.24490997292834, 29.49639710566449, 29.68598397183317, 30.14278619540085, 30.2266751065982, 30.596194100529104, 30.09303560674149, 30.304256362748998, 30.300316114399195, 30.473404646436357, 30.500472770303592, 31.21552897427724, 30.47589264791472, 31.25646502159737, 31.537130380549076, 31.783967753968252, 32.24139788849985, 32.0780877654522, 32.65469837223779, 32.31656095253658, 32.10551289106754, 31.90339333963585, 32.02233800645814, 30.878123057684046, 32.774470884687204, 32.59293363135051, 32.2617384094285, 32.01375493004461, 32.0016288881108, 32.579731319872394, 31.975286691312, 32.378456260971056, 32.87460508411142, 34.87552302591037, 35.49194943075008, 35.884918449272405, 35.1478090148615, 35.93680270524498, 37.776177492704775, 37.7179608540305, 37.9641772552132, 37.74191994234361, 38.62746405018675, 38.74584413071896, 38.03167206548852, 36.37542069864613, 36.03973225490196, 35.502871834186635, 36.2724911612272, 35.281163470468925, 35.55077539441332, 36.45962706240274, 36.39567285364146, 36.92251026984127, 36.614454643027685, 36.850288055088704, 37.71417719125429, 38.33425902956738, 38.52097678431373, 36.82182195525988, 37.4741486083288, 37.85084388180828, 37.89494924081856, 37.44155070300343, 37.58582511951447, 37.51162341140941, 38.24379613359788, 38.08529505096482, 37.72901334578276, 37.0510043820417, 38.06578057298475, 36.941389746965456, 37.51871907314037, 37.21965524642079, 36.77642633948352, 36.72476501213819, 36.78667892491442, 36.87949849283705, 35.95398241013072, 36.0341670611578, 36.30256581559291, 35.832356376329884, 36.07707529232805, 36.86195457749766, 42.97949906362628, 46.29126153431373, 46.60284644300175, 46.87690351050421, 46.9838272788671, 47.25185455283225, 48.253460925225646, 48.35472143160598, 48.114625629240585, 47.91189243230626, 47.78785863997821, 47.09780435256381, 40.06995668207283, 39.686955506925, 39.02348892460317, 38.406823886476815, 37.93110765398382, 37.61189623261166, 37.444501541939005, 38.03293511842515, 39.1236220187928, 40.14504331302522, 41.61376477614378, 39.32018291860411, 42.30843017390289, 44.04473451602863, 44.73852319817928, 45.4233454861993, 45.47480927723312, 44.92774597082166, 45.15276197665734, 43.815054065904135, 44.294456802443214, 43.00115609328314, 41.80721270907252, 40.32809544788714, 40.539613789327866, 40.3213413994709, 39.91221931878307, 41.49584490834112, 45.9058484398427, 48.768619081543726, 48.69837489347962, 50.09029578123574, 49.97789908789399, 50.21580018067227, 50.31398148953665, 49.97721941224292, 48.174774531201365, 48.5990027227669, 55.76143936941397, 53.716220038904446, 51.70538449089636, 50.03564154277933, 51.14094247562248, 52.16739884033613, 52.40750496471237, 52.35048379474012, 52.09100126097106, 50.98947337536506, 52.27549813952061, 51.845987461640206, 47.79512442591944, 47.00236508450046, 45.4588217823685, 44.7740851739807, 42.509246904606286, 41.17858015483971, 40.5967383793184, 40.83230324214131, 41.53917824431996, 41.24523936165577, 42.17783477412076, 42.23227340437286, 39.55839530672269, 40.03283021661998, 43.00323769654529, 45.6738126708664, 47.88806891485243, 48.064492540849685, 49.2227526974816, 50.26806253937131, 51.26553655392158, 50.63238046903206, 54.113401041525314, 53.92221348179271, 54.15887129512917, 53.40190968909074, 50.93872660262994, 48.28631766806723, 48.07556894747899, 47.68167917647058, 47.35302749254591, 46.53113230018674, 44.99305076423903, 42.195184931207855, 46.58736997177106, 51.27124391783381, 51.048865722540654, 51.66374882250365, 52.96775755057578, 53.04294519911297, 53.800901725645815, 53.799960294095605, 54.39631697689076, 55.26278549852942, 55.06782114164528, 54.494480804741805, 47.14424306427988, 45.905073142079054, 46.82184249092035, 47.94681977174953, 47.11022736788049, 46.5541253985372, 45.52475307586368, 44.916082222300034, 47.54798684663865, 47.5267496048864, 48.80447665437286, 48.37737956240274, 50.04237600427949, 51.22370443837535, 49.53694984633131, 48.51136717009027, 47.26449001704016, 47.023012351229376, 47.526333087535015, 48.17640233263305, 42.37000012083722, 41.0088243907563, 39.191769272005466, 36.65856124050731, 35.899463776844065, 36.11624173366013, 36.66049772839119, 37.730220606676006, 40.688199672813575, 41.93573462270464, 43.14656429419546, 43.32195653765952, 46.695977033924684, 47.00408427450981, 53.72547480276311, 52.94135107211329, 52.734217101385, 52.39190954940865, 51.47804392016807, 49.90262253451083, 47.63578488834423, 45.620100831310296, 44.43585229898395, 43.44791101805166, 39.99749830721159, 40.97663794480525, 35.67796484438488, 35.651397154839714, 38.63406998093682, 39.54240581613757, 39.40890451423903, 39.49084435911402, 39.65938027186431, 38.94483555571118, 37.97510627980081, 37.67778829131653, 38.48096283955312, 37.24615078345784, 35.61375673775807, 33.275318236318235, 31.234200257391844, 30.633581918943232, 30.607573736335446, 30.49509497610115, 29.640008350823564, 29.92936131157949, 30.81782349920567, 31.31078115821195, 30.47214860071261, 31.30575312719659, 32.28528667520222, 32.508757743476, 32.69064251301071, 32.99666184353113, 32.789978667366945, 32.66528688764395, 32.87268646358544, 32.91904485629604, 31.853341834733893, 31.404789045518207, 31.48086517896048, 31.121117423825083, 30.038063916122, 28.73246533604295, 29.40863957825241, 29.674527321895425, 29.986590989324625, 30.06654408162154, 30.492725334498527, 31.068327971735272, 33.04113422952265, 33.779283227824465, 33.78157068308434, 33.30723133312391, 33.69922029699657, 34.19583445059135, 34.508415905829885, 35.6963187366856, 35.45595059142546, 35.785565517584814, 35.579584738951134, 35.15748166604616, 33.343336274276375, 32.88569276470589, 33.105564789060075, 33.18567916998332, 32.996708171490816, 32.32772742417069, 30.096154157952068, 29.823894599256324, 29.488619331608568, 29.751712021708688, 31.2227115349362, 32.11352178415876, 33.759262014861505, 34.114315546238764, 34.43214722338936, 34.393825591192034, 34.44480642685963, 35.208396626782324, 35.67355599354186, 36.02662737177093, 36.21628683193278, 35.29823605951732, 33.24612036453471, 31.809973832088392, 29.584893787637466, 28.68788844763461, 28.136625413086804, 28.31916489896579, 28.55681449175226, 27.448840589480238, 28.40943098996265, 28.815495586912544, 30.56167519412153, 30.96156768323997, 31.46469124525365, 32.00500893495176, 33.789189997510114, 34.43471753446935, 34.78574924906629, 35.03967568215064, 35.21571449011827, 34.4196181276066, 35.19460411585745, 34.55917695767195, 34.16889842250233, 34.18559980267663, 34.19982477069717, 34.72189800248989, 33.954922895113604, 34.12073525078005, 34.16075406676004, 34.18725734329287, 35.9892884200118, 35.807183648381574, 37.767017817538125, 38.65334411577964, 39.0439300899471, 39.69748537986307, 40.0648566254915, 39.93400966433176, 41.22864114169001, 41.38977771311858, 44.76293931214728, 48.983098884220354, 48.57503416915655, 46.99524801540616, 47.02835955656707, 46.99174975575786, 47.28113353618113, 47.47406037037037, 47.97362448961447, 47.82702671483037, 46.99239340132016, 47.13279287612824, 41.63285593028322, 38.56926581516432, 38.36948773661687, 37.70901368934084, 38.21374512029256, 38.09203667499222, 37.175012626984135, 36.06908315681412, 35.354351188168735, 34.58269603127918, 35.06846412208217, 34.365576227677934, 33.97949555688158, 33.9962601904548, 34.33879544029724, 35.602148217086835, 36.88152486243386, 37.75528831784936, 38.64973298093682, 39.50658873552754, 39.73634625056156, 40.10603822953626, 40.51048978284963, 41.16806701190477, 43.05970608718104, 45.13472754605379, 46.01165557197324, 43.227475418456265, 44.11239373615001, 44.0407100638033, 44.20033393782551, 43.90744682648615, 43.823758298630565, 43.556551291939, 43.54112324797698, 43.50551587697312, 42.90285934492688, 42.20730979676315, 41.84820442273576, 40.93213253431372, 42.59353240709617, 43.943606433706826, 44.48728083963585, 47.15696460122938, 51.64686300513215, 54.52753124953315, 53.99022217958294, 54.2240106114204, 54.20016175497977, 54.812570693043895, 53.74594631605976, 52.47664380298786, 52.25583421428571, 50.8064888565982, 56.91029113974479, 53.18378462745098, 49.49944286302781, 47.414819062402735, 48.21056898008092, 48.125864085745405, 47.607601223379625, 45.91498206886088, 47.18449961546841, 46.09131713958917, 47.76690810099596, 48.90447428127918, 45.56306826314971, 46.13406732319613, 46.43203438639901, 47.62792391596639, 47.16308017748211, 47.28021620946157, 47.80612445284781, 48.73027016051977, 49.554665778867104, 49.79377138694366, 51.87818730586096, 53.32557041441021, 51.18451640227202, 52.21922543215064, 52.52635204217242, 51.71937933932462, 52.28673882041706, 52.45682501906318, 51.41634211873639, 50.19027463414255, 48.69209237600892, 45.650783611531935, 46.048186635543104, 44.1180581923436, 42.61758546109555, 41.00390218993153, 40.126705451213816, 39.10554771483037, 39.03607962605042, 37.92600024038608, 37.80056608846872, 36.988485706271405, 36.69300941246499, 36.31233197429701, 38.33893871397448, 43.71241852785559, 44.2371919457672, 45.182157507774406, 46.381398994553386, 46.689648157407404, 47.98385525254047, 48.75853110144532, 50.63362525007781, 51.58774979886399, 52.215014565745285, 52.160428166647215, 46.64508504652713, 45.04735149048411, 45.08414571381886, 44.95963614721444, 43.990291449191496, 43.01633105913477, 41.78025224509804, 41.11857067305484, 43.86883308076564, 43.57877420261438, 42.70316955297231, 41.14370495533769, 41.5876032491441, 41.02109838990041, 40.80499235091816, 40.00626688857765, 40.324051333955815, 39.970052572362285, 40.689504637254906, 41.1430475900113, 37.38820806753812, 37.581989480954974, 37.97937738888889, 36.8893054388422, 36.69211766487706, 36.88746775233427, 37.0125382980859, 36.92658290157174, 36.13739304559601, 36.06039452194211, 35.66901526481741, 35.31246502085279, 38.24622403042328, 37.4839380900491, 38.65522948123826, 37.20644994786481, 38.44507477201992, 39.32930952131964, 39.14389974502023, 39.26563583837406, 38.96642526011516, 38.33714568946468, 39.32377091775145, 39.36121957651664, 35.83684651517274, 35.81843829192205, 34.25609262816165, 34.96157575139648, 35.89645504505135, 35.10477339544689, 35.087759007750414, 35.22718002040153, 36.10227858862434, 36.895684480501785, 36.30543714316838, 36.78832191756148, 37.36513612021476, 38.50418172689077, 39.22234022358322, 38.44717335269807, 45.700759494319946, 46.50833169763461, 48.06618984881731, 48.07136702207572, 48.78586300700281, 48.74297084679427, 49.64962376742919, 49.58010694327732, 49.76864589737006, 49.53547104333956, 50.286491836834735, 50.11224741664174, 43.24840619880174, 42.09278749992219, 41.822548415032685, 41.7168973784625, 41.3621678828976, 40.9174477875817, 39.664373773187066, 39.27457602855587, 38.56083673242838, 38.45771555882353, 37.214986520074696, 35.44830651387672, 36.26122874704326, 36.5143166425524, 36.136260862667285, 36.03223606347623, 35.19176459119203, 35.04886075062248, 35.88438612480548, 35.645754330298786, 35.38075669720337, 34.76725261469032, 34.97056529911234, 35.683090832839774, 36.00993098918456, 36.10453383605665, 36.50734146887644, 37.16789987317149, 37.6133106000021, 38.05243059982882, 37.40001659930137, 38.07771213853388, 38.78723303376906, 39.5242332072278, 39.28414939052288, 36.98119383403686, 37.483530237784, 37.41850456621538, 36.931898206504826, 36.39046934484905, 38.083721676958255, 42.14422916359322, 45.62452880705079, 45.92285751766262, 48.84774900949269, 48.733925486150014, 49.1901117421413, 48.62667927933396, 50.10767635760971, 50.26710038787738, 49.89226478971791, 49.83641661609089, 47.913939135076255, 43.65932058714598, 40.04696660434173, 39.43961583520075, 36.131489977513226, 35.91452850832556, 35.781935467935604, 34.489286783364456, 35.12908370277, 35.61565392320262, 37.6329117191008, 38.0075078400249, 38.09100842825558, 38.456585539325154, 39.51762020852786, 39.1678909833489, 38.95917279352155, 38.59483272222223, 38.45895360340276, 38.09083201766262, 39.08645263328665, 38.08572910799875, 37.59704556520386, 37.61528562955182, 37.56700621926549, 37.77874248039216, 36.85739792366947, 37.08869791946778, 36.92113898908311, 37.34255237986305, 38.046112361045175, 37.71430397437516, 38.70212287520368, 39.245428649859946, 39.415974119984725, 39.25596329474012, 40.193028895496816, 40.3250325544326, 41.65081966118, 42.2138419746343, 42.80644320081627, 43.220041570395495, 44.13829850980392, 42.461739218575495, 43.51147615916719, 43.59199119440944, 44.06839160605353, 44.577761678882666, 43.90022390826331, 43.46517066343248, 42.26436471265173, 42.243689613134144, 42.25437657002802, 41.960579313608775, 41.89861544490935, 40.6483547610554, 41.42407408488951, 41.88289447642391, 41.85101536243386, 42.216972159180166, 42.93033146783642, 43.23710095564893, 44.74409736702459, 44.630439737096914, 44.44072388920012, 43.791991245409285, 43.26640030617803, 44.22586641980302, 45.04639409829044, 44.92072140110489, 44.79079619545597, 44.32340095409275, 43.35407555220977, 42.64290783955805, 41.17063645765509, 41.14601683667912, 41.25976955306568, 42.67489691376569, 43.57981428991013, 40.890495644491125, 42.892012673364775, 43.31542696138344, 43.12741314314051, 43.28166679660754, 44.22198695339247, 45.41679350731403, 47.61678090607411, 47.684300846327424, 48.44803117200504, 46.30456549990998, 46.63817072128851, 45.4000633208839, 46.71581065974167, 47.92565059399316, 49.68576279419546, 52.20329384897292, 56.07984953688142, 57.796245579831925, 55.95324121156241, 56.062865435834254, 55.80265293253968, 56.64023666884532, 56.56129197752945, 54.70517567857143, 56.24515984722006, 55.4898978009791, 60.5065154466231, 56.7034508417367, 53.34616768339558, 53.050781914488034, 56.12594209920636, 56.14500078330221, 56.31223792156864, 56.092986244631184, 55.98322748590942, 54.60555599408652, 54.93165775756886, 55.38265262659508, 51.74284558380018, 51.64020787784003, 50.68788503548086, 48.65982890343915, 44.97253080703393, 44.37661812566137, 43.24954245743852, 42.3806906669779, 41.39811339013384, 40.23756801859633, 40.15999092149081, 39.35246120082478, 38.4762398942577, 38.61722775233426, 38.89064542156863, 39.00458336422346, 40.69148369914671, 41.52092372883598, 42.15554363764395, 43.03803720323685, 43.94287845023278, 43.62137090483972, 46.88755470292561, 47.91077638045377, 46.54837403641458, 46.32251057142858, 46.18216730913088, 45.717229856133294, 44.759466378618114, 43.99821689534703, 43.29450514561224, 42.13909660550888, 40.94011637557903, 38.15459231206363, 41.04647128638086, 45.70431671967918, 44.51455439690969, 45.65319666744476, 46.11128248117024, 46.28436604380641, 48.23731898996266, 49.056436678368485, 52.465635099562064, 54.01112619638968, 54.27666766137567, 53.87766239222948, 47.92103750077809, 44.60388693221408, 44.9942258093682, 43.880756486830045, 43.25117908527272, 42.33480776882976, 41.13179714067266, 40.6928496949113, 41.88121802178456, 40.64640023093681, 40.9293179493717, 39.86931952287581, 40.91772509902938, 42.16688207968995, 42.00901952075423, 41.84166868505164, 42.702869036025525, 43.52456121926548, 44.68139171593932, 44.2968934719888, 39.98629922953626, 40.35821823504762, 40.83150503672581, 40.46123538087457, 42.37554020300342, 41.50408826182565, 41.3536226468254, 41.81452354512917, 41.1618575725179, 40.12343062152908, 38.87548206931023, 38.75859572222223, 41.10010481909431, 40.79795198970654, 43.60444465631809, 42.01639902645503, 41.90422082026143, 42.69655928524744, 43.24742552964519, 43.87111820393714, 44.43867461655773, 45.04846507218051, 46.04321513025211, 45.92745415787426, 43.16548221895425, 41.70693338079676, 39.406840914877066, 37.95683563718748, 39.56102565709617, 39.4338899037504, 39.353717501634, 38.355617532368505, 37.59972301097106, 36.70962196066955, 35.44692870300342, 35.42909254800809, 36.40486531917212, 36.11460609632742, 36.08445450272331, 35.3461070690943, 35.181144435530136, 34.98997877774575, 34.286043606131344, 33.868017708179664, 34.83257013437597, 34.66363010690943, 43.25090096444134, 43.36581945440398, 42.58331486469032, 53.26385473747276, 54.38879155220978, 53.7358713030624, 55.41526933761282, 55.79380615798775, 56.212095355438194, 56.8139047359925, 56.8586945218643, 57.14714948373795, 48.35834681746032, 48.0833467490637, 45.28070129186119, 37.720860059134765, 36.72712273115664, 36.307323635134615, 35.66460642265795, 35.94576159648303, 35.75467820611578, 35.18791069156552, 34.127504535014005, 34.296078079209465, 35.528753789215685, 36.22461323786181, 41.05390238562092, 41.53443709856832, 41.85251165600685, 45.56606287348273, 46.985507323607216, 47.68971652969188, 48.46605210714286, 50.288195356676, 50.93531490631809, 52.08640343386244, 52.06193288040773, 52.17722010301899, 48.594308499377526, 48.41479870486175, 48.47306908323414, 41.945169128773735, 42.41501483457827, 41.970865813725496, 41.40887907390096, 40.33751056410351, 39.92377080848182, 39.154064729760606, 39.15005273187053, 38.343558727388086, 36.690479054310615, 36.18917159150327, 36.41960163188609, 35.240957763077084, 36.086872824540926, 36.46797907251789, 36.21151775474634, 35.70263541293183, 35.39537109693762, 34.78445812612823, 33.66589117908692, 33.64348949307501, 33.86906148179271, 33.98078417639278, 33.565268209539376, 32.926994101385, 34.138266282601926, 34.184687132197325, 35.89718757103953, 36.62488157204134, 37.053156844455465, 38.36498704154996, 39.71880658877996, 40.56136726631718, 40.99890030415499, 40.89707696872083, 44.92102792818239, 44.65826892211329, 45.26359338576292, 44.24253856551509, 43.42321153563648, 42.22270519319951, 41.13995982173981, 39.1836681586984, 37.26119123926237, 36.18799944825708, 35.3725306241052, 34.98530585885465, 30.083187054933084, 28.868682200124493, 29.78922144607843, 30.362914342490157, 30.899070232911463, 31.554056417755994, 32.51726396708683, 33.639453803843764, 35.10371706084656, 35.35719914783691, 35.7814595558668, 36.25635692086835, 37.932421546296304, 37.00972068580961, 38.1608874292717, 38.38262006240274, 38.25088105665785, 38.637276952225335, 38.42912311220044, 38.11813589256861, 37.274083635517606, 37.51873100202303, 37.68730025382756, 36.4818917376005, 36.70490005236539, 35.42272486902233, 35.995659019205824, 36.113609098049615, 36.42638471428572, 36.37647107796453, 37.003899202036656, 37.94177501400561, 39.5713718791602, 40.40827656621538, 41.22223371257392, 41.982898926859626, 46.003068382508566, 48.80520671955474, 50.58597733255524, 51.44572794086524, 51.763046443121695, 52.59935378997318, 52.51961988320884, 51.98568379956427, 51.48345939316838, 51.356794094460014, 51.864052212651735, 54.42496335457517, 50.564639732337376, 47.06917052380952, 48.39871785768752, 48.29740994389979, 48.22659528918003, 47.3017581564737, 47.2395739615624, 47.38641118518518, 48.08029114620293, 48.21145850739184, 48.0866800518136, 45.51756203283536, 44.64804105485528, 42.7499763855144, 43.11266447634609, 43.51438251431684, 43.69401487612823, 46.05640100645814, 50.3536499712107, 52.28997897580144, 51.72520239514668, 51.59546395136944, 51.59583749284158, 51.48894936017741, 52.13936324665422, 52.54154790655912, 52.1959395874572, 52.140231203937134, 59.23922479754124, 55.86235627248677, 52.7587007561469, 51.36449294389979, 54.21458502054156, 55.08191969063181, 53.90189619338819, 53.68623061640212, 56.31012539985801, 56.31412576394013, 57.20889243775287, 57.68859419204731, 53.29489551819431, 53.6708478172269, 54.20660469413321, 53.279769987784, 52.12199370829444, 51.447250273576095, 53.00599433061003, 53.95458059335846, 50.26310855042017, 49.30086250478979, 49.587492227836805, 49.21841184593838, 46.120815181216926, 45.12431848521631, 43.40360370681605, 42.09443681707128, 41.30438974004046, 40.38221171623094, 38.594428954898966, 36.566961278555866, 36.86615361850296, 34.87515510985228, 37.54937756481481, 37.53758717258014, 37.52187991563052, 37.86007357314037, 38.6988996633987, 39.10263663873327, 39.97850766409897, 40.067725600373485, 40.604088850333945, 41.38123694742679, 40.67667756015277, 41.29126468172883, 44.76399218720822, 49.65779162875688, 49.99211688258637, 51.07513774328294, 51.54655688766729, 50.94514534141962, 52.27657619581064, 53.304676130485525, 55.719182207438536, 56.32325969779024, 60.1749396992686, 60.24333677201992, 52.58846294911297, 51.20211929116091, 50.86168081522007, 49.64770467932554, 48.77707622609386, 48.11062433841945, 46.87850007633055, 45.7597948610333, 48.565552256535945, 47.65765245685503, 42.61288095899471, 41.02099473207418, 41.7838474535429, 41.86769512608155, 42.11112285115158, 42.139231332452844, 42.12594234469344, 43.11786367102397, 43.91483920736072, 44.16248359765018, 39.79341185558668, 40.54849827194211, 40.88226860706506, 40.37321062566137, 41.37217860955493, 41.59639302240897, 41.63616645650482, 41.73950479771048, 41.647030604884456, 40.47518609648303, 39.4345506828373, 38.74096431881614, 41.52399779746343, 40.97112253221289, 44.40282016635543, 43.89325017359166, 44.95509441363147, 45.13006155501089, 45.03593456948335, 44.85906944662311, 44.970988217475885, 45.06857464774613, 46.0285352360722, 45.97362392072376, 41.63357113414254, 39.46333083247145, 40.470287624102895, 38.95355028672579, 39.33300688878164, 38.64122904340636, 37.89099817410175, 37.56794646467476, 37.156452438686586, 36.66988387457205, 35.211132409997994, 35.46878649680984, 36.030128850257874, 36.46165328213659, 32.10882903477637, 31.11982991457975, 30.92812190515095, 31.64240129931852, 31.99888615522922, 32.20771415311643, 31.986323147599887, 31.94250896046496, 33.06238988700084, 32.89293864103087, 32.99999039777642, 33.064840702941616, 34.5224861052239, 35.27919747300019, 36.01061010529358, 36.644790436877706, 37.064615789215694, 37.33639930967943, 37.85084389036726, 38.01617261290071, 37.518313422657954, 37.57458991401794, 37.62195493783069, 37.95639946545286, 36.77869564500905, 35.244268033613444, 35.13087387659508, 33.28218228431373, 32.53500906139122, 32.16075808675693, 31.68037993495176, 31.528388707671954, 31.98159126539832, 31.5877747377062, 31.018537553376905, 30.21967190694055, 33.59863882191229, 33.05989078407451, 34.927267202500914, 36.962788081154685, 37.19223259033613, 37.08251034554933, 36.97473253361345, 37.13654366143599, 36.401914898842605, 36.68665355080922, 36.89204784000999, 36.96611875630123, 33.156527848817305, 31.56919595098688, 31.80073858287956, 32.68989873280423, 32.585881796509625, 32.44973126945223, 32.47028682874261, 31.980347165032686, 32.52074181419234, 32.22585124587613, 32.016243724816505, 31.367288279956423, 31.423154901104887, 30.87204103042328, 30.85688882059018, 30.60915527746654, 30.72267400645814, 30.86404415313311, 30.67884141316527, 30.60250128244113, 29.44830844008715, 29.57339733239573, 29.584452695144723, 29.781119419259007, 29.662848847027707, 28.384578158885773, 29.540713025210085, 30.049674166900093, 31.21210470868347, 31.136369425614696, 31.42491513569872, 31.463773792483664, 32.59471719732338, 32.50749504925304, 32.86161512007614, 32.860286932306266, 35.85230917577031, 38.51245419712789, 39.82531146685924, 39.19330144327731, 38.92465356683785, 39.1866260104264, 39.63248299463118, 40.57785646560847, 40.37778904754124, 40.508297419701215, 40.409355342905776, 40.461714812356696, 36.089979760659816, 33.09590447813941, 33.565199362356054, 33.76282410862123, 33.65086544979382, 33.231439953003424, 32.94992947097728, 32.07765125505758, 32.12945075770309, 32.25116423963845, 32.79670830096483, 33.460541246887644, 34.867787488075145, 33.95210630798709, 34.596174886321194, 34.67861347393402, 34.70256288681658, 35.03043215188298], [756.3979030798318, 744.3029706693902, 730.6473284400093, 723.0611296733582, 722.1851328819638, 714.7609265106598, 702.7790264705882, 683.9441634560458, 672.0358620825551, 674.0609660729068, 677.7800451516885, 679.2635464632742, 682.807789279723, 685.2804793825085, 689.7967151327421, 683.7788630184239, 676.0698775669156, 672.3643591186586, 672.4433544509027, 675.4675828200442, 676.5115122139744, 680.8615921511049, 677.7654927419151, 676.842075839947, 676.2879514027389, 672.4218956198256, 668.67498478338, 665.846640070806, 666.4971221741362, 675.8058245748522, 677.2545858699394, 672.8737225157173, 669.3227741937442, 684.9071565467167, 695.3134248529411, 698.7540808656241, 702.2590541085656, 706.4581684733893, 704.5068136155463, 702.8586980725179, 700.4124986349983, 689.9772430006225, 691.2145794003236, 697.2208884977434, 695.320073972689, 697.4192368479613, 688.1001537997198, 692.014893637255, 692.0123103777622, 693.8409925284782, 699.760824733738, 712.5978612307813, 726.8348839694211, 737.1607277546685, 747.7295644082633, 743.0021144103966, 738.7001618062558, 733.2390555472704, 740.4645704763461, 748.9494158469498, 754.9695508223622, 772.4803576111111, 795.3799704851385, 817.5889692044818, 810.5577101203237, 812.1496872436975, 810.807364893857, 819.6518335028013, 824.7663900365702, 855.7543177659509, 851.8125080492938, 853.6314525150173, 853.7982831908652, 874.5091958872548, 854.2002543436819, 840.0022579181451, 843.3923052979043, 844.8149972939619, 858.8160674601619, 856.5692364863057, 853.1174491984665, 824.045725139505, 821.9728719383753, 822.061179298989, 826.2387258516184, 800.8467269128643, 804.6018049290383, 804.1882596667439, 808.7635398282756, 812.7516334191566, 801.9475463548569, 804.9193313030659, 806.1936972732648, 812.7435121788048, 833.5308066798164, 837.1395888972924, 832.4826270038127, 826.0554992027701, 820.3341073904204, 824.485052254435, 816.629798620526, 810.8970960592903, 808.139450642468, 805.5578645942227, 798.5624005549331, 790.206784214986, 766.7242158711275, 760.324482642079, 758.3062881625428, 746.785621526844, 756.7117542507002, 751.2071089122315, 750.9882525532045, 748.6580185369592, 778.8528848211952, 816.0171727955961, 838.412794847728, 852.154815357143, 866.8350585327536, 872.3202690540771, 874.3736616304857, 885.2679131979457, 874.1160685329132, 872.1213756946777, 870.728830819093, 871.9047259050731, 840.7743783895157, 818.868946022409, 813.9724146289442, 803.1400550742296, 788.6706259278815, 791.1645125021224, 787.6421413466385, 782.3942514772688, 783.8472510295675, 787.5362605109483, 825.7914113380797, 843.8429520517429, 848.7122255286673, 839.7049524847494, 821.1902779488017, 815.9648760468409, 812.2146233016925, 803.2891793992497, 800.5481764030501, 800.0991422536571, 804.4890395071603, 811.0831221691618, 768.3951566462023, 747.7705070255992, 737.488920295207, 733.6465478070338, 730.9834959074074, 738.2897192732648, 760.3647100444522, 763.0609989366636, 760.364058640445, 751.4723773455493, 737.0449583508941, 723.1328783303767, 741.6089019473234, 745.3327483874104, 740.2451133825086, 754.6719201708685, 761.1313470277778, 763.3326476265951, 735.081034310499, 720.9322781825716, 719.2623776678338, 723.3873637811236, 723.7607517028478, 722.4045073334478, 690.6440626720354, 687.9861854782135, 685.466306846561, 662.3256342783224, 646.3623471811391, 644.5441046002956, 642.6122380845729, 657.2240064291882, 655.2682303426645, 657.8121260465149, 680.4467692242454, 707.4203302919351, 720.3645547482073, 712.0240350024898, 711.7052358288204, 706.6096872780113, 698.1720138177716, 716.98104339986, 724.6994430150099, 710.3363115935775, 707.2955312791005, 701.635369759415, 678.7695259962652, 652.4912811407563, 640.4386322424525, 633.4466333522408, 625.0855112574696, 622.6189499744008, 619.8168346668222, 593.950540140834, 583.4077323879552, 584.2011273299097, 579.3096849253812, 572.5693707961426, 563.6809423250078, 562.143627099751, 557.0218840248988, 555.5884267671082, 557.3284906535947, 559.5756180842671, 560.3140156626206, 581.1324700959046, 575.3388982085278, 569.0417620505757, 569.6291362776221, 565.2962599477058, 560.8539042979302, 559.0765916854186, 556.9483309936975, 561.0888349345627, 605.5882064864612, 626.9821240926705, 629.0769746019297, 609.6405987958294, 610.6335620220199, 612.0784893771716, 613.779171563181, 616.8832900171179, 617.8460584749455, 619.6473933636789, 618.4143831427793, 614.5421549648304, 566.1052948212729, 547.2248577531901, 539.3796257126517, 546.7383814675536, 548.6084754105198, 551.3947902428285, 550.8700916157019, 547.7111447045123, 545.2729301087768, 542.2077073204948, 544.8203284977435, 543.8403811360878, 540.8322332209773, 536.4601421317246, 534.8877743935574, 531.5486355347027, 532.9406400887021, 531.0422803821195, 530.2365453299097, 533.7789734325364, 535.3070708714598, 535.8041977850918, 536.1808419990872, 539.6858337880485, 542.4369438892002, 545.3219115393714, 542.0747693433707, 545.5675158132586, 545.3542850991286, 545.6340713104574, 544.169709186041, 538.6527466503268, 538.0397181906318, 538.9070913190164, 534.3858636615546, 530.7468009638967, 527.1112794575942, 525.127043566449, 522.7297717541563, 516.6930522806567, 510.8726761914099, 505.4686502574696, 506.9736965396825, 511.2239404814037, 516.2328090981948, 514.2912558589325, 513.4678825147142, 513.5810625578897, 513.843601302521, 513.7137811556956, 512.6673722058823, 510.5454741105865, 512.469128503657, 513.9292377173202, 511.7163498387021, 506.96786544436657, 499.7097570580914, 499.1563179308707, 496.9259307338157, 496.6868547371615, 496.418337515484, 498.2805082128073, 497.254182628618, 496.9843840283224, 494.86842171786486, 493.7957291570184, 492.6580650906794, 494.4593598076564, 493.9943776215375, 493.5818993172269, 491.4879191328976, 490.0599613980703, 489.0947272328042, 484.8113045274224, 482.2527776255835, 485.372159554933, 484.91882284157975, 483.4062410167289, 483.0035794275236, 483.0580613063336, 483.7003075739962, 482.2357759920635, 482.878910845705, 482.2125389379085, 484.12694097961406, 485.5330223361345, 486.50963289060064, 488.8897135254033, 489.856271128229, 492.51321744553377, 497.5214421891535, 500.48181804948655, 503.93201930929047, 506.640337346483, 510.7040947007094, 528.192569889309, 564.5160744051509, 578.514865851385, 583.9250151722689, 608.9303392324929, 610.1325053059445, 605.6628733197518, 608.2047051588858, 609.0002869285847, 605.7297354246033, 611.3080885055246, 609.8389362371615, 590.7787714620292, 557.7478932115624, 547.227315327342, 537.5063763319328, 516.4066972775444, 516.9561532307812, 521.5939471146125, 519.9113758727824, 522.2550731854167, 520.9964288195611, 514.9332536297852, 513.9909488415811, 513.9348575322907, 513.0068646617647, 510.4457739201681, 510.1390106357765, 519.525345929972, 519.0379463891184, 518.225535383131, 516.0185763720821, 510.4178372934173, 510.9506978698258, 516.4735516822284, 519.3229749810146, 521.9846524553376, 522.2289987910052, 521.3399634186119, 520.4432818944911, 513.2047718115467, 514.9336235378152, 516.4092780275444, 519.20138687216, 521.2130957176315, 522.3590747755355, 519.6942532212885, 518.1931425326798, 515.54842425, 516.8552458548086, 518.4177768716153, 516.9448988292094, 523.3575273281201, 522.4595108881108, 520.8828954174493, 520.4914194184563, 520.2228098106132, 518.2834763078004, 522.6962310392935, 520.1751390381263, 520.4514493870627, 522.2832670895581, 523.5166008638346, 523.1275328302987, 515.4055142562247, 516.3826590755524, 519.4845725084812, 521.8566193749318, 524.2131412802678, 531.1588893741052, 529.6714918521631, 533.1141163646125, 535.7431679040071, 538.3511832938842, 539.1037229280269, 540.7635424259258, 544.732831482493, 546.4070221144258, 544.8268381933133, 543.7541352317149, 544.4851269375195, 540.422060470666, 538.8475930510426, 536.4180560097261, 535.5584056801275, 538.5302766941331, 538.5037524345627, 548.9590201910208, 546.8622059999221, 546.0508609926859, 553.4064660355159, 555.569338074074, 554.9650821676005, 555.0188285511982, 557.2715154895736, 561.1065751091361, 561.438463216231, 559.0549480873173, 559.7715759599286, 549.1591452791783, 548.6701588424369, 550.758939538501, 543.9374673699813, 544.45109345845, 545.3443751202926, 544.7844589900404, 544.1242314008714, 541.1105844119203, 541.287928413751, 539.8993402560692, 539.4842442659509, 538.385180096483, 543.4510274712884, 542.4222617131835, 539.7593992373172, 541.103120825708, 539.9690038092127, 538.8542088789293, 539.7543756991909, 540.6700035917366, 540.4232616770482, 539.184571443433, 536.5873276275289, 533.1147575774976, 528.6934020564892, 527.6104922797066, 531.0261667672736, 528.896436156318, 526.8778381355431, 526.3451275515094, 526.6216376153575, 525.8531413752723, 535.4216496295518, 540.7753935820884, 543.4543488694366, 542.5737799339403, 552.775343526066, 553.0457177216776, 560.5901198229069, 558.8683571911765, 556.410003613601, 551.8205623769063, 546.2007801143013, 542.1991334675537, 528.7584677289915, 528.5012589727669, 524.6720523760504, 520.9197271869747, 540.0747452506224, 539.3172148695922, 528.5060959185341, 527.9253432647837, 527.6314883742608, 528.1296300509648, 530.6402986050421, 529.9395198762838, 529.8238140568004, 522.7840679030502, 523.976772237784, 518.9565285831777, 501.47554385628695, 500.4830262994864, 502.2959667200436, 500.42007343845313, 501.953883043726, 504.7715251528167, 504.533428821662, 504.1622181071429, 504.0381111444133, 503.9146441476034, 503.7676636695456, 507.72698655057576, 520.9640239408652, 518.9030440746965, 517.3656791166355, 520.8107100275442, 520.7396100659042, 518.531106927482, 519.4009944016495, 519.4622484663865, 522.6644865774198, 524.5093100617803, 522.0927622941955, 523.7473652906162, 544.7779008006536, 561.3514048278789, 565.0297024602617, 568.6231126679115, 567.3041720652039, 566.2352355427449, 566.2800246427794, 565.6506479228914, 559.8010536854965, 559.6081776876752, 563.3021362676626, 554.3727896703334, 519.2780155473856, 503.1459707601151, 499.8493821805166, 495.8065279621071, 495.5763398783847, 494.91706219117646, 491.32401681925, 489.6299590504979, 491.2469065130719, 488.61721634928415, 487.9220965440399, 486.44767245860567, 479.0671526774042, 479.9787384138655, 480.126357059446, 478.683245482493, 482.5639650336135, 483.5588054702751, 487.1265613732493, 489.7585563373794, 491.8424415669936, 491.8556944530813, 491.48354102964527, 490.46568208675694, 501.1226745452069, 505.0698508737162, 506.51341885776526, 508.7888687356832, 504.8050380087146, 503.9743298710706, 506.2890454479439, 506.9929168903672, 509.6176270912698, 513.6209796324307, 514.9224166965982, 514.5429837050264, 509.1704550656707, 505.1142551278056, 504.7736463810302, 506.47226076587305, 509.8958638435232, 513.41780960014, 510.13182696257394, 506.22841935854336, 503.695892856676, 503.1794341124339, 501.5384961396164, 499.65018599354187, 500.1035493780734, 502.2379254185341, 505.4947838143479, 503.5072929545596, 500.44557087387176, 498.3004224834981, 499.074662447479, 498.8576724501245, 498.6373141955337, 497.08262297860256, 499.2908024618736, 497.9351739147921, 497.720423297619, 496.6967181463585, 491.6518348928572, 492.8246627405074, 493.98267477396513, 492.66133002489886, 490.8194671826953, 492.2276236564737, 492.9069142359944, 495.0890076116558, 492.1525923634453, 490.5982227502334, 497.4805361325864, 499.484347642468, 504.8008440302676, 505.4926944474012, 503.7799891462029, 504.7600002250233, 504.8109313248521, 501.99452202769993, 499.4069477103952, 497.6660551700125, 496.2752479035169, 492.9075828028322, 488.4970005983504, 486.1576898481948, 480.6340619185341, 482.6354251906319, 483.1452421790384, 482.1190665553221, 482.8417115544662, 485.2340820383598, 487.99662464083406, 489.21191471148455, 488.94416171662, 487.2531583133364, 502.9313845272331, 504.3904408630563, 503.7859956976346, 500.95382379069406, 501.30112236974793, 500.7730520074697, 503.8230675773421, 502.1668604715219, 501.36025640320565, 502.1116200311236, 505.66967194413326, 506.920781546374, 491.9853194892624, 492.375057813649, 492.2769409046841, 493.1055167338504, 491.5589390334579, 488.4523377531902, 485.4976052054933, 485.3598635022564, 486.3328696295518, 485.6187690145503, 482.5471883943355, 479.8001863842203, 485.9924448422813, 484.29966460223056, 486.4523872804232, 489.1879961412503, 488.1275983488952, 486.0440240995175, 485.36516510441953, 485.0331203994994, 483.3249728955026, 481.4804110785091, 479.8710325622471, 477.6187219457672, 470.0200727396514, 469.911389382742, 467.4641807319483, 466.592747813492, 468.8248337094616, 470.711231133701, 469.9683026140679, 468.7915987257236, 468.0641366820728, 471.69644979956433, 472.4014542275132, 472.91711628797066, 482.4249705706505, 484.3364919474789, 484.9747848290538, 485.5123878820417, 484.4064930626361, 483.4047577592592, 488.8368482690632, 489.03441605493305, 490.99893145580455, 489.9050344469344, 489.35653834928416, 486.06059634414873, 478.3737154374416, 480.2602877409469, 484.8595756889427, 484.9992742085279, 487.2312038491286, 492.596119456794, 489.9381820760193, 489.96612412558346, 491.173333619281, 494.1928383486618, 494.29626998008087, 494.2811088683474, 496.21024629279486, 493.5948856693556, 491.6340503458605, 492.51881269950206, 497.8135468266417, 494.601251491052, 492.6240061935108, 492.1539614597728, 489.9761222501557, 487.3627792865703, 488.3478208142701, 489.6191850408496, 489.1949692273576, 490.4673394081077, 495.2785676180425, 499.48564869351065, 494.70243317024585, 495.03732875451294, 498.95051110527805, 499.71459263885646, 500.9088256552287, 502.8904312391068, 501.2998581355431, 501.00698113608775, 504.1324938227513, 506.33193168319065, 498.9215017386399, 496.1960371220043, 495.630366532373, 490.1773758412698, 487.3109784758241, 486.5560396605197, 486.1062943894335, 488.21422431963896, 488.9494027654062, 487.4321253304544, 486.1072283801743, 484.3824306650327, 483.8941145796763, 483.2373149652194, 484.0021681917211, 485.0433753300654, 481.0675975112823, 477.3031713782206, 476.5983436086212, 477.1505357808901, 477.7627040511204, 473.7502860287893, 470.87043809578273, 469.2966051097105, 474.0854738302988, 476.5056695321351, 474.4727363082789, 476.4601165906474, 479.7910123768286, 481.7440448828575, 490.7431278105354, 491.1755888754279, 491.5065479077186, 494.20902794413314, 509.1216581809056, 512.5778879585279, 522.8863449659196, 528.7775230568005, 530.8768954341737, 531.1619947026144, 532.6357631072984, 533.3573473171491, 522.7014543334111, 522.6662002615158, 521.4016790163399, 514.5390586096327, 531.6236236406785, 529.410552820572, 518.8648553807188, 521.1874879723779, 522.8968883046997, 524.3893738462497, 527.0934562610489, 529.9954168348116, 534.4469201647215, 537.4268696612979, 543.2479090617758, 540.5782507910052, 521.3475152368503, 521.6466639430555, 523.8997252654839, 521.9279946015406, 524.1991833575319, 522.9070374509804, 520.3815394407096, 519.2348125790538, 519.7562732980081, 516.8644856000622, 516.2385898332556, 519.2040529129318, 540.0891023658576, 540.3482799544545, 539.0490360192965, 543.3668960011672, 540.8767680487862, 539.411646252879, 541.1413955178183, 539.1639723800964, 542.0780900718177, 545.0554225568784, 544.364883710162, 534.5376166539837, 517.0576069304387, 512.5931741758482, 514.3727657975412, 518.5685419516807, 520.1147531698568, 519.7160401271047, 522.4306601024172, 521.04985289169, 520.8957786896713, 521.0532610629474, 537.6040276409119, 539.7694621262838, 546.5192995585803, 546.8166265220977, 543.062091996188, 539.0752107464209, 538.1582388388578, 538.5083062287582, 536.3827194687208, 536.2702041200591, 535.7565120434011, 535.2317839974322, 518.021929142079, 516.0086810210862, 507.84571591254274, 509.2423237270775, 513.4247784843286, 513.0644344276377, 515.3123067600374, 514.7416570324463, 515.6118588519296, 520.0732047975412, 526.2388738317596, 528.8787582624494, 530.3080466922535, 530.5542780532213, 545.6298386589635, 554.0719468037568, 557.8537640477746, 559.9982890455202, 560.9516653784625, 562.039725361578, 571.3316719087302, 570.0744543597884, 568.510870939309, 568.0410775696389, 571.7994387307034, 610.7337583592437, 642.9531069333956, 650.2024541341348, 647.1440686290852, 652.1375157456426, 656.2275958560537, 663.9412822057773, 659.8199368509961, 658.6971927528789, 659.0370670550111, 662.3328514896515, 666.5920806984128, 627.543591602552, 597.1532292515561, 587.983070075708, 595.3558129172185, 594.9371024970128, 591.9841323969032, 588.3604190375039, 587.2686043563648, 585.8043618710706, 585.4309901930445, 586.7474479936197, 585.649297589558, 583.7890770410831, 583.0787872773886, 582.6873609515438, 580.1484034127762, 584.773110617258, 590.2283611090103, 588.5680679453003, 587.7373190479304, 591.2975957313258, 595.741789681139, 597.2901033486617, 597.6876590069995, 596.7764632934952, 628.1766963207283, 643.5911312229964, 643.7921311311858, 639.9600703008871, 635.2519661819173, 637.2391068274198, 637.855563635154, 637.250072765873, 635.2646684929998, 635.8140548499845, 637.4856936775527, 634.7404966983348, 619.2648140149394, 604.7268356436351, 603.5731962921724, 609.7390345434952, 616.1703092387177, 625.3175809182229, 627.9323702125552, 629.237347605042, 631.8565555187095, 632.8798213421501, 635.0545697692188, 640.7683493245977, 656.168741781942, 662.2837656727293, 666.9256670036589, 667.6348835207565, 671.9547358699813, 668.97001589133, 679.0773801264396, 691.2594790311996, 698.6769476472923, 698.8992144026612, 701.176845920635, 697.997587551743, 703.4097677493775, 704.5795739810924, 706.9540004112979, 710.5795220388266, 710.9423894027389, 715.9874329996109, 721.4706297906941, 718.5610320259103, 719.3740172326487, 724.0564343651571, 739.5705591175691, 739.7035358546528, 735.951053157952, 738.0490800714546, 744.1896193137254, 747.0978929842048, 745.4579993674914, 761.6772318907562, 778.4968084221134, 786.5896478979147, 792.4432759977437, 800.70198331108, 796.2003650404607, 799.6110978800186, 799.0503369090413, 802.7250780652817, 803.0266105848118, 811.5575856350049, 820.0636681169306, 806.3892727321039, 796.4366281532391, 792.597802037037, 796.5436824529626, 801.6052246399004, 802.6053901114223, 805.2506406942888, 811.1749512740429, 814.298233709695, 817.9976790364923, 816.2529930557889, 815.3522528426703, 814.358870985761, 816.6017154171063, 817.5317295276844, 816.3520511858854, 809.0308875924371, 805.2137521625428, 800.1752582237783, 793.4172279469784, 788.5736603764393, 788.4341182394957, 787.2169418318502, 789.019861144348, 789.6498048301431, 788.089313492219, 783.6417279157628, 779.5193698499843, 780.6378551474479, 782.41225630291, 781.2822183642235, 783.3186382398045, 786.0782241618425, 792.2782876976241, 791.3126690115176, 793.6964957373887, 791.455408517471, 788.9993415318198, 789.9111478532524, 790.7281404274041, 792.027645526455, 792.94192566122, 793.7450583214286, 791.8492099343292, 791.7980064773745, 789.6464140181638, 791.5153564735119, 785.885748728758, 786.7013959807934, 795.2519922809181, 805.2505776950668, 823.7425214397759, 822.3518854745565, 816.5479589801587, 810.2777350095704, 801.6301650664486, 795.3249034292717, 783.2562143145814, 777.3553685904918, 775.6596468075785, 763.1969308793962, 747.1410434383753, 730.7854467100841, 708.8421853761282, 704.5116787440865, 709.1294132977747, 705.4005360224089, 709.1589122720565, 706.6639536086731, 710.1165982555244, 714.2585390858231, 708.1589718916123, 705.1153455748521, 698.6441833534859, 692.2673271411454, 681.9131558589323, 668.8508014484127, 657.3458599194678, 653.9526485022564, 681.0756297514006, 678.0652162115623, 665.9702494057734, 652.4822393462496, 654.0885715076253, 655.4455858031434, 656.8672009575164, 655.2930590645036, 664.7585731739807, 666.8488571377997, 664.5086894116533, 656.1619302150638, 635.7533188533301, 632.0553280795207, 649.7605104838158, 655.7498735226425, 665.2666470881575, 668.7368608213507, 666.0702032015303, 670.6392281202926, 663.0404726436352, 666.8998653671102, 683.0738391614535, 688.7974334892623, 710.9004464337069, 712.5568406594084, 692.6162038050868, 689.0312744042172, 676.0507220145503, 683.7386126315749, 691.3932603117454, 686.6038160968722, 682.8291984130733, 676.091210066181, 662.5810304230471, 649.0866199902738, 622.8810930687052, 617.4223369523769, 619.6603154621848, 616.0048620843448, 614.1856800132275, 596.6368114874728, 592.515129658419, 594.6546459513694, 595.155283481715, 597.8301526199035, 600.9002233055555, 604.6061684467787, 623.062837691144, 627.7626661113446, 629.078312254513, 632.0920898043106, 633.9222102297698, 636.3165556537505, 637.7587353695388, 637.5960964076409, 639.9246750898692, 637.0134718439376, 636.3624051255836, 627.9925434634298, 609.7678293092476, 610.720322391507, 613.6870325006199, 613.9285827664955, 615.1569575763306, 613.8862130727513, 612.3072802720369, 612.3853965987395, 610.710417448335, 612.3698264520917, 610.7159906600763, 608.8887218581543, 613.7443696977901, 612.2285535911142, 613.6891456732803, 614.5230452291471, 614.6610763110021, 613.5337996643324, 613.2994157000468, 613.0865513019763, 613.2810916223226, 613.1584262892935, 616.8112429623407, 615.2069112784002, 613.8043905185184, 614.8160260982353, 615.8458764141768, 619.4246125834112, 624.6762811636322, 631.4378893010426, 639.4272207954405, 641.8868178384687, 646.9970939262372, 651.0258465342359, 655.184800478729, 659.9363103566759, 668.1526646681449, 669.7714311374883, 671.958991863212, 679.618952993542, 677.0435627226794, 670.5487486650328, 668.8462831894647, 669.2872955718176, 669.3391137663398, 667.3128591056645, 665.7287206627764, 662.8139568610333, 659.5231533185924, 658.9578770534976, 656.1662902509337, 654.5486063651572, 659.9916493931686, 670.8951280152507, 670.9231805045908, 673.3945256227046, 674.9742587602707, 680.3311267666511, 684.4249573684997, 693.1155705786647, 699.2617688036104, 702.4765459589169, 708.596391793106, 708.1213427643785, 707.2732659016494, 705.2977244235917, 708.3434725552443, 704.9427812022252, 708.5683126882196, 712.838493663632, 718.7561633695144, 717.2591196970121, 717.2971199625739, 716.0199113242907, 714.4263080070806, 714.8598272323375, 715.767281464986, 714.041569498755, 713.5713402381673, 713.2386967489883, 714.680965540694, 712.4208589175225, 708.7814163194023, 705.8885831854964, 712.6855209038282, 714.9367011267889, 717.0083723186275, 719.0977731697011, 717.348965589947, 718.0359200743852, 720.3315459418767, 723.426711777381, 722.2104114494241, 721.8244016467179, 721.7298448470277, 721.2932826521163, 731.3567924726858, 732.1407906171023, 748.0478404456118, 759.6790129565048, 766.2124541822214, 766.7842843718487, 769.545897426782, 770.4413960258488, 775.1647153766729, 780.1957445922036, 783.87977237709, 783.3576416626206, 841.3175225578898, 885.9355330965608, 879.415655902272, 885.6376958169934, 893.9300576174137, 901.7920847186148, 909.7443866420303, 920.1764621087516, 924.873680366076, 927.1585754795104, 931.6588403883602, 935.1489720525192, 876.2351096752863, 841.2876001405838, 842.1455537770274, 831.4774135373594, 825.8537181636316, 825.7769914828042, 823.0351661319639, 814.0508389025832, 813.8250860421135, 813.1859139833813, 814.8329293953625, 812.7702357195767, 817.8144610339175, 817.3822128503734, 822.1318942962184, 826.3570556719576, 831.2010046041862, 831.9606994239995, 833.7810898260194, 837.2959455140834, 839.1825324697173, 841.8783617732648, 840.1756188175382, 837.337033184018, 832.3126298739495, 830.7866950707431, 836.6365260800427, 848.1038375129165, 847.5944035449735, 846.6708986778713, 845.6401945921012, 846.4679600469188, 856.8525947359166, 854.4892883128697, 853.7141725264552, 854.6951864781349, 859.9566000162296, 856.1379778278866, 856.4853719545578, 843.594839649782, 841.1891093019764, 840.3172400420947, 843.1553171284625, 834.6283172910831, 819.1971535897914, 819.1719770384376, 818.5483188400249, 810.4333162029255, 803.9826668968902, 804.6659719154994, 795.0161931949891, 793.0299097672736, 788.7141968226734, 785.2279331659663, 778.8243953301431, 784.6833345196857, 787.0006564845938, 787.9359254891068, 792.3058445041238, 796.6502264029723, 799.5974537982415, 806.0341947822756, 810.3566353822752, 813.0856089576662, 822.505385967476, 820.5249954737752, 847.6280405725179, 884.8149011336995, 891.3715000054773, 895.500533359166, 895.127818399004, 895.5746977178649, 893.3831393928571, 889.3220834330065, 888.0107511181359, 905.189578857454, 904.0239573442268, 909.9646617733428, 879.8584241370993, 843.9349958432151, 839.3734015978836, 845.6427267544352, 845.5804448912232, 844.7763707030812, 843.7508817248854, 845.1690000382042, 841.6164331280736, 823.8894215845783, 820.8525156004024, 818.7799149844382, 818.3845966980236, 821.8831929624928, 816.6342350405384, 808.2438554167484, 804.8960405584345, 801.0663860311236, 800.1937808219668, 793.2723633865231, 789.5508970024898, 783.824392100529, 779.0247121681438, 776.4192354058447, 769.3545090666453, 758.3990518486968, 751.1570695675381, 744.7311765537661, 737.9242734366387, 729.5849067416547, 723.5935448612668, 720.923131242219, 717.8619828442677, 714.3747331342203, 706.8765422447868, 701.9542958110023, 699.7305956948405, 698.2633272374898, 700.702278213174, 693.2317047484438, 692.1569349257062, 688.860944646981, 696.4424522930277, 697.596602885333, 702.8760466575629, 702.32504278914, 707.5262695863962, 717.9963783987707, 720.0887381767819, 719.2763216163153, 716.9702613639122, 716.049516851385, 712.3268830456739, 704.9472543162153, 719.9124906780268, 716.1170250984283, 705.0996012777778, 698.1382422320261, 680.8893073650689, 668.5602013572984, 662.9347151431685, 660.0531810711951, 657.3826916664332, 654.7514279515152, 656.4076816851568, 654.5179285158142, 636.0814092945844, 634.6758162501745, 637.8358297683628, 641.016478201992, 647.3113567623733, 650.12042839752, 654.1912425064583, 655.7392842485328, 657.6826856664333, 659.7740316165576, 659.2780812523227, 661.8517384708607, 678.2576267661098, 674.6549801414137, 672.6897051617647, 672.0260071798941, 671.0318709688764, 668.810500904998, 673.2492960809992, 675.9374492852473, 676.9144933770885, 676.7075645673197, 674.2685920665888, 663.5388327294031, 647.1708104286746, 645.2860815129942, 647.3814042056624, 647.0334762853097, 645.2313057379012, 643.9476576980444, 640.3927652541292, 633.5863320807656, 633.3547090171958, 631.5450457102397, 632.5171354159663, 629.4191889470899, 632.3061135695268, 631.9464456227124, 632.7737519596171, 633.7495194828821, 633.9959352698413, 630.4522748166044, 627.4051397339714, 624.128141094216, 625.1769963399471, 625.3530450908057, 627.9358256677559, 631.6777305890912, 628.1011559791473, 625.541972141588, 627.1938499557267, 628.6673134032835, 632.7087358042004, 638.466481875039, 641.2766594001712, 645.6868566003022, 645.9986439100886, 649.0409410205257, 653.2668875619742, 652.2088616964289, 660.0259436858232, 663.387348055911, 662.8089784475843, 667.5739290081439, 669.2474847238503, 669.4591419314994, 668.5494432091044, 663.4805570392645, 663.0316933704481, 665.1829138105871, 661.159260718176, 661.0389122324442, 652.2571217881132, 654.6006081280996, 654.1235912015251, 655.1336218340665, 656.5158386002959, 663.9697315742296, 663.1804113540713, 664.9163229220354, 668.1456004727552, 669.6110530618581, 677.2282329351851, 700.2143391124338, 731.0343144995331, 758.0973346902786, 772.0190039761904, 773.3359765286897, 771.5957315471986, 773.4228786760037, 776.3144984751791, 778.2812591038748, 776.1929224983661, 773.0972821728136, 766.1778003634232, 746.1140058223623, 716.3435083684251, 689.4842946309523, 677.584546580221, 676.9830546291001, 678.3779458123099, 676.6470502001246, 674.9679672583347, 675.9759607351384, 681.0508489943438, 685.9067072781992, 681.8270240816071, 688.5039164642079, 698.0515957378617, 700.0212608143479, 705.2998050638032, 706.4589642864145, 703.4390810572673, 699.6894212362201, 699.9772520670674, 726.3492133828197, 762.5750762922826, 760.7067551038749, 758.2734283972825, 764.7412743839091, 779.3887982669623, 781.8395020290789, 782.9092773296281, 786.4216308087457, 792.1299614862279, 798.239030432539, 792.9407754521992, 771.9988837268908, 745.2183537619488, 750.0107354274045, 757.0417676216152, 753.3612356400297, 758.5686166396669, 765.4290192947402, 768.229850913243, 778.0917281756924, 783.138028963918, 790.3199087195767, 811.3886459137877, 814.6079665732182, 826.8276551335828, 834.9590466240276, 847.0166675258972, 846.305994926704, 850.3352373411919, 850.6803473927423, 856.5802822331933, 844.8116634514723, 853.1460636248834, 854.6454735761048, 852.2896537742763, 852.2305805572673, 845.3023295521319, 845.9087987759103, 845.8965875859788, 845.0867542818238, 844.6048131137566, 847.5178627435417, 850.0241413639902, 855.4566445737389, 860.1404988054, 862.9904893863212, 868.8764802419079, 867.9539016665889, 870.2919397612823, 885.2884226630097, 884.7810941449579, 886.1512456237939, 885.0520434800808, 887.7324371649548, 887.8403364854497, 890.5021358004201, 894.129220507314, 893.4743422689074, 892.2580928564096, 892.3894674607064, 896.3476848431372, 898.4225473600217, 910.5016481643324, 925.853740854264, 936.9297698842948, 938.1724293164162, 937.063630492032, 935.490738378696, 933.5460343895894, 938.2790629397758, 939.9810813881888, 936.384455774432, 933.1708320374614, 915.5713806678642, 905.7298199238252, 889.1094993078898, 874.978252069561, 869.0913708122335, 875.7333511589635, 874.8800728997904, 869.7761578490507, 865.7408681198257, 861.8192019397761, 861.3421315665266, 857.7284917080104, 864.8833770113602, 864.7839328166822, 863.3179748630564, 869.0360596846406, 873.1874992188214, 868.0187815610021, 870.9900154290292, 885.3481601910987, 882.4103253534082, 884.1202505266108, 887.5329572266417, 889.3282815848379, 878.6246020624727, 871.7291916486097, 869.4265272713935, 861.6407555100965, 860.9331752962158, 860.1606274155306, 853.0676456039961, 839.341511343732, 835.4514040099112, 833.5825612647121, 829.0788164393855, 826.0628855736707, 823.9576501321195, 820.4099005447201, 813.0812733138688, 806.1936424309835, 806.3676972048708, 802.1515489616402, 797.99280249183, 795.8154248120136, 793.9444125723624, 786.3025092518416, 777.6199332213097, 773.5613571674253, 775.1886935777828, 773.2623606898777, 769.1026961721379, 772.9910115060158, 765.1526714003512, 762.574559729483, 754.532944641092, 745.8249997124428, 735.5300008998945, 723.3812350392186, 719.5997871730124, 727.5015888577857, 748.3714544994929, 771.3420815292549, 793.1741131432607, 810.9521535954253, 828.2635429512508, 848.2633076666008, 880.743660872945, 908.7419733883324, 936.231081482042, 971.212493830221, 993.4335825664256, 1008.600232555322, 1013.15598416122, 1008.7952428281978, 989.0847642382188, 1004.8727472100062, 1013.8968130355516, 1032.2667429867724, 1038.6555253352003, 1051.672281027778, 1052.023690459306, 1051.1445304236695, 1048.746885740274, 1040.9001412594926, 1040.2779752954202, 1043.8492412915286, 1062.849406695692, 1077.245770740196, 1074.3123215164176, 1055.7641794419512, 1048.0657325014004, 1033.7138962896825, 1035.988901517404, 1038.3860725959385, 1043.859235685652, 1047.1435145599128, 1042.9604894550264, 1043.7151107664176, 1038.237972828431, 1019.8804551186588, 1015.7517342698412, 1022.740203162854, 1019.71783765235, 1019.8226695469964, 1022.4702982990976, 1022.5530864147214, 1021.6089143926048, 1023.3195677464986, 1023.3159217188764, 1018.923273207594, 1026.9539230002893, 1045.3708780062248, 1043.1453449602311, 1045.458306796684, 1046.775150241752, 1044.131479590336, 1041.7160717363056, 1043.973322212574, 1046.2402884649082, 1042.6778077930285, 1039.735571648226, 1041.122172167756, 1026.9018266025178, 1013.887366206638, 1014.6438746427424, 1012.4072695193744, 1013.6274474593836, 1019.884868096483, 1019.9640363253968, 1016.042358793962, 1008.901691592826, 1006.6113665628696, 1008.61709246662, 1007.5156704644412, 1005.6984259169778, 1006.7774193140745, 1002.7586355782756, 1002.306580836757, 998.8394798079676, 991.8313000242872, 991.8978049882508, 992.040020342406, 993.347226924214, 997.2741183068782, 997.1083954644414, 996.8341440021009, 994.8411723548086, 993.0499438078898, 993.3951059099752, 996.1643980291057, 994.9034446640992, 992.7953962535864, 993.0730885166512, 996.205935257625, 996.4243099280682, 997.848894069172, 997.8593609293496, 995.8726980816992, 993.270127917282, 1002.6481131760816, 1004.1732135469758, 1008.2816929541706, 1008.7382978225958, 1013.7512932356052, 1015.7376498993932, 1018.9369471939, 1021.8997151047652, 1022.7367025755526, 1025.6031268283537, 1028.9199229803144, 1029.59674460263, 1020.1630539375974, 1021.1850182689074, 1021.9878760792872, 1025.9153948854796, 1025.415226824541, 1034.2973856842514, 1031.1307317168537, 1034.0135880550108, 1038.2978517496888, 1040.722974834178, 1044.169809480392, 1048.0604543130253, 1051.9674784076408, 1047.491980008523, 1051.1817415914254, 1051.6708197144412, 1053.8022750898692, 1043.5002177846252, 1078.7010290478524, 1085.3438666604418, 1085.900664912626, 1087.5699801111891, 1092.2896952077815, 1098.8954134660753, 1106.3160072062713, 1106.922874471837, 1107.7856578276533, 1110.86315481108, 1113.4351577322595, 1118.7805628309118, 1086.248054799642, 1078.4634005266105, 1080.013403423981, 1080.0615453765172, 1074.064517812627, 1069.703757103797, 1071.340206357814, 1072.1416705468278, 1075.4593621326906, 1078.0643893633048, 1075.2047124101414, 1075.7444757023009, 1077.1683372668106, 1077.8573685440651, 1082.022167267608, 1084.345117304117, 1086.552072975769, 1086.08975591869, 1094.5767694608085, 1098.243014129085, 1100.2083673872548, 1103.4225679127762, 1107.483247761127, 1108.9065052510896, 1112.8337680850452, 1116.611183993542, 1115.755450008559, 1119.4023878530863, 1121.9077476548396, 1125.6624466753035, 1135.2252202086834, 1139.126998089947, 1143.2829841833177, 1150.1587985918145, 1156.184743828198, 1160.1569504604731, 1169.2588502868814, 1178.6192877283693, 1184.5692552261532, 1195.22111515305, 1202.3478685680827, 1201.7128283976033, 1214.676793097417, 1218.337558756595, 1219.7125032301587, 1200.5434513728603, 1188.2417874984435, 1180.0609587917834, 1170.2571939852942, 1150.0903025617802, 1138.54835439488, 1110.8778730469965, 1095.911198738173, 1074.4286450869124, 1049.124120534547, 1017.7854742725644, 997.5314950624024, 982.8660415279336, 963.5287640909586, 938.1856343649238, 911.2695797279692, 890.24845840554, 875.6644658824307, 866.5124914677092, 847.5326567553687, 831.5437376015406, 815.7795986805165, 807.1963539239715, 804.9553901194366, 813.1959651851716, 824.7007842299404, 832.0205869749456, 846.1725698976035, 847.5223390512759, 852.4075307240896, 854.2443747363056, 859.0078857794119, 888.5619906425459, 912.8162283233584, 929.4745792112434, 933.5139844804304, 929.0490159247548, 918.3695898599252, 912.6840422005108, 907.6400918094772, 907.585622352388, 905.1033486708404, 898.763356680546, 895.0753651320546, 864.8181048670245, 846.7454548046736, 832.01417855512, 828.8099991492303, 830.4139619686429, 835.6611970243556, 839.4758556947556, 837.4868674234295, 841.5970153705591, 839.5390338387799, 844.0253300830221, 848.7580285406162, 858.9198945714285, 869.843291473473, 873.6888324767584, 876.5647051296296, 881.1636147913943, 888.2994375397603, 883.3344931553065, 878.8879340319018, 878.8851281446468, 879.3628026423124, 883.5767456304856, 881.6404243227514, 868.0688202493775, 857.946708482882, 853.4397424943952, 853.0930469655306, 845.4655565485527, 838.9564222024587, 838.8908672058823, 842.6257733423448, 835.9849389729226, 858.7115607624493, 875.4772360140057, 875.1898146208373, 870.3232275568784, 864.2859945708839, 859.4735928099907, 850.7627316645658, 844.7858448767506, 841.0821433653127, 834.4632309550465, 823.7042087887488, 824.0955497489106, 790.7091497734204, 765.8568610361809, 759.2982091539059, 755.450996188531, 754.5881208593214, 750.9643590380485, 763.2296323863211, 760.7194647195145, 750.6607698113912, 747.7938620325504, 744.5941270762527, 736.3653301172579, 732.0538407356053, 725.5760655697167, 718.6014839719887, 709.2255142065048, 702.2261126781045, 690.8605626402116, 664.2144658770808, 661.6177406098062, 658.1915735117608, 651.8792747098136, 650.3230107732039, 645.9233449547444, 650.8005959519745, 651.1020999731842, 650.1788823755057, 648.1583648648459, 656.0769513924681, 657.5105422129221, 671.0681128081231, 666.800708940943, 673.3697920494867, 676.6153324060148, 675.3276474060069, 670.8675926791913, 665.0662621528385, 667.0195307017741, 666.8511565778815, 662.534854798513, 679.4571789222608, 681.3828597203361, 672.1329259027408, 674.901664298456, 666.5701987038126, 662.4608928293376, 662.6101328836861, 661.8731537563804, 654.8754822665733, 647.2443499334735, 643.3540232167757, 638.8978332477435, 615.8777111867245, 611.5028155140055, 603.9689025480858, 596.3800791894647, 597.144130666511, 597.7996699858388, 593.4026354900404, 591.7163300167653, 593.3589190902583, 595.3365705991285, 595.9177535263772, 594.6761415434951, 617.3518042833022, 617.2479422766884, 620.6264700571119, 622.100944019997, 616.9019654586834, 610.167737408808, 607.1119658674914, 616.4575783320066, 618.227491608699, 617.4959026223934, 620.4352112577692, 613.3792419621848, 592.9006300729069, 590.0114529789436, 589.4350742518674, 591.5451209448814, 594.3406465329132, 597.9046996790382, 596.9009406415344, 586.3373441091834, 581.3084849908963, 581.1283306044248, 582.0348532615158, 579.808194429583, 585.9055924536259, 583.6001488999154, 583.2310069400871, 581.2501310147052, 578.6410962544351, 576.2887272066059, 574.3134592888266, 572.0607737788671, 572.7162987440865, 563.2612293979049, 561.6614196337534, 559.3644329204793, 562.7844160318239, 563.283867725483, 565.6403414042172, 563.5948335032679, 565.9925318146592, 567.2170483369125, 571.6655015305789, 573.6079538903211, 576.610402360661, 579.057028810421, 583.4566114216357, 586.7183729999825, 590.1499177211754, 591.9009062997485, 592.9532359318571, 597.1790569063269, 598.3616350977294, 597.1617779327731, 597.8813626669779, 598.9350340511983, 601.4447180296452, 602.0919081983349, 601.3290428794533, 596.0539791089104, 591.5735216055089, 590.3316478873327, 592.3028490715842, 593.7513892065048, 595.6428662400405, 613.3895799263927, 617.5724748438375, 619.4691312949851, 619.6700220073088, 622.5313746842515, 623.8559667528012, 625.1202008003423, 637.7692306380329, 641.561950044818, 643.9759073733271, 644.0782920901806], [64.5796703225179, 67.08232080790216, 71.01731472860256, 74.54769815413944, 74.19278636826954, 74.59280338366729, 74.97174790538438, 75.15547139007548, 75.45904254684096, 74.78344113244242, 77.30080784544701, 76.2707930908808, 75.53669603499777, 73.65634181800498, 69.59172568868527, 66.3808339379085, 66.33116507228448, 65.99044267016808, 65.5939419327731, 65.3426646048086, 64.65554463593215, 63.69980183924681, 62.01655467195767, 61.98488673809916, 60.83987314361063, 61.52820209663866, 60.94442148728344, 60.748968785014014, 61.04957569382651, 61.6666630182851, 61.364855771801416, 61.58994242973662, 61.52694476345767, 62.58915000544662, 61.7089507893713, 61.89248860008754, 63.14748362675397, 63.794481244553374, 64.40940412944616, 64.45957009842826, 63.74414730991874, 62.670337466619976, 61.91133952793339, 62.62187075746965, 63.07826851859178, 62.37379497072634, 63.4465384859944, 63.8320895728823, 62.2531811953065, 63.74575018145037, 63.393957759959534, 63.3906816058467, 63.75808848049851, 64.41301979512916, 65.05987192650066, 64.74362411414566, 64.52445229162646, 66.89834603405419, 67.59533652505446, 67.83076772572817, 68.12231578168839, 68.69664891184252, 72.28191846794273, 79.52711891588858, 80.32385240001236, 81.49478734298165, 81.92280589872655, 83.11958956186652, 82.64446851625299, 82.86482614635726, 83.39939871794274, 83.78396205539994, 84.0900723295985, 83.27041399058513, 80.14090935348582, 74.7350207989418, 74.30532829139433, 74.59231306971677, 74.3702367212107, 74.99097978466779, 74.96711161142234, 74.9414225480859, 75.59166062877372, 75.77281671140679, 76.21341643113911, 80.10278636725803, 82.74346065553999, 86.156660089169, 88.8967161346872, 90.93494096833176, 90.93236428018984, 90.52030295743852, 97.43461633667911, 97.91192557485216, 98.63333994366636, 101.46489053516964, 103.16359780539992, 104.23228496428572, 101.94828097222222, 100.1049342595705, 98.6283037772331, 98.91416705890134, 101.44164721553066, 102.984225466382, 95.14411388556192, 96.6029001148388, 97.27542336095549, 97.22585509298165, 94.4809701101774, 92.4669228208061, 93.5256594948646, 93.64589226953002, 92.46345692016808, 92.78721956683783, 91.76053673023654, 94.88254491557736, 94.33787953182384, 93.5116043340336, 99.8152854169779, 98.76091334311828, 97.12422060045128, 96.58110533278868, 94.46782796036024, 94.28344458704548, 93.82124539495798, 92.95523015437286, 91.41155149813258, 88.72240950816993, 87.90431625762527, 87.34424583776844, 81.84746770697167, 82.07555774529192, 82.91171438367569, 84.41652143572983, 85.44605686079987, 85.16629354349517, 85.08722627482103, 84.60679443689698, 84.38890451058201, 83.94296898147695, 84.65898718930906, 87.35737262254902, 85.9116041534738, 86.28068972245565, 86.06638761378709, 86.09951540087147, 86.09769650793196, 86.32063941199553, 86.20714550529101, 86.04350790483971, 86.93634832446311, 87.58261772237783, 86.34349063772176, 84.48003681146903, 83.7859979961543, 89.86157432587876, 89.82148565483972, 90.46777914176782, 89.9064220707283, 89.4671065636425, 88.50785948054776, 87.91456543347338, 86.98834848622782, 86.41626268930906, 85.1061943103797, 84.51344844989106, 84.89582108239964, 77.00920036869817, 76.22645672405498, 76.10224390009338, 75.85315313694366, 76.0054582377062, 76.0768725632763, 75.52179414729224, 75.52344969257703, 75.38639893456272, 74.73409543253968, 74.6420057237784, 74.55250180960162, 73.68751751563958, 72.35899935691592, 75.14191337156997, 75.11386133115468, 74.92172737029257, 75.84567710770894, 76.11306276602863, 75.66661094647012, 75.19660196615314, 73.53339546187364, 74.27888553711485, 73.77835389371305, 73.0475624194678, 72.37190998209748, 69.75748015094926, 67.95150216893869, 66.21378051423902, 64.4186425481637, 63.05821244067915, 62.42806848728347, 62.13305753322441, 61.253919998782514, 64.6318860081388, 63.41704795152505, 67.96291452427637, 67.40322381400017, 66.54196605135388, 66.41745225140056, 67.08707871309723, 66.58788620751633, 70.97281433151134, 71.26682064480237, 71.04029282438532, 70.4545467769122, 68.66482051384997, 67.8852216819172, 64.1167697980859, 63.53273610385352, 63.01979986671336, 62.197403947089946, 61.55377053197946, 60.66089684477124, 57.982963892545904, 57.96727320192968, 57.96488084780904, 57.56396843775288, 58.682082223544974, 58.610599285014, 59.25752778874882, 59.35984851402704, 60.47890425583567, 60.50987498557618, 59.461826444133216, 58.24665792544027, 57.59872985395268, 56.942704797074384, 56.90161403182384, 55.99449220572673, 53.76807549081855, 54.31619271023965, 53.061597383831305, 51.96752633341574, 52.05701525117946, 52.49593539013384, 52.92697055925149, 53.056342704914925, 52.84967413748832, 52.65981168375351, 52.35383550645815, 53.132601896669776, 53.28581116534392, 53.23821168222845, 54.15373433247744, 53.51459870110294, 53.46997215071584, 52.87834803960473, 52.97058602816299, 52.443389362278246, 52.422798906473695, 52.12401427790811, 52.186753672035486, 51.27367072275651, 51.28987876219852, 51.3720512089169, 51.03086608994708, 50.13252395629952, 50.41353699688764, 50.21135731893869, 50.125290279800815, 50.3747142815126, 50.28545147966276, 50.28295898918456, 54.29576071802112, 54.27958406305126, 53.530767315982, 53.597075209997655, 53.22685599996112, 52.54815734145588, 54.19441030983505, 54.245441979697866, 54.06854866310868, 53.77934175877017, 53.78793007409136, 52.332570583085015, 49.79178391767819, 49.58115354574387, 49.43700164651416, 49.55325090538437, 49.92403020043572, 50.436564867569246, 51.351465565748526, 52.00351834905073, 52.25944018191721, 51.69774067040149, 50.90004407376284, 50.58812023529411, 50.51844752614379, 50.17934412356054, 49.55642746039526, 49.20508904582944, 48.4194395821662, 47.41689098646125, 47.08023810115157, 46.620408642545904, 46.74364513429817, 46.76716398218176, 46.21434500778089, 47.613171273653904, 47.72182401268285, 47.49608086951447, 46.65133658294429, 46.86417242172424, 47.01690730851229, 46.18520339159664, 46.93110891861188, 46.7428957806567, 46.61644776774043, 46.2882699046841, 46.99297009816501, 45.4145252474323, 45.64239821910986, 45.88678195482351, 46.340509373045045, 46.20009204521993, 45.70031024064573, 45.88281730571544, 46.59760601438276, 46.874084770263245, 46.753770487560736, 46.7858133610031, 46.13959851603822, 45.85209708242672, 45.69279362535703, 45.31473265104361, 45.46380300715842, 45.53126778851541, 45.0469136637962, 45.21689816823714, 45.63066951379617, 45.4551649213352, 45.51939986500155, 45.498178064849206, 45.28522755501088, 45.5113495454404, 45.80249748042848, 46.48897443946467, 48.71218260457516, 48.82084337107066, 49.79612002723312, 49.100139051847336, 49.45962348895114, 49.953703838468726, 57.11308661360101, 57.77045559733893, 58.815273997976966, 59.19584005392156, 59.71036423907114, 58.11861779886399, 57.146204385305786, 58.12131905866791, 58.76500264656863, 58.32585105428597, 59.64664586932977, 58.718688678026766, 53.29143248350452, 53.10894606652661, 55.46841271078432, 56.38066779940865, 56.06608859775393, 55.74676977085278, 56.439787947945845, 56.36738158115469, 55.802658192499216, 55.78095437441643, 56.152502299408646, 56.27793013511064, 56.554446918348006, 56.889868509803925, 53.62316265935262, 53.7749078697479, 54.35096614861501, 54.510840004179, 53.87709978610333, 54.12879582399626, 54.80980920751633, 54.12479967398857, 54.41023427863367, 54.15215756427015, 54.14444034204793, 54.083159462496106, 53.67931177591037, 53.88447961507936, 53.56856044397759, 53.14653163429816, 53.09163983710282, 53.0053325130719, 51.95062835518521, 51.67417475527936, 52.39850159858388, 51.92843484469344, 52.02677982181762, 51.76231237247121, 51.79418252757512, 52.26254231411453, 53.22738171887644, 53.8674312387177, 54.09610223451603, 62.868846304522, 63.60216402495332, 64.37300552746655, 64.97023126322752, 65.53709442281357, 65.8505602491441, 66.85275261345899, 66.99498386807825, 67.47507751548397, 67.87290638834422, 67.81148155376594, 67.26567586457593, 59.97941611679117, 58.49364400622471, 58.537962491227695, 59.7282962547684, 60.004452679116085, 60.26058839845939, 59.87142963375349, 59.69527177009421, 59.2168957858699, 58.914159730781215, 59.10295465880796, 61.19070439727162, 60.91447624937753, 61.41419226945222, 59.35893130329909, 58.4448923462496, 57.11995358333334, 56.0613231235135, 55.37157708403361, 55.1985701656473, 55.32421009982882, 55.46533150711178, 53.93614956036559, 52.51577882267351, 52.92220071023965, 59.72325865042472, 59.68189973695119, 60.324100560508114, 60.25492055890133, 60.243276237937046, 60.69319930602241, 60.8637771415694, 60.51215625038904, 60.57766311990352, 60.74566363826128, 60.19087438928317, 61.24946151104888, 54.86602818635232, 55.94639109050864, 57.27167170276999, 58.45427211449515, 59.2929790984192, 59.230343121381885, 59.198338772591214, 59.8915921311858, 60.06692008979147, 60.051567014246274, 61.058802867960885, 60.25120200536881, 59.33071401563959, 57.69768629570981, 57.42608559640522, 55.423700370292565, 53.92209086064427, 52.48403239433551, 51.49627552500587, 50.20295996101774, 49.22777199603174, 47.3727890447797, 48.00335063067581, 50.79826654375216, 52.4831788304544, 55.58466316214208, 56.72640759430438, 57.31651474665422, 57.220866540538445, 57.46625386733582, 56.2532197396148, 55.211037496732025, 54.22469162265083, 53.71835469592281, 58.00600282444951, 56.032816472189815, 57.92380309889511, 54.82322389766575, 52.716364845549336, 52.35634256722689, 54.43515734601618, 55.22287221883754, 60.53496267749378, 61.491313105197634, 61.36113324151884, 59.26822427519128, 55.363465366829416, 54.682327143947184, 51.55439897675917, 50.82351556971677, 51.542482469498914, 51.41873838982259, 51.163908567615934, 50.78972500231547, 48.21968626517273, 49.48907357399627, 50.47767495424837, 50.52754280075058, 53.65021362799564, 53.69071222960622, 53.01607867900003, 54.31021087379396, 55.14739377077498, 55.22529947868036, 56.66801806128488, 56.69209413375349, 56.21976747385621, 55.107975697478985, 55.40326547370059, 54.52187572500326, 52.69297426143791, 53.31991743859631, 52.96206081356987, 51.62603920429181, 51.524530509539375, 50.95791596897046, 50.163986675303455, 48.83523706314069, 49.15853758093682, 49.08663365268854, 47.875301225101154, 47.91515771486864, 48.06656934982882, 47.472303688942525, 47.81255952054155, 47.359043912776215, 47.60904279162777, 46.95708580046266, 47.77171714285714, 48.13176506286959, 47.95804949805478, 47.57982229140148, 47.85435988414255, 46.90353855999986, 46.53015545821662, 46.67637356546777, 46.40417950031123, 45.78083210266851, 45.79468707773109, 45.41491722787116, 45.016054383208846, 44.19772249915125, 43.75497767086834, 43.51789318178689, 46.759672598255136, 46.38338603161705, 45.39823404909742, 46.33814765834112, 45.985687381108, 45.48184507250103, 46.59463919887956, 46.11571357679738, 46.45540958979148, 46.59290538211951, 47.028836465187645, 46.280005863445375, 43.40885648746828, 43.00843282155242, 43.509600019296606, 43.446210526921874, 44.40083003283535, 44.051455682817206, 43.43623809235917, 42.91326709492686, 42.92571872401183, 42.48236881987239, 42.3636775183629, 42.288054389392094, 42.37445281123561, 42.24290289215686, 42.04787408955804, 41.21909733255524, 40.44668328944911, 40.362869622626825, 40.89888241627762, 40.55926349862667, 41.01638869106596, 40.76643982158419, 40.77006040273887, 41.84712526027078, 41.80574561028269, 41.24329291014757, 40.94587459562714, 41.54127418362901, 41.72668272082166, 41.46047333119037, 42.21941311095549, 41.97990718552496, 42.53723406456907, 42.35958647926522, 43.164977076468, 42.01646033986928, 42.0187732575592, 41.61263609019868, 42.082699592125735, 43.0403744754442, 43.54567934559248, 43.22461607326228, 44.42471814145657, 44.530626019841264, 44.42635676867413, 44.52469915305011, 44.5060438846094, 45.23291346814938, 45.68895033893557, 45.52580342930867, 45.758845912148566, 45.67913333909119, 45.52914198665318, 45.61087686029183, 45.65163577863368, 45.33395599512527, 46.226423900793655, 46.13704385815437, 46.31667871763149, 46.55768527013697, 46.42793301027599, 46.21454147783181, 48.57465638169676, 48.39615012143376, 48.259810100606906, 47.59012055412363, 47.73633835457517, 47.28817068129474, 53.93606676788308, 53.44026544996887, 53.453860971294354, 53.38621434158107, 53.7878701609088, 53.85047060087103, 51.059983302287584, 52.21669639719888, 52.21918121590154, 51.4600144673916, 52.52041847440088, 51.92427864347961, 46.41037262494165, 47.02016586456519, 47.03669096599751, 47.29772324774355, 47.0478139440554, 46.65722594708995, 46.7926309870968, 46.448865620837225, 46.413020563025206, 46.87592449354186, 47.10315253758171, 46.52875175863679, 46.89533952808902, 46.40121473537192, 46.51163039122315, 46.3160941017507, 46.60727792605044, 46.61163309943977, 48.160555633030526, 47.997051154995326, 48.88636380211524, 49.27068562815126, 48.49588168059446, 49.15560544091451, 49.36277183699035, 48.89393141985683, 49.09805144133209, 49.361673914799255, 49.03396517728304, 48.32688472019919, 47.64823159911883, 47.47577347411686, 47.265291369878895, 46.93095005796763, 47.62172421136955, 46.54378408061002, 47.35445760169623, 47.36632611811391, 47.363324338779954, 47.899857877762216, 48.61328692086835, 48.378201886399005, 48.7806878828976, 56.800706315826325, 56.54666026649548, 56.18600742348016, 56.39545283168578, 56.009684066993465, 55.64418216933876, 55.23878026610644, 55.28228022890276, 54.69118525186742, 54.04700883641394, 53.51273210346557, 54.41966501353875, 46.73933447305284, 46.56906893899005, 46.58865296615118, 47.1198152803202, 46.50991334008779, 46.97860298101009, 46.984549314156034, 47.30161391094189, 47.52053061858077, 47.91084287558357, 47.35855878877347, 48.05509703559305, 49.470080729847496, 49.91373344895736, 49.318406719184445, 50.7856081774043, 51.06365797391068, 51.94839914130097, 51.926909923047, 52.50491933022097, 52.569350254060346, 52.30344708986929, 50.97342708761282, 51.572124516884536, 50.67539320510427, 57.85813753338002, 58.510429978446936, 57.466936877917846, 57.08550940094926, 57.21972364114535, 57.14169004221851, 57.03227228006538, 57.188202689137874, 57.28751594140991, 56.795661976268285, 56.52364964291745, 56.578946889978205, 49.25616024937752, 48.93099674824648, 49.5452669518363, 49.40698642864923, 49.56118536445689, 49.77310450412386, 49.83990256084656, 50.0106490725957, 50.56127184794392, 50.17875483185496, 51.763995031979455, 52.04586169452225, 52.936199683862434, 52.77652097508993, 54.70144684691068, 54.356432914410206, 54.956558113971774, 54.55862274727669, 54.48044132415188, 55.20033675609503, 54.98423664091192, 53.831369209955646, 54.525211486689486, 55.043815749336034, 53.76147996296296, 53.42200413593215, 52.10166910435024, 51.214668972144416, 51.49349454924211, 51.08564893285092, 51.16030235243157, 50.56377430493308, 50.56398562340492, 49.77136927878929, 51.86300753275754, 51.536008279878615, 55.9335077622938, 55.53903138686586, 56.467237981325866, 56.31841523233738, 55.99670043339558, 55.94863063398692, 59.8644399370526, 60.25682803991596, 60.561254949735456, 59.106669524514345, 58.15099700420168, 57.74639876081543, 54.424254153906, 54.50760138958916, 54.5481018920784, 54.21840473054777, 55.342501205259886, 54.230144962807344, 51.739093061079984, 51.95706253516962, 52.079028656784935, 51.19175373415902, 55.27977613865546, 55.54627327007469, 55.49673408255524, 54.652800616013074, 56.29274525645814, 56.241065392234674, 57.349909148303766, 57.38111612807345, 57.565354678026765, 57.61742350054466, 58.41046598373794, 56.85236601666536, 54.34884356621537, 55.06720495121382, 55.35465248467164, 55.11074534757236, 54.860097620214745, 54.678166464923095, 53.87571512138189, 53.45003759547152, 53.35594622004357, 52.7609968443822, 52.3739005410831, 52.53331046514161, 53.21970030726735, 53.372661540382815, 53.619279698257074, 52.70927179359376, 53.410227023576105, 53.03320953229069, 53.36386405275444, 53.149770811235605, 53.08362466821379, 53.34235147768961, 53.100532472144415, 51.49396228618114, 52.3942541053526, 51.23542825177668, 50.85870073996265, 51.37648882205104, 51.14902513525976, 51.207078341581074, 52.17343222657953, 52.21352604123872, 52.39777878903804, 53.54589691744476, 57.51035210978837, 56.32211115546218, 56.26129642561469, 56.65481110068472, 56.462387796247015, 56.31086201626206, 56.61020079660753, 55.64922856784872, 55.29284666682229, 55.25990719039838, 56.93564447128851, 57.547038791005285, 54.86776949984439, 54.62108460364146, 54.74600047549019, 55.341773640289446, 56.22372769452225, 55.404734035792096, 55.57570118238407, 55.59752642125739, 56.23918442125739, 56.319055181294736, 54.479513246342975, 52.18848337200436, 52.75349743635231, 52.67602031598194, 52.782479148615, 52.89743071802054, 52.65677277023031, 52.577093440631806, 53.72201037184875, 53.84228224198568, 53.908848166822274, 53.422012715208986, 53.01626802661064, 53.65312144903517, 54.47909053641457, 54.273973984514726, 53.94547546132897, 54.60683897868036, 54.23261275988173, 54.11781537143572, 54.68396310621954, 54.18898086111111, 54.182365309368194, 54.36110366643003, 55.45357307920946, 54.75938759547152, 54.41767801929662, 54.349118618736384, 54.83664969389978, 54.37974261780202, 53.98499290475931, 53.87036812428288, 54.19514793176159, 54.012501843215055, 54.5085093320884, 56.63024556431397, 58.33902697220019, 60.63672388095238, 63.318363974011824, 63.3125691060036, 61.253353600291135, 61.6929124151883, 61.03606681535948, 59.00587131321911, 59.553009074774366, 58.67654979738561, 58.65336989044506, 57.23573677512195, 54.94045217824732, 53.021489281937306, 52.229864181806334, 51.79761093798631, 56.88220997066605, 59.38309627089623, 61.08628966153128, 63.641177124754265, 64.72770947782446, 65.28938455532213, 71.99585325327381, 73.04882969887956, 73.48470694016495, 73.57878756257327, 73.06465492374728, 71.36833692265795, 73.34871786134454, 73.42447682197324, 73.54138318689697, 72.58092981050358, 72.97058048319329, 72.64153259685848, 66.8556945953159, 66.37661902746653, 66.53818236834734, 66.6472248802521, 67.13299012960151, 65.79480291223156, 64.51411875933707, 64.58317844397759, 64.18811176721263, 64.73852083295412, 65.74330362993632, 65.47154957579895, 65.42777162182735, 65.09394909694988, 65.35135246529723, 65.5854961180361, 66.4651953455234, 65.78911713087457, 65.65459362286025, 66.15488227754435, 68.0575063570268, 70.52287012493233, 70.87562383940242, 72.13592621680738, 75.57861241760038, 76.37483190620073, 77.86346604470121, 78.84308565966386, 80.26709241332088, 81.24404742452538, 81.10153074540928, 81.21617305003112, 81.15333071676324, 79.0841836171802, 81.16129034780579, 80.93974556263616, 80.93440898840649, 80.98448868572984, 80.3689641712308, 80.02570427684407, 80.39314325077808, 80.23818169545596, 80.59220392413631, 89.33975411523497, 89.33331609776174, 88.65438558849468, 88.66791523288205, 87.79878144849052, 87.12588840935263, 88.27298395627139, 90.05845529863056, 90.0509279521942, 89.7045151876195, 89.64518180283224, 88.88868458071136, 81.29089577443199, 80.06922705283223, 77.56843995420363, 77.76097386926033, 78.37574250949268, 77.50969188328405, 77.19476231333644, 76.13733789070312, 75.72663731963378, 76.5857999084079, 77.19947296599751, 79.72412636924538, 79.82474640180516, 80.57944879178338, 81.83823793349933, 81.93201754310614, 81.82722131062427, 83.24646744109866, 83.9111061949113, 84.54657808778676, 87.10722828453378, 88.42569105454339, 87.16078988636981, 85.99870563793269, 87.12308161212492, 94.04023993151084, 94.2098108115992, 94.7866853400161, 94.9263323450306, 94.67100610601408, 93.66075858051155, 92.48911527980027, 91.0432977385196, 88.82088934074652, 88.03747385410831, 87.50584344037442, 86.43454737402492, 77.97222357199074, 76.01133283943032, 74.92425246607532, 73.97123102295362, 73.48484372167755, 72.08262324961554, 71.17815531653184, 70.09170602386052, 69.2751374641301, 68.8254948951123, 67.9182084851385, 67.93005732409115, 68.58528634827265, 69.13004783633549, 71.21468888274015, 70.57917160348583, 69.66070000910365, 69.4911546593997, 68.89580155481121, 68.72038777871083, 69.08436711450425, 67.54899004558109, 69.19956940935263, 69.28563616275041, 68.76604186350569, 68.7697898916122, 67.5992670288496, 67.30635920422957, 66.43841813754733, 65.51646041017675, 65.41415692094616, 65.2564766606689, 69.9060660178895, 82.59601972476968, 87.10314270465246, 87.0803084449891, 91.58395558418924, 90.994442880374, 91.53772993425147, 91.48135834751024, 91.7479527181912, 91.97214013423007, 95.989019125817, 96.16652358395582, 90.78388692971626, 77.04810230310915, 73.07795244172114, 71.47494241319315, 67.53692949912724, 66.08342420556131, 66.89389349494243, 67.27523941573295, 67.64906958602941, 66.929490676704, 64.73507764231248, 64.93809822183317, 64.1389300286687, 64.69462275142084, 67.10900454899043, 69.30102532285117, 69.9455169642079, 71.15890392091957, 71.04564772042029, 70.75029747461421, 71.0561220087146, 70.77619041472144, 70.82900502884377, 70.64078391394335, 71.19974206162466, 70.88206793907304, 68.42429483608518, 68.36021858207526, 67.48695830364275, 65.45554487303133, 64.86918473723934, 64.66383885809424, 63.91890835620915, 62.68582219978797, 63.05904155523135, 62.20211234002356, 61.372983900504025, 60.88466314358725, 61.696041022175535, 61.70247645688868, 62.21252203474169, 62.66790938562091, 63.77145059570494, 63.46828982050331, 62.8364381175122, 62.67358520728291, 62.45876824968877, 62.54310059665422, 62.96698193661625, 61.83077162262683, 60.651650466308745, 60.36260321055089, 59.89254008185495, 59.13332420603343, 59.758553209270325, 60.05098267250234, 60.18324692193504, 59.98133871988795, 60.14214380983504, 60.0239856556178, 63.48843214478974, 63.47615843300666, 62.70193460443627, 64.09338282683231, 65.2287740007315, 65.34505734368567, 67.40518449418123, 67.8964104156904, 68.14468326482476, 71.36063973783324, 74.2499101809948, 75.31758983464974, 74.26900648537847, 75.20252089674759, 75.9461845719687, 76.11538245702562, 75.31329217258013, 74.13338224564924, 71.28988079769685, 70.42362762293807, 70.32059194392644, 67.46218838927793, 65.54762500544662, 63.49796817804622, 64.20710760776532, 63.49713695855834, 62.591911505368806, 61.93109767203678, 61.885991484488805, 61.70104128247613, 64.57051882205104, 66.00350637114846, 66.64552499295895, 66.3024722930426, 66.57987426476294, 67.01320146537503, 66.41418955704366, 65.8708497438531, 67.05438959243763, 66.11396115421724, 66.09109883971367, 65.4613901415344, 63.762477168767504, 62.73901112566137, 62.23373761990352, 61.66281828559563, 61.94341638523186, 61.15349487099284, 61.72517608457829, 61.81076650003047, 60.91856626889593, 61.36995795217042, 61.78528206535948, 62.66891856753812, 65.25025199673202, 65.66238986935886, 65.72426086873249, 68.02176486204482, 68.81819979363328, 68.60799727900456, 68.54031006769375, 68.77025781364767, 68.58791805571117, 68.281503078362, 67.38556836624649, 65.48155604481273, 64.15057806356988, 63.42274333191397, 63.37938972984749, 63.47068817955702, 65.20370662177093, 67.67140542732648, 67.85784023540825, 68.56675552769997, 70.35378120256121, 73.95949696981015, 76.6951797491441, 77.52718849377528, 79.69758327948958, 86.42468249348545, 97.1572256098956, 95.5102400337584, 94.13658848319326, 92.24121330905696, 92.450564192188, 91.16177180979165, 92.9580324753346, 92.5491773745701, 92.52050334064737, 93.53438591521314, 94.1325618341114, 87.00450426781693, 79.339716513151, 79.83738145317525, 79.8005917814603, 80.33260222089947, 81.40159054489574, 81.36950834679428, 81.28372243629282, 81.1569507736539, 80.50514782352488, 79.19411401959556, 79.4807516493931, 79.3235363366013, 78.93905653913788, 78.7003244514623, 79.07415039050083, 78.76105083175317, 79.22688882722404, 78.69617623900903, 77.4029294243276, 78.03583095829443, 77.86123431206144, 77.33015105617802, 78.13936536290072, 79.02949866799794, 80.61493221055088, 81.42875401082668, 82.52600805875392, 83.25377207351599, 87.05468075485608, 88.96372080787583, 92.2817973808073, 97.19770608598898, 100.34164217849757, 102.56369069957456, 105.58163106571864, 107.834667305839, 108.93397094322026, 111.9417797071273, 114.92534041036416, 116.02081955864134, 113.95631453446934, 113.29448865063802, 110.27485982718642, 118.82296972322324, 120.58098208016808, 119.91575559220098, 119.52618339689803, 118.79288941293184, 116.60943278882664, 114.0284499048358, 113.31341886114288, 113.66451735652038, 113.29208979966384, 113.51347333964756, 113.75560028718812, 104.97708196459696, 102.43826461409314, 100.84219326930608, 101.53346341112928, 100.6550823713819, 101.53486333037658, 102.78810954574126, 102.97433054077186, 101.97570999548708, 102.09163830711174, 102.29920127628256, 102.87003110932147, 104.8263471914838, 105.39794638857768, 104.5252419871181, 104.18435945456493, 103.565765851385, 104.11723618198324, 104.6757089327731, 103.50862764391664, 103.22807888982258, 103.52289015588278, 103.17303606450358, 102.03877704892528, 99.68011420546868, 108.0501457953626, 111.58554013030616, 116.24067098957232, 117.72218096195148, 118.04700473825083, 115.97895361352316, 117.00410567197548, 117.60332700031124, 117.72890501224715, 117.07278190888644, 116.4399645028011, 115.62314546895423, 107.71027709033612, 107.93759617088736, 109.78134714620622, 111.68344185893244, 111.07919488985762, 108.36419060506913, 108.37752837581698, 110.12612316067536, 109.7719874640523, 109.68958999903128, 110.03141655648926, 107.6572427584812, 105.61336480469966, 100.16644503921567, 96.65855704326174, 91.9355687168534, 89.53798371553461, 87.64603136224888, 86.43698664122314, 83.91686016269841, 83.08288917112559, 81.09354927614379, 80.97231549536843, 80.8184873874199, 80.20310378189322, 78.58031631228309, 76.89267829164339, 76.72628022159975, 76.78455037558356, 76.17683840356251, 75.9771438654684, 75.20524457547464, 75.08212288379731, 73.88615763793143, 76.29356550210083, 77.25497822309822, 82.57216367102396, 83.54506192033841, 83.98209763778054, 83.69331845946637, 83.55467970146603, 83.51635248691396, 88.53935599397087, 88.12252392544269, 87.82729222076642, 87.57240988551627, 85.19176799502023, 85.05878080143167, 81.52339793121692, 81.15105431276498, 82.99942078244631, 84.46752350202304, 85.20239391964549, 83.66293330078587, 78.89731072272085, 78.82767653577325, 78.08492648054776, 77.8308420836819, 79.1413521547619, 77.12926389164554, 76.91120618316215, 77.42692481113735, 77.27091544736035, 77.46497972930283, 77.39401576218751, 77.12563266977902, 77.75868172771398, 78.03191304975749, 78.89385207967634, 77.60930850331717, 77.29166676423903, 78.06713794462924, 77.5985466715162, 76.4565844060263, 76.30187414899878, 75.62337496008404, 76.26088548085902, 75.87226883948419, 76.40827431716465, 75.72760695681217, 74.85638066051976, 74.6882481267507, 76.22666612423048, 75.72783233607481, 75.88666583232181, 75.08469023783364, 75.6455683828976, 74.72973084718332, 73.98974387563608, 73.64142787083722, 73.03700164234779, 73.05227290734213, 73.62656819257704, 72.51871928944911, 72.05332845721382, 71.48814153991596, 71.4377284957205, 71.4992059467009, 71.55592060654764, 71.95084011725801, 71.77597978114758, 71.90741443619669, 72.74033156173944, 72.58810952069717, 75.88006655697377, 75.27806328859322, 79.81550885636476, 79.75089838328334, 79.24648885939932, 78.19198340530397, 79.07133832671958, 78.06007674362614, 77.96242478773732, 76.88778611204351, 74.5059492890817, 73.34625400326797, 70.9846657244236, 70.17599641867413, 64.66476024521805, 65.38039399222701, 65.27374759590276, 63.74486734422658, 64.44417314500276, 64.41271712602513, 64.4626579868503, 64.13873446930967, 64.00858970088457, 63.20496538313103, 62.769589538395394, 62.16633832804233, 62.58737614534702, 61.18111259990663, 61.31413456006847, 62.25383664091192, 61.90490598253622, 61.99552716977902, 62.47455513250856, 61.92870411990352, 62.22316829427327, 63.540803066214906, 64.75878337121594, 65.31365800605657, 65.51977345681605, 66.12617780711173, 65.31127045666241, 64.24607005882352, 64.52658302552132, 64.11172855205415, 63.66728454720231, 63.52689385247432, 63.24951077097015, 64.71526656830127, 66.8554829835045, 68.89201912561917, 68.03758976096644, 68.75571815919702, 69.2558747079832, 70.8628330851573, 72.86583000404606, 72.94668662247122, 72.96112116853408, 73.27743595447855, 73.37020215128771, 71.28304225792677, 69.8380927562286, 67.68865131965401, 68.11027295012555, 67.61667185308346, 66.75381157593401, 65.23085816051889, 64.170909262636, 63.928412581215376, 64.37938023426749, 64.34647790488461, 62.97041855827886, 63.99296527474719, 63.55499836227824, 63.23571061858077, 66.33894346039527, 68.570593033843, 68.9659655979614, 67.53433490109565, 67.79725736351669, 68.53060574673202, 75.54322105291006, 76.81472893844926, 78.50607804787063, 78.68960763663243, 79.73899500754747, 78.6843626351184, 78.52317386873638, 77.80888820658265, 77.54496189284482, 77.48573599898398, 79.48204320284007, 78.30849334313724, 73.01144065305012, 72.43237640153414, 72.2197277604264, 71.74277126151571, 71.91374742156863, 72.21985665483972, 72.47608712669253, 73.09284230682384, 74.16367017016742, 76.78395484998443, 77.30319606611553, 77.74270420144724, 78.71007790009338, 80.61615685690619, 82.01414047790226, 84.10535423677119, 85.27166460768753, 85.38262142509467, 86.19305047388217, 86.83132800723624, 87.83171081777155, 86.45928673295985, 87.8803176950669, 88.48434065336137, 90.79711144895738, 90.9027975987395, 90.66912211727488, 90.3135010043573, 92.15985021444132, 92.9969971931995, 94.16807996008014, 95.38747180424062, 96.27497182220668, 96.67745977910052, 96.99343720837224, 97.40795101633988, 96.03276443417369, 96.59784391479472, 97.45701009025832, 98.08799501712252, 99.08122651797385, 99.67698492592592, 98.99272019973544, 107.23313489807036, 107.51336018339558, 107.02570051808536, 111.07431196086212, 113.00154369094302, 114.84062022338938, 115.4228098941799, 116.11892263056332, 116.71459875194522, 117.6859109746343, 118.02021237542796, 119.66307092903828, 111.54486560912186, 111.3340824700436, 113.92942204176782, 112.32891671537504, 110.6014343909119, 108.83629495572154, 107.2506977761438, 106.26544143230625, 105.34470614137877, 102.6510540345476, 100.70535362032822, 101.514555241632, 101.29505993473748, 99.27898366589186, 97.10056418949276, 96.62505903310895, 96.3216195331401, 97.12213017909332, 96.53258986000316, 95.56324177816684, 95.39135616786297, 95.3927435908808, 93.67076083504512, 91.73685527968344, 92.75293570818036, 99.46130410967749, 98.51857238316605, 99.2209100382768, 98.370219337535, 98.19944356691566, 98.90778197844692, 98.57302509842826, 98.49845395502643, 99.05747147681296, 99.16819182065048, 100.37698871054636, 99.36139279730392, 93.48522388741053, 94.9286295140056, 97.02216735939606, 97.12580920712728, 96.55155522153768, 95.60974785697752, 95.67039378594772, 96.01241774813258, 96.2504389046802, 96.3197758003391, 97.06153373661688, 96.41529852800733, 94.46173884243696, 95.2816676005654, 96.78242655975724, 96.32133299128542, 95.29358806737538, 94.76905837558355, 94.33113079528478, 95.16833179170555, 95.62033886570184, 92.96037854481791, 92.10222391355433, 91.83923980897848, 89.08634786232622, 84.33733234819483, 79.96379749852163, 77.91918673770554, 76.40160117529373, 75.20242825256769, 74.05046552038593, 70.96321751347521, 68.0317616590414, 65.85852166285403, 68.0503226625428, 66.54078728104575, 71.10942565678494, 71.15815247689076, 71.21670807173982, 71.77611526867413, 72.22223573910813, 71.6228285986617, 74.17180008006535, 73.97235427834664, 74.09006090343915, 73.93990616666537, 72.43863329248366, 71.41758451811779, 74.22128467483661, 81.01549654466558, 81.93490100304042, 82.0808371538282, 82.47549284554934, 82.36900028695663, 79.70251484197011, 80.23315980754101, 80.34361561943666, 80.68288784803921, 83.25443808442266, 84.32210764814751, 76.50088347619047, 71.46228889810084, 73.98284718386245, 74.18705111422346, 74.3363266897182, 73.97053798132586, 74.93703358162153, 75.49993599961095, 76.32819724618737, 77.70801021016185, 74.79181283963585, 76.61499712861811, 76.91240809741676, 75.64694997206466, 73.96209119032058, 73.15157001283846, 73.42242256489261, 72.82776007117309, 71.38066666915655, 70.30693165694055, 69.16554449175226, 66.85401890063152, 68.49307640273888, 65.86561132228448, 65.49608140756303, 67.03120548913029, 66.36773975482416, 66.51473079715218, 65.4637109003268, 64.89335573242558, 64.82398134033613, 64.89023047455649, 65.27043841549954, 64.00260925114638, 63.6224193252412, 64.9379562393713, 65.01460586492375, 63.12893341606559, 63.711892212914336, 63.76357887861811, 64.68334440423995, 65.45123690351697, 65.57147239620292, 66.0513320507314, 70.21490783613446, 70.30589492647059, 71.09950523474946, 70.08641785333022, 69.518812587642, 69.66230343647425, 70.44535302030813, 70.44482327521008, 70.45968350256769, 70.08447128159041, 69.93572962472768, 71.069491695845, 69.94633418440709, 70.10900734547151, 69.78738422813569, 70.51567675163399, 69.09865088702148, 70.80323806261919, 74.59153006279179, 75.72063829673768, 76.79980319109866, 78.39018514526923, 79.08122209586055, 76.7677241538282, 75.72502108169935, 76.28052661772163, 75.68802241962341, 75.91799037620603, 76.23216782725775, 72.26887649936391, 69.54876679209461, 68.24678666321327, 67.03294015441371, 64.74339746981013, 63.32035991822284, 62.88940841221603, 63.06865653835979, 62.928132433629, 62.156222333756745, 63.09930718922995, 64.16774790913868, 64.37327074323325, 65.70079729352761, 65.94521272432306, 66.42495564526922, 67.31393917111345, 69.65956389659198, 70.62736143730174, 71.01875926361656, 70.98746581162465, 71.88058943650793, 71.67589672300096, 72.28777959422658, 73.20686881847183, 74.69844079201681, 77.0883170087924, 79.72554966230936, 83.08641448552754, 83.94788386577964, 84.87520035770245, 82.81089582251789, 80.67707724089635, 79.16510902676626, 78.70361028096795, 76.08024760768753, 72.76972023776393, 73.46817619825707, 70.31980213136477, 67.70005537550576, 65.47495013730288, 62.20023239379085, 59.49457206738251, 62.97252479046063, 66.60591159056958, 70.28919454217242, 71.43358975598738, 78.36733731442577, 82.26898795401493, 80.69668916308747, 83.82691185317461, 93.11438402961544, 92.54289404189066, 92.54191127147529, 92.35618058014316, 92.51687126019296, 90.99221474915254, 91.71720065063803, 91.85167088006992, 84.14934562573919, 82.7475892399228, 84.20730877575474, 82.92742719032057, 77.46883821599752, 78.05932709182036, 87.65013602948959, 87.9945595616655, 88.54722737130409, 86.51399845759414, 87.37075390359477, 89.84012280610021, 91.92976807345808, 93.0780972423819, 94.82701895467372, 93.82465937962962, 93.16520334794455, 92.74911247750804, 86.39143110286338, 87.38275497681295, 87.77643878091608, 88.77798923755057, 87.77088699688764, 88.4970006633948, 88.1618456049642, 88.21292945399937, 89.79007323373797, 92.89714578328017, 94.17154612229884, 94.79942617865738, 95.63764609310614, 97.03753090583568, 97.49103300545508, 99.77235988053695, 102.22955623630564, 104.94179938087456, 105.92947547836914, 106.6705393352269, 104.98444437029062, 102.48248833948024, 104.62029039052288, 107.87806515024576, 111.69630968129474, 114.87834821483035, 114.7130874379085, 113.43038475664753, 113.75786674808722, 122.5657449679032, 125.7590401336757, 126.54016807111734, 127.79324136577574, 131.0061535925148, 129.2131081625065, 126.94058502738612, 126.10052125591346, 122.52442646988794, 121.1386983777622, 118.54824822836916, 113.8048898795518, 101.59604171809836, 96.43061188265963, 94.1734854117232, 95.62068909477124, 91.4966643278867, 90.5834710682384, 89.08349876276917, 85.86733359138266, 86.27520839526922, 88.36253331854964, 89.7862379772033, 92.57022400505758, 94.6684570786648, 95.22866958162156, 94.16581117275996, 94.12960805423282, 94.11169267086834, 94.49795981908652, 94.16091911673736, 94.53242776556178, 93.86915447152194, 94.2468417047152, 92.96942632072827, 92.17194429186118, 92.9513089522986, 99.58978448117026, 100.3882425569516, 103.799195548864, 104.2852483812721, 104.2335975007781, 104.5403438583878, 104.33814470899472, 105.2550736694678, 105.48223111118892, 105.26928255656706, 105.45233117919388, 103.1011250262763, 94.72996284376391, 92.95406471366324, 91.78792120437804, 91.08737572619049, 90.65171428812636, 89.4543314894154, 89.1811117587146, 87.3752721503268, 86.82310996996577, 85.78937755174292, 85.54978759671646, 86.20252860219101, 87.65410591323054, 86.68422162041522, 86.57401098234325, 86.69944238938255, 86.5280331755369, 86.08953544164332, 85.72443875163398, 85.10927621630874, 84.45016377740708, 83.1506207440087, 83.47741029901961, 84.38027636655774, 83.94492003649236, 83.13165821648532, 82.09467255104263, 80.75511300545051, 80.56038764558045, 79.13079636251166, 79.52233429092747, 79.36378418292873, 79.22147108566051, 78.25999366534391, 80.71924312387176, 79.58637515133832, 82.30424113297542, 80.0488728453159, 79.96407009173669, 80.08495525933706, 78.88659426167133, 79.0485623600231, 82.31099705897915, 81.3201434377853, 80.67545264394647, 80.04656746023964, 80.61081677746652, 80.81705813266417, 77.33936988243074, 78.09004902010064, 78.1150909921413, 77.80180693432929, 77.68063272268907, 76.45120854974712, 73.58655404115963, 73.62025585633559, 72.10044539145657, 71.87145480228757, 67.940097208061, 67.85335071140678, 67.63727469094304, 67.07661634897292, 67.64049340546218, 67.34769564713663, 67.52449760473078, 67.47504892639277, 68.08918367253541, 68.80798417016807, 71.38968851906318, 71.59296049727669, 70.68836833076564, 72.70119871564867, 73.25112926626205, 73.34995057391373, 73.81400032463922, 74.38850107929532, 75.05781016153527, 74.3968275427232, 74.23990259142678, 73.46488798991723, 70.9161755646986, 70.85250643062069, 72.40490017524138, 70.72019071950605, 70.90506953104574, 70.30474810208527, 70.71459555322129, 70.57723277909015, 69.82212527956739, 69.75576343993153, 69.96959328944911, 70.42376323848428, 70.65179434733894, 69.12711034344849, 67.87094607765134, 67.9387362254902, 67.25772609586056, 67.34241130010894, 66.9713949773576, 66.61766027131964, 66.38327912488329, 65.8615433934018, 67.25797258237498, 67.11687826112667, 70.46057518331777, 70.66922296467476, 70.46186220557111, 71.53888827805142, 71.26453716511048, 70.29191851421352, 70.98223767771553, 70.64412224525366, 70.94724247650171, 70.58622096654217, 68.97179896669779, 68.62579504933083, 67.7228273312325, 70.59653186258949, 71.3818565394491, 71.32942829940865, 72.37893042872706, 72.4503477885154], [60.316020546483685, 61.08960212005914, 61.73570667219111, 62.17286026462808, 62.81174693059447, 63.063571968041934, 63.81626592001246, 64.50611295564893, 65.4474231161687, 66.53559968892002, 67.40158350628957, 68.44744680547774, 69.04716043253968, 70.0845709103408, 71.55404857910895, 74.99764921568041, 75.86370302213729, 76.53762917063491, 77.07631534265096, 77.06183071499444, 76.43662895905565, 76.84774166946778, 76.50393194786803, 76.21606239643634, 76.09712174190788, 75.79423646171803, 72.98068208904061, 71.39319597961408, 70.32272102388734, 69.94397718464052, 68.7170340953159, 68.7333532513221, 67.87674422734919, 69.49415963995547, 69.87656822771685, 70.11554861134454, 69.633076851575, 69.6489082499222, 69.71146548015872, 71.45904567608153, 71.4273096153906, 71.96095100988173, 72.10010529909741, 73.61325882049486, 72.5652810489418, 72.98296659277223, 72.87586332088391, 72.57738395518209, 73.53130864371306, 73.1241513256951, 70.95636043331453, 71.58100172182735, 73.05176948918455, 73.5393384380641, 72.92586817063491, 71.7559085729037, 72.07820552489885, 77.3450534414099, 77.49789887830688, 78.9010131388085, 79.86249161153324, 81.80797537387242, 83.40448078649237, 83.0454327106501, 82.45991137464986, 83.2084384423436, 85.43896422315592, 86.07103192440607, 84.60943806676003, 90.60824878602553, 91.45715840367257, 91.00514580469968, 92.19841511515718, 92.72313654710554, 93.36808559173669, 93.97587966876752, 94.27409886399006, 94.28511057469204, 93.9055906879085, 94.21903212775965, 93.59454851244942, 86.179249666122, 86.64223013577653, 86.96465744973544, 85.48072454319899, 85.33323132664177, 85.78541342281358, 86.83372181582634, 87.00380922626765, 87.27759642211329, 87.59028986399005, 88.09410111655774, 88.62001430999067, 88.41728538966699, 88.04044355485529, 88.029074232493, 90.02775252943123, 93.91146596162322, 92.63219788328664, 91.32518808356676, 90.49409373669468, 89.09093695175848, 87.92248927670077, 85.80142209889512, 84.41306748373793, 87.38973651817362, 86.20351314369812, 85.01786207679739, 80.9691832763674, 75.27507860127218, 74.68464816487706, 73.34116339883221, 72.6744924682326, 72.8162102577809, 73.44415432096173, 73.99916870287765, 72.58572695627139, 69.41838523310706, 68.63369150404606, 68.25621872385621, 68.17484185416991, 68.19642155718954, 67.7289060734516, 67.12631886375662, 67.0185683924681, 66.14254097175537, 64.64323909998444, 63.74294756753814, 62.96181024836147, 62.386371653570784, 62.10460147976968, 62.20569447346717, 62.748684403836016, 62.84946913009648, 62.6295358627451, 63.18726283014317, 63.258459537120046, 63.805717126828505, 63.51368196428572, 63.5575829781357, 63.54645036772487, 64.33982127373172, 64.86134818067227, 64.9604351197479, 63.94693589195845, 63.93824315018286, 64.20506558434485, 64.18664949712108, 63.98051139575949, 63.55846295276999, 64.18135241137566, 64.48615159912855, 65.09909978594122, 65.31459788737268, 65.29715762784002, 64.95190842569251, 65.7575296161687, 65.87499438787738, 65.89237918604108, 65.80957763966697, 65.72076575412387, 66.06595354410986, 65.3027328015873, 65.51253218067228, 64.79992873700591, 64.32068491240673, 64.21154825918146, 66.50934362083724, 65.43164333543417, 65.34337265725179, 64.93205249004045, 65.20626991798942, 64.88770280026456, 65.37635298638345, 64.89527433984378, 64.07543164169002, 63.55175648568316, 67.47974101851852, 65.78951918479613, 64.24984005336782, 63.90762941408461, 62.9852899745565, 61.80850821521943, 61.04576578205728, 59.71262440157174, 59.04965182057268, 58.62298079153376, 58.49786003423592, 57.99729047066605, 53.14214431053533, 52.71924208029879, 51.77273831248054, 51.373364051281264, 51.2966159763461, 51.273037816837856, 51.210854995331474, 50.74011396763149, 50.29900639705882, 50.143806499922206, 49.85272192927172, 49.57623470697168, 50.52397294421102, 50.32155993643013, 50.2262625508831, 49.99425458885777, 49.89087698085901, 49.49930408512294, 49.02509846537503, 49.11919883131031, 49.453382461873645, 48.87813873552755, 48.78303681784936, 47.73023523599439, 47.25985756699347, 47.21035113243076, 50.02288554691358, 51.05102740094927, 50.72984647011426, 50.58745517359166, 50.82524704995332, 51.34550636850295, 51.048296704404, 51.27243811834734, 51.39468339347962, 51.48480469467787, 51.92025633208839, 51.85721126514941, 48.40754967981637, 48.25328357088392, 47.83382240117557, 47.8645146394608, 47.72534504232804, 47.04154708053026, 47.12584643137255, 47.96064169724556, 47.901957740351705, 47.91171295751634, 49.071199134687205, 49.16237152212122, 49.47501090538438, 49.64087595922814, 49.67296944825709, 49.48052207913165, 48.92190631154296, 48.61631135115157, 48.29355990211641, 47.57767191756797, 47.24816257128983, 46.06418239534703, 45.36516621031746, 45.13540328801031, 44.90735471848739, 43.75949679398928, 43.61355372097728, 43.57247893417368, 43.73873372315594, 43.542639731637095, 43.65829598786181, 43.4939195961718, 43.46886125272332, 43.13681667755992, 45.397206782806826, 44.462910436585744, 44.53586714666978, 45.733528978135695, 45.842774179505135, 46.57678683162482, 51.98690055641145, 52.688703625817, 55.25342425782888, 54.379002963037536, 56.48583731629319, 55.40269438818861, 54.08372735901027, 54.06154618176159, 54.1003533085123, 53.3080704064737, 53.02270442841581, 51.49301289952278, 46.76036257671958, 44.90099169942421, 44.07108906543729, 43.4897019642079, 41.85360638920013, 41.81325703306878, 44.31215374867726, 44.47928923739367, 44.20659442382509, 44.18790536094642, 44.42473451929661, 44.23084787401961, 44.19000902163087, 44.29675898988485, 44.20645227692188, 44.05688974922191, 44.013507438530965, 43.25491584772798, 42.16559596739808, 41.92248093814192, 42.11351163064114, 41.41379995206972, 41.66406700147838, 41.88235852513228, 42.2022555655151, 41.69600986912543, 41.34371859842826, 41.72335029481793, 41.96712711041084, 41.23480580205415, 41.79496573669468, 41.8669975489418, 41.830707187752886, 41.88172807531901, 42.45128386601308, 42.010500048085895, 42.89741433963585, 42.91210275132275, 43.221607122549024, 43.15891889830377, 43.06561507298475, 42.666565928338, 54.51695963103019, 54.58228585457517, 54.9744034922662, 55.62208251163309, 54.70251726859633, 54.50056206076875, 53.984510463818864, 53.97334794359245, 53.86694980368814, 53.77418163857765, 54.07334806255837, 53.1446539615624, 52.48884690341259, 52.15796449945535, 51.584843563656776, 50.9257336800498, 51.43885150840336, 51.103281823218175, 51.09032658948024, 50.69825824502024, 50.65246002676626, 50.86168368627452, 50.57518872080468, 49.55798590460629, 43.99010281753813, 43.94839885084034, 44.1720989668534, 44.412925494475566, 44.48563701828509, 44.43027747338936, 44.5022178796264, 44.72971688632119, 44.99440315180517, 45.13067663787736, 45.23562870627854, 44.61594506448153, 53.432925668142445, 55.31946432671958, 56.96696031224713, 56.948188038281984, 57.26492105368815, 57.74612720059136, 58.10941245284781, 58.53208665001557, 58.57559031520387, 58.835675473389365, 59.01775536896981, 57.34331992545907, 47.464168732570805, 45.983113518907565, 44.656871768362905, 45.38320707142533, 45.04849415787426, 45.22630570409275, 45.05675691300965, 44.861146779022725, 44.75718466044195, 44.77341951719577, 44.794725991363215, 44.50911369779023, 44.95310855687831, 45.213555519141, 45.29827579302832, 45.236219295985066, 45.52928990966386, 45.19217409716906, 44.938425145395016, 44.795813696078426, 44.937450306567065, 44.56562854590726, 44.30617098910675, 44.38014773529411, 45.24692746755369, 45.4271888488627, 45.2794521408341, 45.32875273309148, 44.99149908545558, 45.32234187488328, 45.879423140445056, 46.3405899362123, 46.53211430407718, 46.857302872159984, 46.88138373353629, 45.75168838497966, 45.02470510504202, 44.73927925774231, 44.79827076121292, 45.09023150980392, 44.8190655740851, 44.58730049712108, 44.32633851681258, 43.63408979629629, 43.67411997619048, 43.2696430460804, 43.27866707306256, 43.20980568378462, 43.17736769545596, 42.9915047912264, 42.90750783800187, 42.1181465409249, 42.11979282109529, 41.98506565806101, 41.68286970759414, 41.47585229471461, 41.106017977513226, 41.53778933815749, 41.72198695019841, 41.441783186196695, 41.680836445508525, 41.75002068930906, 41.87364787472767, 41.51934669312169, 41.20617597704638, 41.13908929752567, 41.39071870845006, 41.53766871233984, 41.61751842413632, 40.92876005485528, 40.80004013398693, 40.81087978096794, 41.04227181893869, 40.95592415242764, 40.85101836733583, 41.222084299564266, 41.82834354123872, 42.00907531963897, 41.8420700017896, 41.7653359667756, 41.83863910636477, 42.62167110978836, 42.7277708775236, 42.59406718720821, 42.99696105852205, 43.03060712955182, 45.66648983574541, 45.83043058800187, 45.20582422012139, 45.02706429536259, 45.34130106577665, 45.69499242899484, 46.52794913733272, 45.89643409399315, 45.79343561982571, 45.66801886819172, 45.3748888478836, 44.62055029237148, 43.00714732804233, 42.91811503952693, 43.07001983582322, 42.88588442488718, 42.92359264744075, 41.531930531668216, 41.37494696996577, 41.73520836476813, 41.63670914075631, 41.23080591627762, 41.38265465911921, 41.23120472899159, 40.8705364440554, 41.62373973980703, 41.48108608800187, 41.18148740515095, 41.07877046537504, 41.23749230718954, 41.47047647362278, 40.9322055070028, 41.08074662317149, 41.08928270743853, 42.16847167436975, 42.35149949696546, 42.77687439106754, 41.5586094711329, 41.68025424121214, 41.903128417211335, 41.85933222413568, 41.576153314711725, 41.48069968640006, 41.89600128711484, 41.59517088717709, 40.74500878501401, 40.51537289679363, 40.10611274416433, 42.85330145510426, 43.41722452723312, 43.2339191713352, 42.910716484360414, 42.82742316136076, 42.748359073373805, 42.55462750465232, 42.67634303594772, 43.06251196700902, 42.959769393539126, 42.92642183488952, 42.58946604302832, 39.34729652310924, 39.18723312192655, 39.36528874151883, 39.41219805586291, 39.46247587947402, 39.84052452731093, 39.61917991308164, 39.36595930802989, 39.31345536453989, 39.07946732399692, 40.17806673863991, 40.41246309578275, 39.985225365001554, 39.41708355384376, 39.00373020883909, 38.90593137643947, 38.72751449525365, 38.78382825342359, 39.13637034220355, 38.67162060618128, 38.47450872447868, 38.82255313807255, 39.16090578898226, 39.2348950000253, 40.07445077606598, 40.187730396125126, 40.2916614196234, 40.44486877876919, 40.57406214285714, 40.1948549449891, 39.897139771710656, 39.80061080213196, 39.84015566254279, 38.57637542499222, 40.69607568409586, 40.41398181660441, 40.28168569654528, 40.59603835854342, 40.66368773747278, 40.41449063608777, 45.38858394460007, 45.55285615910365, 47.97793104806584, 47.81948899673203, 49.895907435729846, 49.0340679929972, 47.6401672359944, 47.60195574774354, 47.35319216900094, 47.14830057088391, 47.11210214612512, 46.236513083878, 42.39836694179895, 40.86763326322751, 39.86528149066294, 40.247289279878615, 38.60121570836576, 38.48484554263928, 38.709765649859946, 38.58364487223778, 38.80798278353564, 38.51073427377322, 38.904926729847496, 38.73873618666356, 38.53723489402427, 38.39987344592281, 38.23758340126312, 37.15291474260816, 37.40518985620915, 37.00479946568627, 37.00558995066915, 36.77222727233115, 36.584114968954246, 36.77272350919912, 37.03856634554933, 37.217410748727175, 37.22377067141301, 37.17693100062248, 37.37632312533784, 37.85168500746512, 37.8382806493931, 37.250651420401496, 37.99623360348584, 38.070476583800186, 38.47306473786181, 38.89602196981014, 38.72870911671335, 38.41160308146592, 39.35499916509752, 39.4223127271164, 39.95787987970744, 38.98899116448802, 38.85602704069405, 38.4630667456427, 40.51728233705968, 40.551651900871455, 40.58797073319329, 40.3271285299908, 40.080006386476825, 40.00398885208528, 39.89747135060691, 39.32565882438531, 39.32873404053844, 40.25926773148733, 40.328066781434806, 39.06649203976035, 38.65641362152976, 38.11448609419612, 37.91700951253631, 38.317532452147525, 38.550461814192346, 37.94888629316319, 37.84141901369437, 37.620302728913785, 37.52217650015562, 37.352854429427325, 37.62827465079366, 37.39848794638967, 41.27837276384999, 41.69071637963945, 41.79351132570806, 41.28390824146178, 41.33835873295986, 41.37632545401495, 41.17726715491753, 41.3140122264239, 41.32970332773109, 40.96853132366105, 40.83400972463431, 39.59983442094615, 45.83692911111112, 45.778419268395325, 46.01082497447868, 45.666249836445694, 45.617512708683485, 45.647841765561786, 45.913511794973545, 46.33892028330222, 46.31833440950825, 46.54316654209462, 46.37751290452847, 45.18096721358543, 37.42383824836602, 36.95961312636166, 36.78254271403284, 37.12405410782435, 36.87584359539371, 37.125083485449736, 36.88764053976035, 36.91817297728112, 37.30778336382535, 38.02713205088703, 38.291561291039024, 38.16459780734516, 38.37746858278867, 38.58400924198568, 38.4912854300498, 38.81942764215687, 39.43464345440398, 39.1638394457672, 39.15573175583568, 38.83171028423138, 38.62584407057268, 37.97380776019296, 38.37649795323684, 38.392786697089946, 39.19860416612201, 39.293039292852605, 39.56158315356301, 39.016256902272026, 38.5675430367258, 39.00395565106665, 39.3398110856676, 39.669460229847495, 39.90233795417056, 39.97908802334267, 39.878384702614376, 39.3115435349362, 39.79760521918768, 40.21064477762216, 40.12869183403361, 40.91513488824696, 40.74527734772797, 40.24443089231249, 40.38846688328665, 39.96750957056878, 39.869174263538746, 40.436953123560535, 40.18358715810768, 39.810527095004666, 39.61545710854341, 39.50952518899783, 39.54080674416433, 39.61288199478616, 39.6375483181606, 40.08901681481481, 39.89776078960473, 40.04894682282913, 39.96646848692811, 38.88541525326797, 39.30489648552886, 39.01800620168067, 38.952987537815126, 38.2820553872549, 38.12169294265484, 37.32795912130408, 37.20647842600373, 36.75337108378582, 36.45202070300343, 36.03720070124522, 36.11342852163087, 36.18819859064737, 35.691694976812954, 35.61582597533458, 36.13064721778712, 36.73844953361345, 36.95273309251478, 37.23959465771152, 37.514706857454094, 37.76941983191527, 37.89399027661064, 37.92397863594902, 37.68507809313725, 38.14964492273576, 38.18199702194212, 37.91972174789916, 37.97847982967632, 37.57639055999066, 40.31979394242141, 41.31049464067849, 41.65216683769064, 41.78795334018052, 42.13652990398381, 42.20449800319016, 43.19298793565204, 42.5101895804544, 42.50245106372549, 42.26387995420325, 42.546953923193534, 41.60172656956115, 39.62056512262683, 38.20881845961718, 37.97541708177715, 37.59188323404917, 37.824841914482825, 37.44796972424525, 37.39696511741364, 38.06952479651417, 38.59435801610644, 38.83601279150133, 39.0573191967009, 39.04451687114847, 39.09169639930103, 39.55713192016807, 39.32571353089014, 39.40689195894351, 38.98088886819172, 38.806692265172735, 38.88988770315905, 38.711890332387306, 38.16559565515095, 38.04231993915344, 38.60153233450047, 38.455345828042326, 38.50280364060068, 38.55894922595705, 38.53871274369748, 38.55100504193901, 38.62176929521282, 38.78956946669779, 38.99533596389667, 39.21788947821351, 39.33343527085278, 38.70024233107687, 38.83731228890445, 39.07623209407096, 41.81452912099284, 42.460747523576096, 42.736468364690325, 42.71309388647681, 42.88842535504202, 42.81357112169312, 42.838877328820416, 42.70446795759415, 43.04449446451915, 43.24650548669467, 43.716048453625895, 43.85196122829132, 40.86892914581388, 41.14334477606599, 41.35456322930283, 41.372295105664485, 41.482964501244936, 41.509318052987865, 41.642386205042015, 41.35844350451292, 41.09983011531279, 40.57465760042536, 41.58719408185497, 41.55884975412388, 41.29767934049176, 41.24462372873288, 41.20085482352941, 41.34772878376906, 41.43980604302832, 41.789560689620295, 41.53015382917382, 41.30283814169002, 41.46661274004046, 41.13282925272331, 40.948176523342674, 40.8941821721133, 41.42974324739991, 40.918165352163086, 40.82119020868348, 40.59467519662309, 40.5200464115465, 39.98517553330221, 40.23664089480237, 40.77389771778712, 40.93340527567694, 40.58193039659197, 42.97368888772176, 42.58493748272642, 43.05915107749767, 43.32406030010893, 43.614951107065046, 44.73246572696857, 50.24605966580884, 51.18753280080922, 54.22327588562092, 54.85870872759104, 57.60909442335824, 57.18824002948568, 56.78432780411674, 57.63512332833995, 59.60635872300031, 60.80100404868633, 61.363101265295946, 61.17114466158639, 57.17478058806671, 55.99982046202925, 54.9749220818368, 54.44669444693952, 53.06825695055958, 53.04651056816059, 56.89437008068783, 57.373505611785895, 57.0942804443245, 57.3263440320001, 58.08997168308435, 57.84979367945653, 58.35683810908808, 59.21743519701213, 60.24360512790163, 61.02468380252101, 61.92558270238096, 62.24078962830688, 60.302907003345794, 60.64680546585552, 61.12387559531591, 62.44516427190905, 62.91574202415803, 63.6883510839558, 63.88872685893247, 63.51483146257392, 63.48749222393402, 62.41629136922917, 62.70382519825707, 61.57042780882352, 71.12382226946002, 70.56188540273888, 69.2813146999423, 68.75996544099168, 67.63199330773745, 66.69443718339558, 67.99560557045336, 68.20958217619632, 68.45154378999379, 69.91636227692189, 70.51569605999066, 71.30518178338002, 69.47320298257083, 71.87723962900716, 73.43708830983505, 74.7306797332711, 76.52548398467165, 78.38265220269219, 80.11692661772487, 80.46626086290071, 82.00753046547818, 82.41443439223468, 83.30816482516342, 82.74104404590724, 78.22494966697789, 77.96448892542604, 77.70165975124493, 77.43730980571117, 77.78845533457827, 76.76302768907563, 76.82356928540304, 77.26269685527545, 75.89663452009806, 75.37342024091859, 74.93171799446714, 73.6031961207594, 82.76599689472455, 82.28849135084033, 82.2384258034547, 81.60649216534391, 82.01526462145969, 81.3010272587924, 81.47505706041926, 81.35800632741986, 82.5399435484257, 83.34219689298298, 82.97186468394024, 82.2782564396981, 82.9391530831777, 82.93878154660753, 82.79542843572986, 83.4546047577031, 83.91999966798942, 84.67175053695924, 84.2279786113212, 84.9379016266958, 85.48461972167756, 86.2097973586893, 87.17307982500778, 86.38463234547152, 79.12162763736579, 79.22961865437286, 80.0296701720932, 82.04057836515719, 82.35151234717101, 82.94041033979148, 84.01732740032679, 83.69798692151483, 83.23833563401702, 84.66009573786182, 85.49765695253656, 86.0142210051354, 87.79195062830688, 88.25710937737315, 89.42560607539686, 88.84850425365701, 89.4601150247225, 90.3167176746032, 91.64249956388112, 93.17582434033616, 93.9444616429732, 93.35192188109508, 92.18732000536882, 91.32605362817397, 93.2547498600218, 92.64236761297852, 91.21422661815838, 90.36192017966076, 88.90743209811701, 87.02752087729536, 85.415180528089, 84.08838226283846, 83.4687906556956, 82.68387843409586, 82.50117822992532, 81.38343626805165, 78.35311391402115, 77.61087031115781, 77.69800394637282, 78.08487533254609, 77.29844324844382, 76.88236753361345, 76.07672205119826, 75.29684117156863, 74.8598591206038, 74.6231279536259, 74.76926393923125, 74.52762387091502, 74.75890969072779, 76.05690736469033, 76.09865312873843, 75.03609443727565, 74.94198481458137, 74.75725739698102, 75.68703782438531, 75.82775951408341, 76.10087867545906, 76.01597167001246, 76.15109767317779, 75.9670635168067, 75.31364871030831, 74.50015673404917, 74.22459978344034, 74.61631916581076, 74.22391941814503, 74.84591746879863, 75.0604200410053, 75.63519817779334, 75.21916823342671, 74.25517210947713, 74.17637259256861, 74.44955691129785, 75.58520371344605, 75.95142706862485, 75.66437495883909, 75.30196773568316, 75.11749657189542, 74.27555857235514, 72.9335128743759, 71.8180612745098, 71.11970698840648, 70.61699576929661, 70.3516727622938, 69.10406690141612, 68.15777137721756, 67.25886766915654, 68.07277026696168, 67.17363753306878, 66.7937828627451, 66.10620107749767, 66.21175968211173, 66.20386621599751, 66.77482095915033, 65.18235749198568, 64.1443066599751, 63.27419768238406, 62.45349506714908, 61.15730357135075, 59.74001150171179, 58.24983427131964, 57.53778436422347, 56.74825848361829, 55.9173603182384, 54.304376253267975, 53.36854942141301, 53.16001014277933, 53.0226708671802, 52.9024471407563, 52.75826092537608, 52.40724319233258, 52.236461167257104, 51.96034154100529, 52.251976042794894, 52.28958067881848, 52.5132407491441, 52.40900550036959, 52.44918584928417, 52.85687114340181, 52.41534874673203, 51.57618754232804, 52.371929018362906, 52.3816812246343, 52.24719820611578, 52.728892755602246, 52.29355350089645, 51.80586633892391, 51.36821225342359, 51.23731297447869, 51.06456209863293, 50.08015490133831, 50.24078044646748, 49.69561390203859, 49.68727120160285, 49.409180365079365, 51.42447590791448, 52.60245935996928, 52.39575529547088, 52.27695890740741, 52.40590346187364, 52.52695906388111, 52.53110524495735, 53.01679323070339, 53.15855795650482, 53.22089398521631, 53.15385989526923, 53.03086041513255, 49.72741109632742, 49.58699625832556, 49.83577923669469, 49.795555291677054, 49.59888125855899, 49.206701220277, 49.187093423047, 50.38677365655152, 49.99736397331154, 49.66005358846872, 50.71556966845628, 51.05983287295946, 51.20238561173359, 51.69230403050109, 51.4809525157174, 51.49418314301276, 51.44056983356677, 51.546049042172434, 51.57418101447312, 50.61922089674759, 50.868311943115216, 50.27252155660015, 50.56150342619271, 50.82443806209151, 51.20084757773109, 50.05840048140368, 50.09810876431684, 50.26660408901338, 50.36412691771904, 50.80782538180827, 51.14102319483349, 51.22839425459072, 51.681333088779965, 51.638252669312166, 53.375693961291375, 52.48803320409274, 52.36223678804856, 52.71756335558669, 53.30880098179272, 53.63473715848701, 59.07341511718021, 59.24226898186728, 61.69668367172425, 62.28180594008715, 64.72125507228448, 63.60413899867725, 63.26977043946468, 64.50370196996577, 65.14594004380642, 67.17123270292562, 71.07104705516652, 70.81778977038593, 67.11601920860566, 66.30543473568316, 65.93864325836448, 66.38813292483594, 66.0648641844849, 67.1329598210428, 67.78088287690632, 68.65344564620291, 69.74610699058513, 69.06533671724246, 67.27380949559733, 67.73590806722689, 67.9627966888422, 68.85801538258637, 69.14438420261439, 67.92938443043883, 68.11418561352319, 67.78036017670401, 75.4609477289916, 74.74586506240274, 74.15883958027673, 73.41962750628696, 73.29685990943044, 73.65072286896982, 74.5271611181807, 74.53833787399434, 74.77687699704327, 74.30434442079054, 74.39036593572985, 74.1337655603797, 67.84531118024563, 68.42229011048865, 68.60380493930516, 69.91419091871501, 70.21287642192331, 70.07125306240273, 70.1980779947868, 70.16956880306569, 69.9686185322907, 70.67967150684719, 70.89394310045131, 70.46812823856209, 71.95228859158108, 71.91775050497976, 71.99835335939932, 71.06286668048358, 70.499164431108, 69.72114055921257, 71.42918903532524, 70.62285257376284, 70.82550103101075, 71.62839524027389, 72.01142818596328, 71.99118151575566, 72.37223788861984, 72.7602394423436, 73.4594761748366, 74.57008927668716, 78.432115762216, 78.18214127218137, 78.69918857563026, 80.45065471545286, 82.71652849852164, 85.2959917726424, 86.84825159811702, 86.92626190810768, 91.61096835893248, 93.3185995655929, 94.82135865172737, 96.44026022938064, 95.60953851781824, 96.51274597484505, 97.31863807781234, 96.7178668934018, 96.22234225840336, 95.32071673218176, 96.22402506084656, 97.2035736731248, 104.00525289043536, 105.73746838741052, 105.91718859461368, 105.55749919475568, 104.8299447850918, 106.64144156621538, 108.7061455493568, 111.38391990273888, 112.4600313398693, 112.48337834383884, 111.97372120821665, 111.99276916464363, 105.19038009518428, 107.43455814130095, 108.54642539729224, 109.14919702030814, 109.94800849027388, 110.00105672415964, 109.01832798646124, 108.12038470650482, 108.9188185630252, 107.83544291106442, 109.18905212472768, 107.59517407376283, 107.97899675669156, 105.14162089021164, 103.864843461718, 103.10314660997577, 103.33190386624648, 101.96193487261442, 102.002378729225, 102.12936216900091, 102.1127663274192, 104.4867501084656, 105.47060338305322, 106.5859914083411, 110.60306525272333, 111.01197505052195, 113.12063604341738, 115.04385286219392, 118.39859458380016, 119.38181678096085, 119.20854606994372, 118.90666559663214, 118.3716268007314, 118.41277217156863, 116.64494464347962, 113.22838574517584, 110.12521209043946, 107.70579687404344, 107.24290831629318, 105.16570152745489, 100.53914465351696, 99.56494282267352, 99.44653435561086, 98.24683066094973, 96.42022947353134, 94.10211358520074, 92.91239580551242, 101.26103455119566, 100.42100332322792, 100.36596362807346, 100.65399747899164, 101.74199816744478, 103.70492370650484, 103.38580100684716, 103.14815810812976, 104.71596304878555, 106.85364234037372, 110.01280147159522, 114.80983315679568, 106.4573262097728, 106.71364078991598, 106.84598180999068, 106.92694092413632, 105.63055887441644, 105.60716037184876, 106.480946835512, 106.08213011157795, 104.72300521965452, 102.7544519631964, 98.93977656928624, 94.60339168273018, 93.50925138772176, 93.81961990357566, 92.8725731865231, 91.33673710270774, 90.80422036585745, 92.55582396700902, 90.50202629707044, 89.58205017170842, 89.12140167903829, 89.39787177675979, 89.76637690809584, 89.13234478658964, 88.21201526159352, 86.77240332673078, 85.67362359135161, 85.22627758333334, 82.61676025264549, 78.20578482065048, 76.80226211723532, 75.46650587713974, 73.99302163017428, 73.09312270111094, 70.4879597980859, 69.67742257282781, 71.72834474540927, 70.76654327497666, 69.24113502964519, 68.55604583543418, 67.50779127536572, 67.18796735582012, 66.86674387861811, 67.20348721623094, 66.56516353439153, 66.32062499268598, 65.88542235232592, 64.77586706263617, 61.94912781901649, 61.939074112278256, 61.53829188683734, 61.65134509648304, 61.51224581084656, 61.36857270220069, 60.93431954744334, 60.09673043495175, 59.575245781045766, 59.15641058994709, 58.83623124008068, 58.89058840670712, 58.7744234381354, 60.10006177925616, 60.36276007732519, 60.01350703828198, 60.02229050875765, 59.7485250830221, 59.92845326665112, 60.1575149624183, 60.10086682861294, 60.217893264083415, 59.85736959617182, 59.33509784943978, 58.719834253297805, 58.05389779652972, 57.6384237289916, 60.17629331839402, 59.85149821825398, 60.510907831232494, 60.00912156573468, 60.24601833885777, 60.01260220630606, 59.98700247838825, 60.64680920704948, 60.99382399329893, 61.416650148848426, 61.64344065402193, 62.2036677612823, 58.704390762216, 59.154706550731404, 58.60761050334579, 59.646293230469965, 59.10395664838157, 59.98953078026315, 60.363366143635226, 60.9116110345005, 61.08095070803639, 60.842383360021785, 62.16013050130071, 62.363537958761285, 63.03121989859984, 63.53880130347679, 63.13675709718331, 62.03253995694004, 62.564113978826754, 62.67176038001867, 62.68925196171802, 61.72911239666978, 61.883787197003066, 60.8278672167756, 60.86540819708996, 61.027763689853714, 61.812089186585744, 69.10590586826955, 70.33937848708372, 71.1770084282602, 70.90096659187935, 70.17466853267973, 79.87757808488952, 97.16096478330223, 108.8808261511049, 108.84576525326798, 112.45635913515406, 125.42332452840024, 124.81784969989108, 118.15919962876144, 117.97030352575474, 118.01281752855589, 123.32234588842203, 123.82974017117957, 115.52202491727616, 96.81331692514784, 89.54958590569562, 88.25641193745236, 82.65888416398485, 71.32219448964817, 78.5954091860411, 85.50395393208356, 84.59942446847025, 84.76091624114758, 96.0519382566397, 101.541654888175, 99.72380056162464, 100.00760817903829, 99.47352919950204, 100.47858832928728, 101.7148296111111, 102.85974617455518, 94.79673895175848, 89.5012463529412, 90.85916570035792, 91.59594137230506, 75.309001958061, 72.43090239422868, 74.19910537255628, 75.68025262010647, 76.32142201909566, 77.3838286214837, 78.59300024799478, 79.68651319421402, 80.17404397008741, 82.8167582741103, 83.30328928452232, 94.5623179905994, 101.18047395345926, 119.07067472347886, 124.33552758177716, 124.01965553112356, 123.72177629784323, 122.8346665550848, 122.41900229637412, 121.45261697759103, 121.0797364854692, 119.40291757609712, 119.62094275830935, 107.0594472692188, 102.23517298467166, 81.72559463194885, 78.17708472523466, 78.21389307928857, 82.96250568464055, 83.29302220915032, 84.55985601842983, 84.5579963393246, 84.63422396180653, 84.60551839728188, 82.94553181127256, 82.23181786173292, 83.53952972914722, 83.37298275378022, 82.78486857780891, 81.53271679972647, 76.69199064993775, 75.3893086626193, 75.431206848748, 75.20392168300654, 75.37757963460119, 75.42212664871225, 77.00936978843372, 77.15416194187674, 77.24250511850295, 78.43949843477604, 79.58224881932773, 80.64086918928376, 81.46008437616518, 81.68813588725489, 87.00749136367659, 89.29415157384065, 91.49808288515406, 92.25914195710654, 93.3555392617193, 94.30060701960784, 95.40126088726852, 96.3911516367031, 97.69705286235605, 98.45865854699656, 99.75015031489262, 101.25564044775196, 107.6338312675848, 107.45867452326485, 108.0752771006069, 110.15911915530656, 110.27271465071584, 111.02974784453784, 111.83560021574594, 112.7440900471522, 112.6498210821662, 113.34289526032263, 113.1634320035643, 111.60560243627452, 105.39874216985685, 107.11434224027325, 107.20673957843135, 107.65514564159082, 108.91141023773602, 108.33738037348272, 107.15264848893368, 105.92246163686583, 105.55435881313868, 105.2504303348895, 104.97383849891068, 103.58109590774912, 101.26796957547462, 99.19113004271708, 97.50169727217552, 96.31982768456272, 95.47275474494242, 95.20809749400873, 95.61451636437909, 94.64907122905257, 94.42358800840336, 93.7516076292406, 93.55810158053222, 93.5175661234049, 98.05775094147153, 98.21894845238094, 98.18030613562092, 97.09089923661688, 96.18435416845628, 96.50738569203236, 96.12872400365508, 97.13246079895218, 97.1443402377062, 98.03660473295989, 98.24105839643636, 99.36972514324616, 95.490582109944, 95.13432254768648, 95.09345597175536, 95.72232799898846, 95.77281172128852, 95.89461338507628, 95.95299040507317, 94.97010732967632, 93.88803117584813, 93.06607558293652, 92.01187856395892, 89.65001079084966, 89.82803097486772, 90.1322224746343, 89.08252345066914, 87.48960819825707, 86.48443779092747, 85.26539723583878, 84.10118568946466, 84.03560823980703, 83.88423789324618, 83.33728454518149, 82.84629710788724, 82.18693846047307, 82.59351917363448, 81.92174586172648, 82.34813850373482, 84.7658453663243, 85.32863012005913, 85.55813989558045, 85.96762634414877, 86.41243759057545, 86.8974022794079, 87.74909285845007, 89.7712920400716, 89.53082222004356, 89.07126357889823, 88.58377104671001, 87.33491228642829, 84.11213878991596, 83.1229656363212, 81.9799873931029, 81.04337047096365, 79.9908222271488, 79.10554902791914, 77.89077069856832, 76.0704228522409, 74.63286190094927, 73.91416191136075, 73.00220348521631, 73.81838663035197, 73.10034526174914, 75.2011783053993, 74.25165894195457, 73.13134242771552, 71.93152701511762, 71.46531301540615, 68.54775400583567, 67.72885386352318, 67.11893598389355, 66.45704678727046, 64.9772576101774, 64.47351452777778, 65.17583312661584, 65.35256861741364, 64.61357377917834, 64.26857109562715, 63.41080388165266, 63.21772739906695, 64.936638554155, 65.71853185434173, 65.41554603905423, 65.46189228345783, 65.36905735994397, 64.85577353571298, 62.95431177318704, 59.91097652011944, 60.063966624260814, 60.34665973513852, 60.48229064291681, 60.65682073233737, 58.30302584251478, 58.13657930929039, 58.119443108854654, 59.05305321459695, 59.3122089877062, 59.42235157065048, 59.47208075669156, 59.220645123093696, 59.91204508337422, 60.18918646704861, 60.086247619281046, 60.10478320004669, 60.3253108006536, 60.68779465810769, 59.95893887916277, 59.45530569561158, 58.92307034270218, 61.74938916767819, 61.690774105353256, 61.54580785753191, 60.69797620650483, 60.39458169810146, 60.40204132990974, 60.36062620004539, 60.36778076283782, 59.74897276563959, 59.43588568464052, 59.8336132587146, 59.7206610821662, 56.90866583955804, 57.65162047524186, 57.65234784835438, 57.716921693744176, 57.860424411764704, 57.92615505524432, 57.92090631652662, 58.002362059990666, 58.27439731379358, 58.52968746199815, 59.50486787986306, 59.55751657314038, 59.35171057500649, 59.48352707150639, 59.84824493824828, 61.27337571661999, 61.28622332990326, 61.96210018409587, 62.94042833076564, 63.869929016962345, 64.7192748155715, 64.6788845867511, 65.0808513488173, 65.69696274424214, 66.70805809679428, 67.11088997587923, 67.15916152591036, 66.18288800194068, 66.36954922962575, 66.11864108520075, 65.75808972938064, 65.28965808745721, 64.97707525303456, 64.63797934663866, 66.80988548367118, 66.21829629022265, 65.8893823888889, 64.99591412815127, 64.7245027149082, 64.39198801999561, 69.56021118892002, 69.25976947813571, 71.11886426548398, 71.4080690994489, 73.62254698988488, 72.12327611873638, 70.54724184298163, 70.25643141551902, 70.70041137317149, 71.5322421381316, 71.88483553236851, 71.74621211157796, 68.32590607531901, 67.80569805648926, 67.1322284013076, 67.12787379582944, 69.97535272782447, 70.45439598303442, 70.9322419745565, 71.50965616255318, 72.03787001610644, 73.17304297230004, 74.7730343085123, 75.34924414083413, 75.06601899393091, 77.21252147634607, 77.84951427395089, 78.00531980508869, 74.9351881021631, 75.67783448117024, 77.39862276999689, 78.3204462735761, 79.78140821070652, 80.05098767658407, 80.27915094288826, 81.37867342149083, 82.05395716268481, 80.36615790725179, 81.6569546973072, 81.54418937107066, 82.56870576299409, 83.63293898816656, 83.88548299229693, 84.30108302622031, 83.68091947673514, 82.23372233024193, 82.24572397785364, 81.56226761352254, 82.36522082127296, 82.47457360418612, 83.18741026649549, 83.40193171553065, 82.9233648590881, 81.43635217561467, 82.65946740786781, 82.1163011109555, 81.68099421202925, 81.66788200392676, 85.01999838873327, 88.75878689091192, 89.29628824478682, 88.83626395253656, 86.82577044428884, 84.09486394981325, 83.47539111399004, 81.5924984081855, 82.07185762664828, 82.2281231729627, 82.02066577995645, 80.44962234811119, 76.52163723786181, 72.76360286258948, 74.55059453213508, 74.99093831022408, 76.99675560916589, 78.78671652131963, 80.21830407522762, 81.30634295946156, 90.13460488654104, 93.99732953338004, 94.421727833393, 96.37953193907563, 100.67351364558044, 100.78414175686532, 103.1930209703548, 104.4701083811858, 105.00567304108311, 104.93058473918455, 105.88102079707436, 106.16076954396203, 111.47411197370056, 112.2891346800498, 113.93540020121836, 112.20651925377112, 111.21307030368814, 111.13287217950511, 111.07582479575164, 111.9790803057451, 119.28784872798008, 120.25276438227512, 120.42916748972924, 119.27678473382288, 111.24595396887644, 109.67408166830064, 110.29923517927168, 110.80462898856209, 111.090308672656, 111.38008064193576, 111.27893600272331, 111.6343980889492, 103.91442370160286, 103.72134061546842, 103.4633758145036, 101.94216997004357, 101.84085221584188, 100.60689081325864, 99.70419440266107, 100.16758754388422, 99.97221956939713, 99.6579027708528, 101.92092016658889, 103.2410159291939, 102.6391455228758, 102.35834271576408, 102.74754486585744, 102.29940125334578, 106.57442545860567, 106.44921128006926, 108.580386849751, 107.91250633411144, 107.50373589572702, 106.7946297648615, 106.2944288761282, 106.18881795596016, 107.09483038017429, 107.18630398184656, 106.14102524579832, 105.12299091107998, 102.79205626346096, 102.42553496288518, 100.3792199246032, 100.34351701649548, 100.06617657065048, 99.29375219887956, 98.1495157481326, 96.16821717366946, 95.572684456427, 96.61663651649548, 96.01640997323376, 95.60684201626204, 94.80227598257082, 95.33739049027388, 94.23471145300344, 92.75312873895112, 91.62761634749457, 90.82496536836744, 88.89547734562714, 87.15683525271878, 84.68851624309058, 82.63321596490819, 81.82777713157421, 79.39300040668314, 78.72247451906317, 77.45340562722015, 77.24475493145036, 77.43505339892623, 77.76075893012761, 77.02476477692188, 77.10500217560562, 77.36233201812948, 77.68189796218488, 78.09720856084655, 78.44472735457516, 78.09155317226892, 77.53499366814502, 76.827071409197, 76.00844257111734, 74.31874874190787, 72.77053833667912, 71.48931496957671, 72.20485872735178, 72.22885517374728, 71.87356966604419, 71.6821534677093, 71.69160534539371, 71.17332469794584, 72.30651870790538, 71.58049698704482, 72.82317943907563, 73.16209187455176, 73.86367769011372, 73.75856712809939, 73.64182907544702, 73.71067590709617, 74.47227324315283, 73.93447225420168, 73.4108181642546, 72.12921608372237, 71.57889565616247, 71.53533121545284, 70.71755271920733, 70.5591165277311, 70.4789881492456, 69.79276951501711, 70.39705718043885, 69.4237743085123, 68.59158741913515, 68.42072375404607, 68.48651809897292, 67.8968297543573, 68.3535923906785, 67.94751900101151, 67.46486430314349, 69.07083574089636, 68.90728841433238, 68.33032942662621, 67.39166203633675, 66.98274086266339, 66.9050177393402, 66.35879910750921, 65.63565698604756, 64.81727100669157, 65.52874521661998, 65.31513396394662, 65.03079224595395, 62.79347867556858, 62.71494836677685, 62.49758355995424, 63.08107303307561, 62.645712096621246, 62.48022372685539, 62.392689712524735, 62.64060304888165, 62.019595960559606, 62.674899896204266, 63.22068268689697, 66.01400491853408, 67.58862260706505, 67.31636706045752, 66.34122329396203, 66.15351124144102, 65.75396536009958, 65.50930599961096, 65.24352650988173, 65.02438754652974, 64.18941368145036, 63.3916185795985, 62.61476900311235, 58.39181618253968, 58.13924164970432, 58.0659776844071, 57.539563204450666, 57.78957700404607, 57.83665200568005, 57.69205128677703, 57.875688839558045, 57.90288258714596, 57.766867595160285, 59.52777240911921, 59.50340365779645, 59.82133025863679, 59.67325390013746, 59.52093884943978, 59.57632892561469, 59.111668793806416, 59.34563299704326, 59.51389615172736, 59.45274793238406, 59.64235272253345, 58.28638640359476, 58.27672084889511, 58.36627269164332, 58.68876257306256, 58.74483465787425, 58.41612426960785, 57.75860459979899, 58.14674279318394, 57.576143969032046, 57.11916071195146, 56.64401442880486, 56.41523373882082, 55.72285905283224, 59.006976361188926, 59.63682332734204, 59.65950260099595, 59.6799929711329, 60.70835919856832, 61.3684203653906, 66.66365037659509, 67.31323969942422, 70.19830191306022, 70.9418984718721, 73.68310829930167, 73.79863528746498, 72.31470794595818, 71.68464790867253, 72.43125688841475, 72.623150237211, 72.45495160908938, 71.13287626583494, 67.7668506395151, 67.2604089465869, 65.92817478516962, 65.44463893650793, 63.97847156682423, 63.2969495205811, 66.2086197561469, 70.24524498563389, 70.50937451531215, 71.6038075262216]]} \ No newline at end of file diff --git a/demo/outlier.js b/demo/outlier.js new file mode 100644 index 0000000..26ccce8 --- /dev/null +++ b/demo/outlier.js @@ -0,0 +1,91 @@ +import uPlot from "./dist/uPlot/uPlot.esm.js"; + +import { getSize } from "./helpers.js"; +import { legendAsTooltipPlugin } from "./plugins.js"; + +class OutlierWorker { + constructor() { + this.worker = new Worker("./outlier.worker.js", { type: "module" }); + this.dataPromise = fetch("./outlier.data.json").then((res) => res.json()); + this.dataPromise.then((data) => { + this.data = data.data; + }); + } + + static create = () => { + return new Promise((resolve, reject) => { + const worker = new OutlierWorker(); + worker.worker.onmessage = (e) => { + if (e.data === "ready") { + worker.dataPromise.then(() => resolve(worker)); + } else { + reject(); + } + } + }) + } + + detect = async (opts) => { + return new Promise((resolve, reject) => { + const start = performance.now(); + this.worker.postMessage({ + opts, + data: this.data.slice(1).map(arr => new Float64Array(arr)), + }); + this.worker.onmessage = (e) => { + const elapsed = (performance.now() - start).toFixed(0); + resolve({ outliers: e.data, elapsed }); + }; + }); + } +} + +function setUpPlot(data, outlyingSeries) { + const opts = { + ...getSize(), + series: [ + {}, + ...data.slice(1).map((_, i) => { + return { + label: `${i + 1}`, + stroke: "black", + width: 1, + }; + }), + ], + plugins: [legendAsTooltipPlugin()], + }; + const u = uPlot(opts, data, document.getElementById("outlier-plot")); + window.addEventListener("resize", () => { + u.setSize(getSize()); + }); + return u; +} + +async function main() { + const worker = await OutlierWorker.create(); + + const u = setUpPlot(worker.data); + async function runOutlierDetection(opts) { + const { outliers, elapsed } = await worker.detect(opts); + const outlyingSeries = new Set(outliers.outlyingSeries); + outliers.seriesResults.forEach((res, i) => { + const seriesIdx = i + 1; + u.delSeries(seriesIdx); + u.addSeries({ + label: `${i} (${res.isOutlier ? "outlier" : "normal"})`, + stroke: res.isOutlier ? "red" : "black", + width: 1, + }, seriesIdx); + }); + u.redraw(); + document.getElementById("outlier-title").innerText = `Outlier detection with DBSCAN - done in ${elapsed}ms`; + } + runOutlierDetection({ sensitivity: 0.8 }); + + document.getElementById("outlier-sensitivity").addEventListener("change", function() { + runOutlierDetection({ sensitivity: parseFloat(this.value) }); + }) +} + +export default main; diff --git a/demo/outlier.worker.js b/demo/outlier.worker.js new file mode 100644 index 0000000..53b2174 --- /dev/null +++ b/demo/outlier.worker.js @@ -0,0 +1,11 @@ +import initOutlier, { OutlierDetector } from "./dist/@bsull/augurs/outlier.js"; + +await initOutlier(); + +self.onmessage = (e) => { + const { opts, data } = e.data; + const detector = OutlierDetector.dbscan(opts); + const outliers = detector.preprocess(data).detect(); + self.postMessage(outliers); +}; +self.postMessage("ready"); diff --git a/demo/plugins.js b/demo/plugins.js new file mode 100644 index 0000000..b2708a0 --- /dev/null +++ b/demo/plugins.js @@ -0,0 +1,62 @@ +import uPlot from "./dist/uPlot/uPlot.esm.js"; + +// converts the legend into a simple tooltip +export function legendAsTooltipPlugin({ + className, + style = { backgroundColor: "#f5f6fa", color: "black" }, +} = {}) { + let legendEl; + + function init(u, opts) { + legendEl = u.root.querySelector(".u-legend"); + + legendEl.classList.remove("u-inline"); + className && legendEl.classList.add(className); + + uPlot.assign(legendEl.style, { + textAlign: "left", + pointerEvents: "none", + display: "none", + position: "absolute", + left: 0, + top: 0, + zIndex: 100, + boxShadow: "2px 2px 4px rgba(0,0,0,0.5)", + ...style, + }); + + // hide series color markers + const idents = legendEl.querySelectorAll(".u-marker"); + + for (let i = 0; i < idents.length; i++) idents[i].style.display = "none"; + + const overEl = u.over; + overEl.style.overflow = "visible"; + + // move legend into plot bounds + overEl.appendChild(legendEl); + + // show/hide tooltip on enter/exit + overEl.addEventListener("mouseenter", () => { + legendEl.style.display = null; + }); + overEl.addEventListener("mouseleave", () => { + legendEl.style.display = "none"; + }); + + // let tooltip exit plot + // overEl.style.overflow = "visible"; + } + + function update(u) { + const { left, top } = u.cursor; + legendEl.style.transform = "translate(" + left + "px, " + top + "px)"; + } + + return { + hooks: { + init: init, + setCursor: update, + }, + }; +} diff --git a/demo/prophet.js b/demo/prophet.js new file mode 100644 index 0000000..833d6ca --- /dev/null +++ b/demo/prophet.js @@ -0,0 +1,1326 @@ +import uPlot from "./dist/uPlot/uPlot.esm.js"; +import { Worker } from "worker-with-import-map"; + +import { getSize } from "./helpers.js"; +import { legendAsTooltipPlugin } from "./plugins.js"; + +const df = { + ds: [ + 1197244800, 1197331200, 1197417600, 1197504000, 1197590400, 1197676800, + 1197763200, 1197849600, 1197936000, 1198022400, 1198108800, 1198195200, + 1198281600, 1198368000, 1198454400, 1198540800, 1198627200, 1198713600, + 1198800000, 1198886400, 1198972800, 1199059200, 1199145600, 1199232000, + 1199318400, 1199404800, 1199491200, 1199577600, 1199664000, 1199750400, + 1199836800, 1199923200, 1200009600, 1200096000, 1200182400, 1200268800, + 1200355200, 1200441600, 1200528000, 1200614400, 1200700800, 1200787200, + 1200873600, 1200960000, 1201046400, 1201132800, 1201219200, 1201305600, + 1201392000, 1201478400, 1201564800, 1201651200, 1201824000, 1201910400, + 1201996800, 1202083200, 1202169600, 1202256000, 1202342400, 1202428800, + 1202515200, 1202601600, 1202688000, 1202774400, 1202860800, 1202947200, + 1203033600, 1203120000, 1203206400, 1203292800, 1203379200, 1203465600, + 1203552000, 1203638400, 1203724800, 1203811200, 1203897600, 1203984000, + 1204070400, 1204243200, 1204416000, 1204675200, 1204761600, 1204848000, + 1204934400, 1205020800, 1205107200, 1205193600, 1205280000, 1205366400, + 1205452800, 1205539200, 1205625600, 1205712000, 1205798400, 1205884800, + 1205971200, 1206057600, 1206144000, 1206230400, 1206316800, 1206403200, + 1206489600, 1206576000, 1206662400, 1206748800, 1206835200, 1206921600, + 1207008000, 1207094400, 1207180800, 1207267200, 1207353600, 1207440000, + 1207526400, 1207612800, 1207699200, 1207785600, 1207872000, 1207958400, + 1208044800, 1208131200, 1208217600, 1208304000, 1208390400, 1208476800, + 1208563200, 1208649600, 1208736000, 1208822400, 1208908800, 1208995200, + 1209081600, 1209168000, 1209254400, 1209340800, 1209427200, 1209513600, + 1209600000, 1209686400, 1209772800, 1209859200, 1209945600, 1210032000, + 1210118400, 1210204800, 1210291200, 1210377600, 1210464000, 1210550400, + 1210636800, 1210723200, 1210809600, 1210896000, 1210982400, 1211068800, + 1211155200, 1211241600, 1211328000, 1211414400, 1211500800, 1211587200, + 1211673600, 1211760000, 1211846400, 1211932800, 1212019200, 1212105600, + 1212192000, 1212451200, 1212537600, 1212624000, 1212710400, 1212796800, + 1212883200, 1212969600, 1213056000, 1213142400, 1213228800, 1213315200, + 1213401600, 1213488000, 1213574400, 1213660800, 1213747200, 1213833600, + 1213920000, 1214006400, 1214092800, 1214179200, 1214265600, 1214352000, + 1214438400, 1214524800, 1214611200, 1214697600, 1214784000, 1214956800, + 1215043200, 1215129600, 1215216000, 1215302400, 1215388800, 1215475200, + 1215561600, 1215648000, 1215734400, 1215820800, 1217548800, 1217635200, + 1217721600, 1217808000, 1217894400, 1217980800, 1218067200, 1218153600, + 1218240000, 1218326400, 1218412800, 1218499200, 1218585600, 1218672000, + 1218758400, 1218844800, 1218931200, 1219017600, 1219104000, 1219190400, + 1219276800, 1219363200, 1219449600, 1219536000, 1219622400, 1219708800, + 1219795200, 1219881600, 1219968000, 1220054400, 1220140800, 1220227200, + 1220313600, 1220400000, 1220486400, 1220572800, 1220659200, 1220745600, + 1220832000, 1220918400, 1221004800, 1221091200, 1221177600, 1221264000, + 1221350400, 1221436800, 1221523200, 1221609600, 1221696000, 1221782400, + 1221868800, 1221955200, 1222041600, 1222128000, 1222214400, 1222300800, + 1222387200, 1222473600, 1222560000, 1222646400, 1222732800, 1222819200, + 1222905600, 1222992000, 1223078400, 1223164800, 1223251200, 1223337600, + 1223424000, 1223510400, 1223596800, 1223683200, 1223769600, 1223856000, + 1223942400, 1224028800, 1224115200, 1224201600, 1224288000, 1224374400, + 1224460800, 1224720000, 1224806400, 1224892800, 1224979200, 1225065600, + 1225152000, 1225238400, 1225324800, 1225411200, 1225497600, 1225584000, + 1225670400, 1225756800, 1225843200, 1225929600, 1226016000, 1226102400, + 1226188800, 1226275200, 1226361600, 1226448000, 1226534400, 1226620800, + 1226707200, 1226793600, 1226880000, 1226966400, 1227052800, 1227139200, + 1227225600, 1227312000, 1227398400, 1227484800, 1227571200, 1227657600, + 1227744000, 1227830400, 1227916800, 1228003200, 1228089600, 1228176000, + 1228262400, 1228348800, 1228435200, 1228521600, 1228608000, 1228694400, + 1228780800, 1228867200, 1228953600, 1229040000, 1229126400, 1229212800, + 1229299200, 1229385600, 1229472000, 1229558400, 1229644800, 1229731200, + 1229817600, 1229904000, 1229990400, 1230076800, 1230163200, 1230249600, + 1230336000, 1230422400, 1230508800, 1230595200, 1230681600, 1230768000, + 1230854400, 1230940800, 1231027200, 1231113600, 1231200000, 1231286400, + 1231372800, 1231459200, 1231545600, 1231632000, 1231718400, 1231804800, + 1231891200, 1231977600, 1232064000, 1232150400, 1232236800, 1232323200, + 1232409600, 1232496000, 1232582400, 1232668800, 1232755200, 1232841600, + 1232928000, 1233014400, 1233100800, 1233187200, 1233273600, 1233360000, + 1233446400, 1233532800, 1233619200, 1233705600, 1233792000, 1233878400, + 1233964800, 1234051200, 1234137600, 1234224000, 1234310400, 1234396800, + 1234483200, 1234569600, 1234656000, 1234742400, 1234828800, 1234915200, + 1235001600, 1235088000, 1235174400, 1235260800, 1235347200, 1235433600, + 1235520000, 1235606400, 1235692800, 1235779200, 1235865600, 1235952000, + 1236038400, 1236124800, 1236211200, 1236297600, 1236384000, 1236470400, + 1236556800, 1236643200, 1236729600, 1236816000, 1236902400, 1236988800, + 1237075200, 1237161600, 1237248000, 1237334400, 1237420800, 1237507200, + 1237593600, 1237680000, 1237766400, 1237852800, 1237939200, 1238025600, + 1238112000, 1238198400, 1238284800, 1238371200, 1238457600, 1238544000, + 1238630400, 1238716800, 1238803200, 1238889600, 1238976000, 1239062400, + 1239148800, 1239235200, 1239321600, 1239408000, 1239494400, 1239580800, + 1239667200, 1239753600, 1239840000, 1239926400, 1240012800, 1240099200, + 1240185600, 1240272000, 1240358400, 1240444800, 1240531200, 1240617600, + 1240704000, 1240790400, 1240876800, 1240963200, 1241049600, 1241136000, + 1241222400, 1241308800, 1241395200, 1241481600, 1241568000, 1241654400, + 1241740800, 1241827200, 1241913600, 1242000000, 1242086400, 1242172800, + 1242259200, 1242345600, 1242432000, 1242518400, 1242604800, 1242691200, + 1242777600, 1242864000, 1242950400, 1243036800, 1243123200, 1243209600, + 1243296000, 1243382400, 1243468800, 1243555200, 1243641600, 1243728000, + 1243814400, 1243900800, 1243987200, 1244073600, 1244160000, 1244246400, + 1244332800, 1244419200, 1244505600, 1244592000, 1244678400, 1244764800, + 1244851200, 1244937600, 1245024000, 1245110400, 1245196800, 1245283200, + 1245369600, 1245456000, 1245542400, 1245628800, 1245715200, 1245801600, + 1245888000, 1245974400, 1246060800, 1246147200, 1246233600, 1246320000, + 1246406400, 1246492800, 1246579200, 1246665600, 1246752000, 1246838400, + 1246924800, 1247011200, 1247097600, 1247184000, 1247270400, 1247356800, + 1247443200, 1247529600, 1247616000, 1247702400, 1247788800, 1247875200, + 1247961600, 1248048000, 1248134400, 1248220800, 1248307200, 1248393600, + 1248480000, 1248566400, 1248652800, 1248739200, 1248825600, 1248912000, + 1248998400, 1249084800, 1249171200, 1249257600, 1249344000, 1249430400, + 1249516800, 1249603200, 1249689600, 1249776000, 1249862400, 1249948800, + 1250035200, 1250121600, 1250208000, 1250294400, 1250380800, 1250467200, + 1250553600, 1250640000, 1250726400, 1250812800, 1250899200, 1250985600, + 1251072000, 1251158400, 1251244800, 1251331200, 1251417600, 1251504000, + 1251590400, 1251676800, 1251763200, 1251849600, 1251936000, 1252022400, + 1252108800, 1252195200, 1252281600, 1252368000, 1252454400, 1252540800, + 1252627200, 1252713600, 1252800000, 1252886400, 1252972800, 1253059200, + 1253145600, 1253232000, 1253318400, 1253404800, 1253491200, 1253577600, + 1253750400, 1254096000, 1254182400, 1254268800, 1254355200, 1254441600, + 1254528000, 1254614400, 1254700800, 1254787200, 1254873600, 1254960000, + 1255046400, 1255132800, 1255219200, 1255305600, 1255392000, 1255737600, + 1255824000, 1255910400, 1255996800, 1256083200, 1256169600, 1256256000, + 1256342400, 1256428800, 1256515200, 1256601600, 1256688000, 1256774400, + 1256860800, 1256947200, 1257033600, 1257120000, 1257206400, 1257292800, + 1257379200, 1257465600, 1257552000, 1257638400, 1257724800, 1257811200, + 1257897600, 1257984000, 1258070400, 1258156800, 1258329600, 1258416000, + 1258502400, 1258588800, 1258675200, 1258761600, 1258934400, 1259020800, + 1259107200, 1259193600, 1259280000, 1259366400, 1259452800, 1259539200, + 1259625600, 1259712000, 1259798400, 1259884800, 1259971200, 1260057600, + 1260144000, 1260230400, 1260316800, 1260403200, 1260489600, 1260576000, + 1260662400, 1260748800, 1260835200, 1260921600, 1261008000, 1261094400, + 1261180800, 1261267200, 1261353600, 1261440000, 1261526400, 1261612800, + 1261699200, 1261785600, 1261872000, 1261958400, 1262044800, 1262131200, + 1262217600, 1262304000, 1262390400, 1262476800, 1262563200, 1262649600, + 1262736000, 1262822400, 1262908800, 1262995200, 1263081600, 1263168000, + 1263254400, 1263340800, 1263427200, 1263513600, 1263600000, 1263686400, + 1263772800, 1263859200, 1263945600, 1264032000, 1264118400, 1264377600, + 1264464000, 1264550400, 1264636800, 1264723200, 1264809600, 1264896000, + 1264982400, 1265068800, 1265155200, 1265241600, 1265328000, 1265414400, + 1265500800, 1265673600, 1265760000, 1265846400, 1265932800, 1266019200, + 1266105600, 1266192000, 1266278400, 1266364800, 1266451200, 1266537600, + 1266624000, 1266710400, 1266796800, 1266969600, 1267056000, 1267142400, + 1267228800, 1267315200, 1267401600, 1267488000, 1267574400, 1267660800, + 1267747200, 1267833600, 1267920000, 1268006400, 1268092800, 1268179200, + 1268265600, 1268352000, 1268438400, 1268524800, 1268611200, 1268697600, + 1268784000, 1268870400, 1268956800, 1269043200, 1269129600, 1269216000, + 1269302400, 1269388800, 1269475200, 1269561600, 1269648000, 1269734400, + 1269820800, 1269907200, 1269993600, 1270080000, 1270166400, 1270252800, + 1270339200, 1270425600, 1270512000, 1270598400, 1270684800, 1270771200, + 1270857600, 1270944000, 1271030400, 1271116800, 1271203200, 1271289600, + 1271376000, 1271462400, 1271548800, 1271635200, 1271721600, 1271808000, + 1271894400, 1271980800, 1272067200, 1272153600, 1272240000, 1272326400, + 1272412800, 1272499200, 1272585600, 1272672000, 1272758400, 1272844800, + 1272931200, 1273017600, 1273104000, 1273190400, 1273276800, 1273363200, + 1273449600, 1273536000, 1273622400, 1273708800, 1273795200, 1273881600, + 1273968000, 1274054400, 1274140800, 1274227200, 1274313600, 1274400000, + 1274486400, 1274572800, 1274659200, 1274745600, 1274832000, 1274918400, + 1275004800, 1275091200, 1275177600, 1275264000, 1275350400, 1275436800, + 1275523200, 1275609600, 1275696000, 1275782400, 1275868800, 1275955200, + 1276041600, 1276128000, 1276214400, 1276300800, 1276387200, 1276473600, + 1276560000, 1276646400, 1276732800, 1276819200, 1276905600, 1276992000, + 1277078400, 1277164800, 1277251200, 1277337600, 1277424000, 1277596800, + 1277769600, 1277856000, 1277942400, 1278028800, 1278115200, 1278201600, + 1278374400, 1278806400, 1278892800, 1278979200, 1279065600, 1279152000, + 1279238400, 1279324800, 1279411200, 1279497600, 1279584000, 1279670400, + 1279756800, 1279843200, 1279929600, 1280016000, 1280102400, 1280188800, + 1280275200, 1280361600, 1280448000, 1280534400, 1280620800, 1280707200, + 1280793600, 1280880000, 1280966400, 1281052800, 1281139200, 1281225600, + 1281312000, 1281398400, 1281484800, 1281571200, 1281657600, 1281744000, + 1281830400, 1281916800, 1282003200, 1282089600, 1282176000, 1282262400, + 1282348800, 1282435200, 1282521600, 1282608000, 1282694400, 1282780800, + 1282867200, 1282953600, 1283040000, 1283126400, 1283212800, 1283299200, + 1283385600, 1283472000, 1283558400, 1283644800, 1283731200, 1283817600, + 1283904000, 1283990400, 1284076800, 1284163200, 1284249600, 1284336000, + 1284422400, 1284508800, 1284595200, 1284681600, 1284768000, 1284854400, + 1284940800, 1285027200, 1285113600, 1285200000, 1285286400, 1285372800, + 1285459200, 1285545600, 1285632000, 1285718400, 1285804800, 1285891200, + 1285977600, 1286064000, 1286150400, 1286236800, 1286323200, 1286409600, + 1286496000, 1286582400, 1286668800, 1286755200, 1286841600, 1286928000, + 1287014400, 1287100800, 1287187200, 1287273600, 1287360000, 1287446400, + 1287532800, 1287619200, 1287705600, 1287792000, 1287878400, 1287964800, + 1288051200, 1288137600, 1288224000, 1288310400, 1288396800, 1288483200, + 1288569600, 1288656000, 1288742400, 1288828800, 1288915200, 1289001600, + 1289088000, 1289174400, 1289260800, 1289347200, 1289433600, 1289520000, + 1289606400, 1289692800, 1289779200, 1289865600, 1289952000, 1290038400, + 1290124800, 1290211200, 1290297600, 1290384000, 1290470400, 1290556800, + 1290643200, 1290729600, 1290816000, 1290902400, 1290988800, 1291075200, + 1291161600, 1291248000, 1291334400, 1291420800, 1291507200, 1291593600, + 1291680000, 1291766400, 1291852800, 1291939200, 1292025600, 1292112000, + 1292198400, 1292284800, 1292371200, 1292457600, 1292544000, 1292630400, + 1292716800, 1292803200, 1292889600, 1292976000, 1293062400, 1293148800, + 1293235200, 1293321600, 1293408000, 1293494400, 1293580800, 1293667200, + 1293753600, 1293840000, 1293926400, 1294012800, 1294099200, 1294185600, + 1294272000, 1294358400, 1294444800, 1294531200, 1294617600, 1294704000, + 1294790400, 1294876800, 1294963200, 1295049600, 1295136000, 1295222400, + 1295308800, 1295395200, 1295481600, 1295568000, 1295654400, 1295740800, + 1295827200, 1295913600, 1296000000, 1296086400, 1296172800, 1296259200, + 1296345600, 1296432000, 1296518400, 1296604800, 1296691200, 1296777600, + 1296864000, 1296950400, 1297036800, 1297123200, 1297209600, 1297296000, + 1297382400, 1297468800, 1297555200, 1297641600, 1297728000, 1297814400, + 1297900800, 1297987200, 1298073600, 1298160000, 1298246400, 1298332800, + 1298419200, 1298505600, 1298592000, 1298678400, 1298764800, 1298851200, + 1298937600, 1299024000, 1299110400, 1299196800, 1299283200, 1299369600, + 1299456000, 1299542400, 1299628800, 1299715200, 1299801600, 1299888000, + 1299974400, 1300060800, 1300147200, 1300233600, 1300320000, 1300406400, + 1300492800, 1300579200, 1300665600, 1300752000, 1300838400, 1300924800, + 1301011200, 1301097600, 1301184000, 1301270400, 1301356800, 1301443200, + 1301529600, 1301616000, 1301702400, 1301788800, 1301875200, 1301961600, + 1302048000, 1302134400, 1302220800, 1302307200, 1302393600, 1302480000, + 1302566400, 1302652800, 1302739200, 1302825600, 1302912000, 1302998400, + 1303084800, 1303171200, 1303257600, 1303344000, 1303430400, 1303516800, + 1303603200, 1303689600, 1303776000, 1303862400, 1303948800, 1304035200, + 1304121600, 1304208000, 1304294400, 1304380800, 1304467200, 1304553600, + 1304640000, 1304726400, 1304812800, 1304899200, 1304985600, 1305072000, + 1305158400, 1305244800, 1305331200, 1305417600, 1305504000, 1305590400, + 1305676800, 1305763200, 1305849600, 1305936000, 1306022400, 1306108800, + 1306195200, 1306281600, 1306368000, 1306454400, 1306540800, 1306627200, + 1306713600, 1306800000, 1306886400, 1306972800, 1307059200, 1307145600, + 1307232000, 1307318400, 1307404800, 1307491200, 1307577600, 1307664000, + 1307750400, 1307836800, 1307923200, 1308009600, 1308096000, 1308182400, + 1308268800, 1308355200, 1308441600, 1308528000, 1308614400, 1308700800, + 1308787200, 1308873600, 1308960000, 1309046400, 1309132800, 1309219200, + 1309305600, 1309392000, 1309478400, 1309564800, 1309651200, 1309737600, + 1309824000, 1309910400, 1309996800, 1310083200, 1310169600, 1310256000, + 1310342400, 1310428800, 1310515200, 1310601600, 1310688000, 1310774400, + 1310860800, 1310947200, 1311033600, 1311120000, 1311206400, 1311292800, + 1311379200, 1311465600, 1311552000, 1311638400, 1311724800, 1311811200, + 1311897600, 1311984000, 1312070400, 1312156800, 1312243200, 1312329600, + 1312416000, 1312502400, 1312588800, 1312675200, 1312761600, 1312848000, + 1312934400, 1313020800, 1313107200, 1313193600, 1313280000, 1313366400, + 1313452800, 1313539200, 1313625600, 1313712000, 1313798400, 1313884800, + 1313971200, 1314057600, 1314144000, 1314230400, 1314316800, 1314403200, + 1314489600, 1314576000, 1314662400, 1314748800, 1314835200, 1315008000, + 1315094400, 1315180800, 1315267200, 1315353600, 1315440000, 1315526400, + 1315612800, 1315699200, 1315785600, 1315872000, 1315958400, 1316044800, + 1316131200, 1316217600, 1316304000, 1316390400, 1316476800, 1316563200, + 1316649600, 1316736000, 1316822400, 1316908800, 1316995200, 1317081600, + 1317168000, 1317254400, 1317340800, 1317427200, 1317513600, 1317600000, + 1317686400, 1317772800, 1317859200, 1317945600, 1318032000, 1318118400, + 1318204800, 1318291200, 1318377600, 1318464000, 1318550400, 1318636800, + 1318723200, 1318809600, 1318896000, 1318982400, 1319155200, 1319241600, + 1319328000, 1319414400, 1319500800, 1319587200, 1319673600, 1319760000, + 1319846400, 1319932800, 1320019200, 1320105600, 1320192000, 1320278400, + 1320364800, 1320451200, 1320537600, 1320624000, 1320710400, 1320796800, + 1320883200, 1320969600, 1321056000, 1321142400, 1321228800, 1321315200, + 1321401600, 1321488000, 1321574400, 1321660800, 1321747200, 1321833600, + 1321920000, 1322006400, 1322092800, 1322179200, 1322265600, 1322352000, + 1322438400, 1322524800, 1322611200, 1322697600, 1322784000, 1322870400, + 1322956800, 1323043200, 1323129600, 1323216000, 1323302400, 1323388800, + 1323475200, 1323561600, 1323648000, 1323734400, 1323820800, 1323907200, + 1323993600, 1324080000, 1324166400, 1324252800, 1324339200, 1324425600, + 1324512000, 1324598400, 1324857600, 1324944000, 1325030400, 1325116800, + 1325203200, 1325289600, 1325376000, 1325462400, 1325548800, 1325635200, + 1325721600, 1325808000, 1325894400, 1325980800, 1326067200, 1326153600, + 1326240000, 1326326400, 1326412800, 1326499200, 1326585600, 1326672000, + 1326758400, 1326844800, 1326931200, 1327017600, 1327104000, 1327190400, + 1327276800, 1327363200, 1327449600, 1327536000, 1327622400, 1327708800, + 1327795200, 1327881600, 1327968000, 1328054400, 1328140800, 1328227200, + 1328313600, 1328400000, 1328486400, 1328572800, 1328659200, 1328745600, + 1328832000, 1328918400, 1329004800, 1329091200, 1329177600, 1329264000, + 1329350400, 1329436800, 1329523200, 1329609600, 1329696000, 1329782400, + 1329868800, 1329955200, 1330041600, 1330128000, 1330214400, 1330300800, + 1330387200, 1330473600, 1330560000, 1330646400, 1330732800, 1330819200, + 1330905600, 1330992000, 1331078400, 1331164800, 1331251200, 1331337600, + 1331424000, 1331510400, 1331596800, 1331683200, 1331769600, 1331856000, + 1331942400, 1332028800, 1332115200, 1332201600, 1332288000, 1332374400, + 1332460800, 1332547200, 1332633600, 1332720000, 1332806400, 1332892800, + 1332979200, 1333065600, 1333152000, 1333238400, 1333324800, 1333411200, + 1333497600, 1333584000, 1333670400, 1333756800, 1333843200, 1333929600, + 1334016000, 1334102400, 1334188800, 1334275200, 1334361600, 1334448000, + 1334534400, 1334620800, 1334707200, 1334793600, 1334880000, 1334966400, + 1335052800, 1335139200, 1335225600, 1335312000, 1335398400, 1335484800, + 1335571200, 1335657600, 1335830400, 1335916800, 1336003200, 1336089600, + 1336176000, 1336262400, 1336348800, 1336435200, 1336521600, 1336608000, + 1336694400, 1336780800, 1336867200, 1336953600, 1337040000, 1337126400, + 1337212800, 1337299200, 1337385600, 1337472000, 1337558400, 1337644800, + 1337731200, 1337817600, 1337904000, 1337990400, 1338076800, 1338163200, + 1338249600, 1338336000, 1338422400, 1338508800, 1338595200, 1338681600, + 1338768000, 1338854400, 1338940800, 1339027200, 1339113600, 1339200000, + 1339286400, 1339372800, 1339459200, 1339545600, 1339632000, 1339718400, + 1339804800, 1339891200, 1339977600, 1340064000, 1340150400, 1340236800, + 1340323200, 1340409600, 1340496000, 1340582400, 1340668800, 1340755200, + 1340841600, 1340928000, 1341014400, 1341100800, 1341187200, 1341273600, + 1341360000, 1341446400, 1341532800, 1341619200, 1341705600, 1341792000, + 1341878400, 1341964800, 1342051200, 1342137600, 1342224000, 1342310400, + 1342396800, 1342483200, 1342569600, 1342656000, 1342742400, 1342828800, + 1342915200, 1343001600, 1343088000, 1343174400, 1343260800, 1343347200, + 1343433600, 1343520000, 1343606400, 1343692800, 1343779200, 1343865600, + 1343952000, 1344038400, 1344124800, 1344211200, 1344297600, 1344384000, + 1344470400, 1344556800, 1344643200, 1344729600, 1344816000, 1344902400, + 1344988800, 1345075200, 1345161600, 1345248000, 1345334400, 1345420800, + 1345507200, 1345593600, 1345680000, 1345766400, 1345852800, 1345939200, + 1346025600, 1346112000, 1346198400, 1346284800, 1346371200, 1346457600, + 1346544000, 1346630400, 1346716800, 1346803200, 1346889600, 1346976000, + 1347062400, 1347148800, 1347235200, 1347321600, 1347408000, 1347494400, + 1347580800, 1347667200, 1347753600, 1347840000, 1347926400, 1348012800, + 1348099200, 1348185600, 1348272000, 1348358400, 1348444800, 1348531200, + 1348617600, 1348704000, 1348790400, 1348876800, 1348963200, 1349049600, + 1349136000, 1349222400, 1349308800, 1349395200, 1349481600, 1349568000, + 1349654400, 1349740800, 1349827200, 1349913600, 1350000000, 1350086400, + 1350172800, 1350259200, 1350345600, 1350432000, 1350518400, 1350604800, + 1350691200, 1350777600, 1350864000, 1350950400, 1351036800, 1351123200, + 1351209600, 1351296000, 1351382400, 1351468800, 1351555200, 1351641600, + 1351728000, 1351814400, 1351900800, 1351987200, 1352073600, 1352160000, + 1352246400, 1352332800, 1352419200, 1352505600, 1352592000, 1352678400, + 1352764800, 1352851200, 1352937600, 1353024000, 1353110400, 1353196800, + 1353283200, 1353369600, 1353456000, 1353542400, 1353628800, 1353715200, + 1353801600, 1353888000, 1353974400, 1354060800, 1354147200, 1354233600, + 1354320000, 1354406400, 1354492800, 1354579200, 1354665600, 1354752000, + 1354838400, 1354924800, 1355011200, 1355097600, 1355184000, 1355270400, + 1355356800, 1355443200, 1355529600, 1355616000, 1355702400, 1355788800, + 1355875200, 1355961600, 1356048000, 1356134400, 1356220800, 1356307200, + 1356393600, 1356480000, 1356566400, 1356652800, 1356739200, 1356825600, + 1356912000, 1356998400, 1357084800, 1357171200, 1357257600, 1357344000, + 1357430400, 1357516800, 1357603200, 1357689600, 1357776000, 1357862400, + 1357948800, 1358035200, 1358121600, 1358208000, 1358294400, 1358380800, + 1358467200, 1358553600, 1358640000, 1358726400, 1358812800, 1358899200, + 1358985600, 1359072000, 1359158400, 1359244800, 1359331200, 1359417600, + 1359504000, 1359590400, 1359676800, 1359763200, 1359849600, 1359936000, + 1360022400, 1360108800, 1360195200, 1360281600, 1360368000, 1360454400, + 1360540800, 1360627200, 1360713600, 1360800000, 1360886400, 1360972800, + 1361059200, 1361145600, 1361232000, 1361318400, 1361404800, 1361491200, + 1361577600, 1361664000, 1361750400, 1361836800, 1361923200, 1362009600, + 1362096000, 1362182400, 1362268800, 1362355200, 1362441600, 1362528000, + 1362614400, 1362700800, 1362787200, 1362873600, 1362960000, 1363046400, + 1363132800, 1363219200, 1363305600, 1363392000, 1363478400, 1363564800, + 1363651200, 1363737600, 1363824000, 1363910400, 1363996800, 1364083200, + 1364169600, 1364256000, 1364342400, 1364428800, 1364515200, 1364601600, + 1364688000, 1364774400, 1364860800, 1364947200, 1365033600, 1365120000, + 1365206400, 1365292800, 1365379200, 1365465600, 1365552000, 1365638400, + 1365724800, 1365811200, 1365897600, 1365984000, 1366070400, 1366156800, + 1366243200, 1366329600, 1366416000, 1366502400, 1366588800, 1366675200, + 1366761600, 1366848000, 1366934400, 1367020800, 1367107200, 1367193600, + 1367280000, 1367366400, 1367452800, 1367539200, 1367625600, 1367712000, + 1367798400, 1367884800, 1367971200, 1368057600, 1368144000, 1368230400, + 1368316800, 1368403200, 1368489600, 1368576000, 1368662400, 1368748800, + 1368835200, 1368921600, 1369008000, 1369094400, 1369180800, 1369267200, + 1369353600, 1369440000, 1369526400, 1369612800, 1369699200, 1369785600, + 1369872000, 1369958400, 1370044800, 1370131200, 1370217600, 1370304000, + 1370390400, 1370476800, 1370563200, 1370649600, 1370736000, 1370822400, + 1370908800, 1370995200, 1371081600, 1371168000, 1371254400, 1371340800, + 1371427200, 1371513600, 1371600000, 1371686400, 1371772800, 1371859200, + 1371945600, 1372032000, 1372118400, 1372204800, 1372291200, 1372377600, + 1372464000, 1372550400, 1372636800, 1372723200, 1372809600, 1372896000, + 1372982400, 1373068800, 1373155200, 1373241600, 1373328000, 1373414400, + 1373500800, 1373587200, 1373673600, 1373760000, 1373846400, 1373932800, + 1374019200, 1374105600, 1374192000, 1374278400, 1374364800, 1374451200, + 1374624000, 1374710400, 1374796800, 1374883200, 1374969600, 1375056000, + 1375142400, 1375228800, 1375315200, 1375401600, 1375488000, 1375574400, + 1375660800, 1375747200, 1375833600, 1375920000, 1376006400, 1376092800, + 1376179200, 1376265600, 1376352000, 1376438400, 1376524800, 1376611200, + 1376697600, 1376784000, 1376870400, 1376956800, 1377043200, 1377129600, + 1377216000, 1377302400, 1377388800, 1377475200, 1377561600, 1377648000, + 1377734400, 1377820800, 1377907200, 1377993600, 1378080000, 1378166400, + 1378252800, 1378339200, 1378425600, 1378512000, 1378598400, 1378684800, + 1378771200, 1378857600, 1378944000, 1379030400, 1379116800, 1379203200, + 1379289600, 1379376000, 1379462400, 1379548800, 1379635200, 1379721600, + 1379808000, 1379894400, 1379980800, 1380067200, 1380153600, 1380240000, + 1380326400, 1380412800, 1380499200, 1380585600, 1380672000, 1380758400, + 1380844800, 1380931200, 1381017600, 1381104000, 1381190400, 1381276800, + 1381363200, 1381449600, 1381536000, 1381622400, 1381708800, 1381795200, + 1381881600, 1381968000, 1382054400, 1382140800, 1382227200, 1382313600, + 1382400000, 1382486400, 1382572800, 1382659200, 1382745600, 1382832000, + 1382918400, 1383004800, 1383091200, 1383177600, 1383264000, 1383350400, + 1383436800, 1383523200, 1383609600, 1383696000, 1383782400, 1383868800, + 1383955200, 1384041600, 1384128000, 1384214400, 1384300800, 1384387200, + 1384473600, 1384560000, 1384646400, 1384732800, 1384819200, 1384905600, + 1384992000, 1385078400, 1385164800, 1385251200, 1385337600, 1385424000, + 1385510400, 1385596800, 1385683200, 1385769600, 1385856000, 1385942400, + 1386028800, 1386115200, 1386201600, 1386288000, 1386374400, 1386460800, + 1386547200, 1386633600, 1386720000, 1386806400, 1386892800, 1386979200, + 1387065600, 1387152000, 1387238400, 1387324800, 1387411200, 1387497600, + 1387584000, 1387670400, 1387756800, 1387843200, 1387929600, 1388016000, + 1388102400, 1388188800, 1388275200, 1388361600, 1388448000, 1388534400, + 1388620800, 1388707200, 1388793600, 1388880000, 1389052800, 1389139200, + 1389225600, 1389312000, 1389398400, 1389484800, 1389571200, 1389657600, + 1389744000, 1389830400, 1389916800, 1390003200, 1390089600, 1390176000, + 1390262400, 1390348800, 1390435200, 1390521600, 1390608000, 1390694400, + 1390780800, 1390867200, 1390953600, 1391040000, 1391126400, 1391212800, + 1391299200, 1391385600, 1391472000, 1391558400, 1391644800, 1391731200, + 1391817600, 1391904000, 1391990400, 1392076800, 1392163200, 1392249600, + 1392336000, 1392422400, 1392508800, 1392595200, 1392681600, 1392768000, + 1392854400, 1392940800, 1393027200, 1393113600, 1393200000, 1393286400, + 1393372800, 1393459200, 1393545600, 1393632000, 1393718400, 1393804800, + 1393891200, 1393977600, 1394064000, 1394150400, 1394236800, 1394323200, + 1394409600, 1394496000, 1394582400, 1394668800, 1394755200, 1394841600, + 1394928000, 1395014400, 1395100800, 1395187200, 1395273600, 1395360000, + 1395446400, 1395532800, 1395619200, 1395705600, 1395792000, 1395878400, + 1395964800, 1396051200, 1396137600, 1396224000, 1396310400, 1396396800, + 1396483200, 1396569600, 1396656000, 1396742400, 1396828800, 1396915200, + 1397001600, 1397088000, 1397174400, 1397260800, 1397347200, 1397433600, + 1397520000, 1397606400, 1397692800, 1397779200, 1397865600, 1397952000, + 1398038400, 1398124800, 1398211200, 1398297600, 1398384000, 1398470400, + 1398556800, 1398643200, 1398729600, 1398816000, 1398902400, 1398988800, + 1399075200, 1399161600, 1399248000, 1399334400, 1399420800, 1399507200, + 1399593600, 1399680000, 1399766400, 1399852800, 1399939200, 1400025600, + 1400112000, 1400198400, 1400284800, 1400371200, 1400457600, 1400544000, + 1400630400, 1400716800, 1400803200, 1400889600, 1400976000, 1401062400, + 1401148800, 1401235200, 1401321600, 1401408000, 1401494400, 1401580800, + 1401667200, 1401753600, 1401840000, 1401926400, 1402012800, 1402099200, + 1402185600, 1402272000, 1402358400, 1402444800, 1402531200, 1402617600, + 1402704000, 1402790400, 1402876800, 1402963200, 1403049600, 1403136000, + 1403222400, 1403308800, 1403395200, 1403481600, 1403568000, 1403654400, + 1403740800, 1403827200, 1403913600, 1404000000, 1404086400, 1404172800, + 1404259200, 1404345600, 1404432000, 1404518400, 1404604800, 1404691200, + 1404777600, 1404864000, 1404950400, 1405036800, 1405123200, 1405209600, + 1405296000, 1405382400, 1405468800, 1405555200, 1405641600, 1405728000, + 1405814400, 1405900800, 1405987200, 1406073600, 1406160000, 1406246400, + 1406332800, 1406419200, 1406505600, 1406592000, 1406678400, 1406764800, + 1406851200, 1406937600, 1407024000, 1407110400, 1407196800, 1407283200, + 1407369600, 1407456000, 1407542400, 1407628800, 1407715200, 1407801600, + 1407888000, 1407974400, 1408060800, 1408147200, 1408233600, 1408320000, + 1408406400, 1408492800, 1408579200, 1408665600, 1408752000, 1408838400, + 1408924800, 1409011200, 1409097600, 1409270400, 1409356800, 1409443200, + 1409529600, 1409616000, 1409702400, 1409788800, 1409875200, 1409961600, + 1410048000, 1410134400, 1410220800, 1410307200, 1410393600, 1410480000, + 1410566400, 1410652800, 1410739200, 1410825600, 1410912000, 1410998400, + 1411084800, 1411171200, 1411257600, 1411344000, 1411430400, 1411516800, + 1411603200, 1411689600, 1411776000, 1411862400, 1411948800, 1412035200, + 1412121600, 1412208000, 1412294400, 1412380800, 1412467200, 1412553600, + 1412640000, 1412726400, 1412812800, 1412899200, 1412985600, 1413072000, + 1413158400, 1413244800, 1413331200, 1413417600, 1413504000, 1413590400, + 1413676800, 1413763200, 1413849600, 1413936000, 1414022400, 1414108800, + 1414195200, 1414281600, 1414368000, 1414454400, 1414540800, 1414627200, + 1414713600, 1414800000, 1414886400, 1414972800, 1415059200, 1415145600, + 1415232000, 1415318400, 1415404800, 1415491200, 1415577600, 1415664000, + 1415750400, 1415836800, 1415923200, 1416009600, 1416096000, 1416182400, + 1416268800, 1416355200, 1416441600, 1416528000, 1416614400, 1416700800, + 1416787200, 1416873600, 1416960000, 1417046400, 1417132800, 1417219200, + 1417305600, 1417392000, 1417478400, 1417564800, 1417651200, 1417737600, + 1417824000, 1417910400, 1417996800, 1418083200, 1418169600, 1418256000, + 1418342400, 1418428800, 1418515200, 1418601600, 1418688000, 1418774400, + 1418860800, 1418947200, 1419033600, 1419120000, 1419206400, 1419292800, + 1419379200, 1419465600, 1419552000, 1419638400, 1419724800, 1419811200, + 1419897600, 1419984000, 1420070400, 1420156800, 1420243200, 1420329600, + 1420416000, 1420502400, 1420588800, 1420675200, 1420761600, 1420848000, + 1420934400, 1421020800, 1421107200, 1421193600, 1421280000, 1421366400, + 1421452800, 1421539200, 1421625600, 1421712000, 1421798400, 1421884800, + 1421971200, 1422057600, 1422144000, 1422230400, 1422316800, 1422403200, + 1422489600, 1422576000, 1422662400, 1422748800, 1422835200, 1422921600, + 1423008000, 1423180800, 1423267200, 1423353600, 1423440000, 1423526400, + 1423612800, 1423699200, 1423785600, 1423872000, 1423958400, 1424044800, + 1424131200, 1424217600, 1424304000, 1424390400, 1424476800, 1424563200, + 1424649600, 1424736000, 1424822400, 1424908800, 1424995200, 1425081600, + 1425168000, 1425254400, 1425340800, 1425427200, 1425513600, 1425600000, + 1425686400, 1425772800, 1425859200, 1425945600, 1426032000, 1426118400, + 1426204800, 1426291200, 1426377600, 1426464000, 1426550400, 1426636800, + 1426723200, 1426809600, 1426896000, 1426982400, 1427068800, 1427155200, + 1427241600, 1427328000, 1427414400, 1427500800, 1427587200, 1427673600, + 1427760000, 1427846400, 1427932800, 1428019200, 1428105600, 1428192000, + 1428278400, 1428364800, 1428451200, 1428537600, 1428624000, 1428710400, + 1428796800, 1428883200, 1428969600, 1429056000, 1429142400, 1429228800, + 1429315200, 1429401600, 1429488000, 1429574400, 1429660800, 1429747200, + 1429833600, 1429920000, 1430006400, 1430092800, 1430179200, 1430265600, + 1430352000, 1430438400, 1430524800, 1430611200, 1430697600, 1430784000, + 1430870400, 1430956800, 1431043200, 1431129600, 1431216000, 1431302400, + 1431388800, 1431475200, 1431561600, 1431648000, 1431734400, 1431820800, + 1431907200, 1431993600, 1432080000, 1432166400, 1432252800, 1432339200, + 1432425600, 1432512000, 1432598400, 1432684800, 1432771200, 1432857600, + 1432944000, 1433030400, 1433116800, 1433203200, 1433289600, 1433376000, + 1433462400, 1433548800, 1433635200, 1433721600, 1433808000, 1433894400, + 1433980800, 1434067200, 1434153600, 1434240000, 1434326400, 1434412800, + 1434499200, 1434585600, 1434672000, 1434758400, 1434844800, 1434931200, + 1435017600, 1435104000, 1435190400, 1435276800, 1435363200, 1435449600, + 1435536000, 1435622400, 1435708800, 1435795200, 1435881600, 1435968000, + 1436054400, 1436140800, 1436227200, 1436313600, 1436400000, 1436486400, + 1436572800, 1436659200, 1436745600, 1436832000, 1436918400, 1437004800, + 1437091200, 1437177600, 1437264000, 1437350400, 1437436800, 1437523200, + 1437609600, 1437696000, 1437782400, 1437868800, 1437955200, 1438041600, + 1438128000, 1438214400, 1438300800, 1438387200, 1438473600, 1438560000, + 1438646400, 1438732800, 1438819200, 1438905600, 1438992000, 1439078400, + 1439164800, 1439251200, 1439337600, 1439424000, 1439510400, 1439596800, + 1439683200, 1439769600, 1439856000, 1439942400, 1440028800, 1440115200, + 1440201600, 1440288000, 1440374400, 1440460800, 1440547200, 1440633600, + 1440720000, 1440806400, 1440892800, 1440979200, 1441065600, 1441152000, + 1441238400, 1441324800, 1441411200, 1441497600, 1441584000, 1441670400, + 1441756800, 1441843200, 1441929600, 1442016000, 1442102400, 1442188800, + 1442275200, 1442361600, 1442448000, 1442534400, 1442620800, 1442707200, + 1442793600, 1442880000, 1442966400, 1443052800, 1443139200, 1443225600, + 1443312000, 1443398400, 1443484800, 1443571200, 1443657600, 1443744000, + 1443830400, 1443916800, 1444003200, 1444089600, 1444176000, 1444262400, + 1444348800, 1444435200, 1444521600, 1444694400, 1444780800, 1444867200, + 1444953600, 1445040000, 1445126400, 1445212800, 1445299200, 1445385600, + 1445472000, 1445558400, 1445644800, 1445731200, 1445817600, 1445904000, + 1445990400, 1446076800, 1446163200, 1446249600, 1446336000, 1446422400, + 1446508800, 1446595200, 1446681600, 1446768000, 1446854400, 1446940800, + 1447027200, 1447113600, 1447200000, 1447286400, 1447372800, 1447459200, + 1447545600, 1447632000, 1447718400, 1447804800, 1447891200, 1447977600, + 1448064000, 1448150400, 1448236800, 1448323200, 1448409600, 1448496000, + 1448582400, 1448668800, 1448755200, 1448841600, 1448928000, 1449014400, + 1449100800, 1449187200, 1449273600, 1449360000, 1449446400, 1449532800, + 1449619200, 1449705600, 1449792000, 1449878400, 1449964800, 1450051200, + 1450137600, 1450224000, 1450310400, 1450396800, 1450483200, 1450569600, + 1450656000, 1450742400, 1450828800, 1450915200, 1451001600, 1451088000, + 1451174400, 1451260800, 1451347200, 1451433600, 1451520000, 1451606400, + 1451692800, 1451779200, 1451865600, 1451952000, 1452038400, 1452124800, + 1452211200, 1452297600, 1452384000, 1452470400, 1452556800, 1452643200, + 1452729600, 1452816000, 1452902400, 1452988800, 1453075200, 1453161600, + 1453248000, + ], + y: [ + 9.59076113897809, 8.51959031601596, 8.18367658262066, 8.07246736935477, + 7.8935720735049, 7.78364059622125, 8.41405243249672, 8.82922635473185, + 8.38251828808963, 8.06965530688617, 7.87929148508227, 7.76174498465891, + 7.52940645783701, 8.38526052015541, 8.62011072542292, 7.85243908535751, + 7.85399308722424, 8.0519780789023, 7.92660259918138, 7.83834331555712, + 9.70314458114435, 9.38597294061934, 8.29379960884682, 8.43468076984177, + 8.26204284396694, 8.10681603894705, 7.95014988765202, 9.50925907635395, + 8.84678466694523, 8.43054538469057, 8.2482674474469, 8.28172399041139, + 8.29279885820037, 8.19918935907807, 9.99652241850332, 10.1270710070787, + 8.93379604393486, 8.56617381363786, 8.54772239645106, 8.39976009452414, + 8.22309055116153, 8.83898679349679, 10.8972021813751, 9.44493807333551, + 8.92332474406756, 8.5434455625603, 8.49556089128912, 8.41737285613403, + 8.57262789830434, 8.73648935100155, 8.63408694288774, 8.67351294567119, + 8.82423661734664, 8.53797573059877, 9.69806112202708, 12.0974568371517, + 10.6352783566883, 9.69171658751689, 9.31560088263368, 8.97081334141145, + 8.58914169072882, 8.61740045183326, 8.61631428228404, 8.21554741194707, + 8.06495089174914, 8.11342663994365, 7.79934339821592, 7.6275443904885, + 7.55590509361135, 7.71154897962915, 7.78862606562503, 7.70841066725737, + 7.76853330092603, 7.69530313496357, 7.37838371299671, 7.91059061225648, + 7.62657020629066, 7.57353126274595, 7.56786260546388, 7.5522372875608, + 7.33693691370762, 8.12474302038557, 7.88758403166028, 7.81963630236759, + 7.38398945797851, 7.81439963380449, 7.5422134631934, 7.54855597916987, + 7.6889133368648, 7.4770384723197, 7.35883089834235, 7.03262426102801, + 7.11801620446533, 7.34987370473834, 7.32646561384032, 7.36391350140582, + 7.27793857294566, 7.25134498337221, 7.00215595440362, 7.16394668434255, + 7.7591874385078, 7.51860721681525, 7.41397029019044, 7.44249272279444, + 7.2283884515736, 6.99117688712121, 7.2115567333138, 7.31121838441963, + 7.34923082461333, 7.51425465281641, 7.39326309476384, 7.28619171470238, + 7.27309259599952, 7.16857989726403, 7.61134771740362, 7.61775957660851, + 7.42595365707754, 8.18200013629341, 7.39939808333135, 7.1066061377273, + 7.08086789669078, 7.42117752859539, 7.49164547360513, 7.38585107812521, + 7.68294316987829, 7.6889133368648, 7.2591161280971, 8.14496941708788, + 8.71391062849392, 8.09101504171053, 7.84031298332016, 7.64873978895624, + 8.02092771898158, 7.83002808253384, 7.72753511047545, 7.83597458172157, + 7.62657020629066, 7.64444076155657, 7.54855597916987, 7.44073370738926, + 7.07326971745971, 7.02642680869964, 7.39203156751459, 7.29301767977278, + 7.36137542897735, 7.51261754467451, 7.46049030582534, 7.11476944836646, + 7.12528309151071, 7.45587668749182, 7.31721240835984, 7.41034709782102, + 7.40245152081824, 7.29437729928882, 6.98933526597456, 6.99301512293296, + 7.4312996751559, 7.36201055125973, 7.454719949364, 7.36833968631138, + 7.14361760270412, 6.8351845861473, 6.89060912014717, 6.97447891102505, + 7.26612877955645, 7.27031288607902, 7.26542972325395, 7.15773548424991, + 6.86589107488344, 7.15383380157884, 7.21670948670946, 7.20191631753163, + 7.21229446850034, 7.18614430452233, 6.82001636467413, 6.88243747099785, + 7.18311170174328, 7.24279792279376, 7.1929342212158, 7.18387071506245, + 6.97073007814353, 6.9177056098353, 7.22256601882217, 7.35691824235602, + 7.24279792279376, 7.22329567956231, 7.16317239084664, 7.24136628332232, + 6.98656645940643, 6.96318998587024, 7.25063551189868, 7.1608459066643, + 7.13249755166004, 7.09174211509515, 7.01211529430638, 6.85751406254539, + 6.82762923450285, 7.13009851012558, 7.27724772663148, 7.03878354138854, + 6.89060912014717, 6.95749737087695, 7.29573507274928, 7.49720722320332, + 7.31055015853442, 7.20489251020467, 7.22256601882217, 7.25770767716004, + 7.42595365707754, 7.11720550316434, 7.24992553671799, 8.27690348126706, + 7.60638738977265, 7.64396194900253, 8.01234963932779, 7.93020620668468, + 7.50878717063428, 7.52131798019924, 7.58984151218266, 7.50052948539529, + 7.37023064180708, 7.38523092306657, 7.30249642372733, 7.27517231945277, + 7.39203156751459, 7.51697722460432, 7.90912218321141, 7.72312009226633, + 7.67042852219069, 7.62900388965296, 7.43070708254597, 7.57967882309046, + 7.9483852851119, 7.79564653633459, 8.00736706798333, 7.79069603117474, + 7.83280751652486, 7.51479976048867, 7.6275443904885, 7.85515700588134, + 7.96485088744731, 7.74586822979227, 8.08085641964099, 8.25997565976828, + 7.7698009960039, 8.17751582384608, 9.28173036806286, 8.33854487998858, + 7.83042561782033, 7.8087293067444, 7.81681996576455, 7.55485852104068, + 8.55506684384432, 8.20794694104862, 8.08363720314155, 7.79110951061003, + 7.67089483136212, 7.64012317269536, 7.55013534248843, 8.24931374626064, + 8.3039999709552, 8.12681372072611, 7.70616297019958, 7.66387725870347, + 7.52671756135271, 7.92588031673756, 7.92153563213355, 8.03398273468322, + 7.72577144158795, 7.69439280262942, 7.44949800538285, 7.39141523467536, + 7.34601020991329, 8.10137467122858, 8.15651022607997, 7.97108575350561, + 7.87283617502572, 7.63530388625941, 7.58781721999343, 7.34213173058472, + 8.17751582384608, 8.34093322600088, 8.47657950853094, 7.87359778968554, + 7.71735127218533, 7.49052940206071, 7.37588214821501, 8.07558263667172, + 8.16536363247398, 7.58528107863913, 7.60738142563979, 7.26752542782817, + 8.04012466444838, 8.10922495308995, 8.80687326653069, 7.74716496652033, + 7.48099216286952, 7.34665516317654, 7.24708058458576, 7.93808872689695, + 9.03562977818356, 8.04109100370863, 7.40610338123702, 7.97384437594469, + 7.76811037852599, 7.4713630881871, 8.03008409426756, 8.72939712269206, + 7.93701748951545, 7.66528471847135, 7.58018941794454, 7.7106533235012, + 7.26122509197192, 8.04654935728308, 8.09346227450118, 7.76726399675731, + 7.49665243816828, 7.5522372875608, 7.49720722320332, 7.3125534981026, + 7.93880224815448, 9.05870319731322, 8.19422930481982, 7.51914995766982, + 7.55118686729615, 7.71378461659875, 7.60589000105312, 8.49902922078857, + 8.29179710504873, 7.89469085042562, 7.79028238070348, 7.65539064482615, + 7.61035761831284, 7.53101633207792, 8.23137604557397, 8.00670084544037, + 7.85864065562079, 7.69712131728263, 7.59588991771854, 7.73587031995257, + 7.35115822643069, 8.03138533062553, 8.39434736141739, 7.82364593083495, + 8.08671792030391, 7.77148876011762, 8.68895923427068, 7.74716496652033, + 7.96067260838812, 8.62461158818351, 7.99665387546261, 7.62070508683826, + 7.4318919168078, 7.46278915741245, 7.4489161025442, 8.25140306538056, + 8.55525939222269, 8.31581113188354, 8.30992298925832, 7.75876054415766, + 8.80821966511841, 9.12194622121359, 10.1538181636943, 9.26785427817679, + 8.43424627059531, 8.13768818497761, 8.04494704961772, 8.22897764335831, + 8.14118979345769, 9.21562637640542, 8.73278832497312, 8.51016857647927, + 8.10409905614358, 7.95014988765202, 7.85205020726589, 7.65633716643018, + 8.04430540699064, 8.80101783354071, 7.82963038915019, 7.77737360265786, + 7.93522953981691, 7.67229245562876, 7.38832785957711, 7.51152464839087, + 7.66340766489348, 7.78945456608667, 7.80791662892641, 7.82484569102686, + 7.90654723236804, 7.70210434005105, 8.47762041629641, 9.14952823257943, + 8.06211758275474, 8.06652149046999, 8.05959232888755, 8.04942705711069, + 7.7621706071382, 8.09773057366422, 8.01829613851552, 7.61677580869837, + 7.84267147497946, 7.76853330092603, 7.53047999524554, 7.33236920592906, + 7.22402480828583, 7.41637847919293, 7.42714413340862, 7.39756153552405, + 7.49554194388426, 7.39939808333135, 7.00850518208228, 7.11801620446533, + 7.48380668766583, 7.57147364885127, 7.64826303090192, 7.47420480649612, + 7.47250074473756, 7.2115567333138, 7.34342622914737, 7.48211892355212, + 7.41095187558364, 7.40306109109009, 7.45298232946546, 7.42356844425917, + 7.08506429395255, 7.21081845347222, 7.35627987655075, 7.30451594646016, + 7.46565531013406, 7.86901937649902, 7.24850407237061, 7.07834157955767, + 7.2211050981825, 7.33432935030054, 7.29233717617388, 7.2991214627108, + 7.28344822875663, 7.30182234213793, 7.06219163228656, 7.18159194461187, + 7.50549227473742, 7.87473912517181, 7.57865685059476, 7.36707705988101, + 7.25700270709207, 7.05617528410041, 7.50273821075485, 7.44307837434852, + 7.48155570190952, 7.48211892355212, 7.51914995766982, 7.65964295456468, + 7.24422751560335, 7.23273313617761, 7.34213173058472, 7.42117752859539, + 7.49220304261874, 7.31521838975297, 7.14124512235049, 7.00940893270864, + 7.08757370555797, 7.30451594646016, 7.37462901521894, 7.51261754467451, + 7.51752085060303, 7.37400185935016, 7.14124512235049, 7.16162200293919, + 7.48493028328966, 7.51261754467451, 7.44483327389219, 7.47420480649612, + 7.67182679787878, 7.84227877911735, 7.92407232492342, 7.82843635915759, + 7.58680353516258, 7.62997570702779, 7.70975686445416, 7.52671756135271, + 7.19368581839511, 7.25770767716004, 7.45414107814668, 7.48155570190952, + 7.55903825544338, 7.44483327389219, 7.3375877435386, 7.13568734702814, + 7.08506429395255, 7.27239839257005, 7.5109777520141, 7.49886973397693, + 7.44424864949671, 7.40306109109009, 6.91671502035361, 6.97728134163075, + 7.48268182815465, 7.41397029019044, 7.37211802833779, 7.33367639565768, + 7.39510754656249, 7.03614849375054, 6.87419849545329, 6.98471632011827, + 7.45587668749182, 7.49498623395053, 7.33106030521863, 7.10496544826984, + 6.99393297522319, 6.93049476595163, 7.21817683840341, 7.4759059693674, + 7.36454701425564, 7.23993259132047, 7.30921236569276, 7.13886699994552, + 6.97260625130175, 7.18841273649695, 7.33498187887181, 7.33432935030054, + 7.43248380791712, 7.39141523467536, 6.96129604591017, 7.02197642307216, + 7.21376830811864, 7.50988306115491, 7.32843735289516, 7.49665243816828, + 7.20042489294496, 7.08422642209792, 7.14913159855741, 7.25629723969068, + 7.19818357710194, 7.28892769452126, 7.12849594568004, 7.0825485693553, + 6.82219739062049, 6.94793706861497, 7.11232744471091, 7.19967834569117, + 7.31721240835984, 7.09837563859079, 7.04490511712937, 7.30451594646016, + 7.79358680337158, 7.80547462527086, 7.48324441607385, 7.35691824235602, + 7.50714107972761, 7.37525577800975, 7.19668657083435, 7.22329567956231, + 7.35244110024358, 7.31721240835984, 7.44424864949671, 7.35564110297425, + 7.32448997934853, 7.21450441415114, 7.2841348061952, 7.54009032014532, + 7.47477218239787, 7.82923253754359, 7.68109900153636, 7.72973533138505, + 7.3031700512368, 7.28207365809346, 7.48549160803075, 7.61874237767041, + 7.69393732550927, 7.53955882930103, 7.43838353004431, 7.27378631784489, + 7.35564110297425, 7.65822752616135, 7.84345640437612, 8.36846113761584, + 8.1721644521119, 7.81156848934518, 7.57507169950756, 7.6586995582683, + 7.86633892304654, 7.78113850984502, 7.75491027202143, 7.70885960104718, + 8.20712916807133, 7.71154897962915, 7.73455884435476, 7.96762673933382, + 8.40380050406115, 8.29279885820037, 7.98548435673382, 8.67180090964268, + 7.78239033558746, 7.78696700261487, 7.94661756324447, 8.17357548663415, + 7.80954132465341, 7.80302664363222, 8.05134093329298, 7.97315543344413, + 7.86901937649902, 8.16251625014018, 8.04012466444838, 7.96346006663897, + 7.83834331555712, 7.91315518592807, 7.95331834656043, 8.07620452723903, + 7.98241634682773, 8.1285852003745, 7.95472333449791, 8.1101268019411, + 8.21365270303, 8.04686951095958, 8.9242570208881, 8.61721950548336, + 8.51959031601596, 8.01433573729942, 8.05769419481559, 8.10440130792161, + 7.99395754757357, 8.43185314424922, 9.73820008829795, 10.1799822793473, + 8.36194190614495, 9.94884325425692, 8.75904072752422, 8.25166392360559, + 8.07868822922987, 8.17357548663415, 7.88908440703551, 9.09985563880091, + 9.40656483393913, 9.16440114003474, 8.48735234940522, 8.43141741439483, + 8.2776661608515, 8.31213510764841, 8.79011689289247, 10.2800386504796, + 9.07577987858049, 8.69918135930895, 9.08658956454001, 8.86149186428691, + 8.54441917766983, 8.44762872803033, 8.25270667656764, 8.10982627601848, + 8.13681086367554, 8.7268056084461, 9.38269576445829, 8.57828829077605, + 8.23880116587155, 8.12237124340655, 8.05515773181968, 7.83241092718792, + 8.89754559870933, 8.72566970568704, 8.56407677731509, 8.2190566610606, + 8.14757773620177, 8.0013550258267, 7.78945456608667, 8.81195017753998, + 9.00220857828241, 8.59304250369967, 8.28197705886776, 8.46505743699571, + 8.49474306257865, 8.40514368760761, 10.558699193753, 9.12456459495478, + 8.73182058296211, 8.52892411429194, 8.50512061018197, 8.27639470486331, + 9.1239106439778, 8.58597270681106, 8.31556648356428, 8.66112036022288, + 8.92572027356022, 8.44139147799996, 9.2277872855799, 9.26473385580652, + 9.27491014262548, 8.39298958795693, 8.58522560180806, 8.42376124662369, + 8.33782726244791, 9.05975001334368, 9.29825967001407, 8.76186337327473, + 8.50754681436443, 8.39931015075952, 8.52357279838028, 8.37953902611744, + 9.09110628405248, 9.76198159024195, 8.92956770782534, 8.53070154144103, + 8.58709231879591, 9.79784922051313, 8.66475075577385, 9.17232692977797, + 9.20140053040671, 9.33052053223229, 8.68457030082437, 8.50248556254396, + 8.28878581042693, 8.29804166137157, 9.16293424957891, 9.54795481317617, + 9.01724094201035, 8.78492762605832, 8.38662882139512, 8.33447155460094, + 8.53601494565683, 8.70863965598719, 8.73004395324502, 8.37562962709445, + 8.31898612539206, 8.46442512587758, 8.5972974356579, 8.92279162396964, + 9.49167735686812, 9.21014035197352, 8.67795057029435, 8.60226936377136, + 8.61450137388324, 8.65886634973238, 8.77940359789435, 11.0079327963967, + 9.75324588920559, 9.22513045744882, 9.0177260256968, 8.93695560422523, + 9.00932517273497, 11.4840629202851, 10.2642341958449, 9.69443180053954, + 9.44041981429151, 9.35374783527091, 9.22847494217167, 9.30392178559771, + 10.2401740519157, 9.91595945403145, 10.1115174660403, 9.85859478364539, + 10.1190020766858, 10.0005688901867, 11.1914521795828, 10.4633318857817, + 9.65406419220144, 9.11975899374495, 8.79573360595074, 8.44848599340645, + 8.2666784433059, 8.21851757748959, 8.24249315318763, 8.00803284696931, + 8.0452677166078, 7.9287663216267, 7.74500280351584, 7.86633892304654, + 7.94165125293056, 8.31041499418829, 7.82803803212583, 7.87359778968554, + 7.75705114203201, 7.72621265050753, 7.77527584648686, 7.79523492900217, + 7.74975340627444, 8.06808962627824, 8.72583205652757, 7.65444322647011, + 7.60339933974067, 7.75319426988434, 7.77022320415879, 7.63143166457691, + 7.54380286750151, 7.60439634879634, 7.58426481838906, 7.5109777520141, + 7.67461749736436, 7.71289096149013, 7.70165236264223, 7.63819824428578, + 7.56268124672188, 7.40367029001237, 7.46622755621548, 7.61233683716775, + 7.80180040190897, 8.02878116248715, 7.73017479524622, 7.63964228785801, + 7.56320059235807, 7.48661331313996, 7.5076900778199, 7.65396918047877, + 7.61283103040736, 7.45414107814668, 7.36707705988101, 7.45298232946546, + 7.47873482556787, 7.98514393119862, 7.82164312623998, 7.66058546170326, + 7.5595594960077, 7.57660976697304, 7.4500795698075, 7.49886973397693, + 7.51588908521513, 7.60837447438078, 7.58629630715272, 7.68063742756094, + 7.7848892956551, 7.5522372875608, 7.59890045687141, 7.64826303090192, + 7.66996199547358, 7.85554467791566, 8.09651291750159, 8.92105701815743, + 8.3986348552921, 7.98820359702258, 8.00269416228394, 8.07309119969315, + 7.98309894071089, 7.84619881549743, 7.78655180642871, 7.44483327389219, + 7.5422134631934, 7.6425241342329, 7.6511201757027, 7.51152464839087, + 7.67693714581808, 7.9912539298402, 7.44190672805162, 7.38398945797851, + 7.60589000105312, 7.58680353516258, 7.62119516280984, 7.29573507274928, + 7.48885295573346, 7.27309259599952, 7.34665516317654, 7.47363710849621, + 7.35564110297425, 7.2283884515736, 7.39694860262101, 7.47533923656674, + 7.40974195408092, 7.34601020991329, 7.4079243225596, 7.38398945797851, + 7.38087903556412, 7.20637729147225, 7.09340462586877, 7.10987946307227, + 7.05531284333975, 7.11639414409346, 7.19218205871325, 7.24921505711439, + 7.41938058291869, 7.56216163122565, 7.43307534889858, 7.28550654852279, + 7.9355873855892, 9.01954299670119, 7.22548147278229, 7.02731451403978, + 6.7990558620588, 5.44673737166631, 5.32300997913841, 5.26269018890489, + 6.30627528694802, 6.65286302935335, 7.21964204013074, 7.38832785957711, + 7.13886699994552, 7.04315991598834, 7.20637729147225, 7.02997291170639, + 7.00760061395185, 6.91869521902047, 6.88448665204278, 6.13772705408623, + 7.20637729147225, 7.13727843726039, 7.05444965813294, 7.11232744471091, + 6.92657703322272, 6.81454289725996, 7.35500192110526, 7.13169851046691, + 7.07749805356923, 7.24208235925696, 7.24708058458576, 7.646353722446, + 7.45645455517621, 7.30988148582479, 7.23777819192344, 7.27517231945277, + 7.46908388492123, 7.45066079621154, 8.12740456269308, 7.77485576666552, + 7.52131798019924, 7.54960916515453, 7.94979721616185, 7.79770203551669, + 7.79975331828725, 7.9002660367677, 7.85825418218603, 7.94165125293056, + 7.67136092319064, 8.13534694890671, 8.68777949199177, 8.45318786144033, + 8.06463647577422, 8.00936307663004, 7.87739718635329, 7.85515700588134, + 8.14089846060785, 7.92117272158701, 7.9707403900071, 7.96519829061218, + 8.13476078241865, 7.79852305362521, 8.30770596654951, 8.28071107566285, + 8.74448811385292, 8.59137258959049, 8.44052810648075, 8.50976567558744, + 8.35514473946184, 8.28096440055337, 8.44052810648075, 8.31385226739821, + 8.08085641964099, 8.18590748148232, 8.85680335672838, 8.07309119969315, + 8.14148104145742, 8.18785544369562, 8.11522197256233, 8.15908865466791, + 8.20439841814938, 8.28500889544988, 8.08271113423758, 8.24564690087386, + 8.2220164372022, 8.45126704130007, 8.5519810169019, 8.62515033292133, + 9.13194630454817, 8.33997857199043, 9.86620096775011, 9.27077674078001, + 8.77183540978982, 8.49474306257865, 8.61631428228404, 8.94780609305705, + 9.07577987858049, 9.50046944807102, 11.4261031610143, 9.29550838434606, + 8.61721950548336, 8.47699600166482, 8.32772616646141, 8.30375241556341, + 9.330431852234, 9.41613428495528, 8.92292493064183, 8.44591198941127, + 8.31115254800169, 8.27052509505507, 8.20166019080868, 9.00981411052738, + 9.30909914399945, 9.12847934549586, 8.44741429680832, 8.25426877009018, + 8.32482129876878, 8.10288913464087, 9.15957325492253, 8.85109068766498, + 9.54057893384188, 8.49043845410742, 8.56464913257253, 8.352318548226, + 8.10440130792161, 9.15334665045606, 10.0752957033132, 8.71800933084636, + 8.34474275441755, 8.2630748358026, 8.25608813381491, 8.00869818298853, + 8.52971447196991, 8.861350110796, 9.78914235075127, 8.50025047068593, + 8.40559101483493, 8.9441588309704, 8.866581653304, 9.01456876745782, + 9.13010597926558, 10.2465097200211, 8.58969988220299, 8.65067458279072, + 8.78124833323686, 8.33302993974291, 9.06762406977459, 9.52332462729018, + 8.70996000607173, 8.37101068123816, 8.37770121259764, 8.40043463080604, + 8.18283871076603, 8.8750074860484, 9.21034037197618, 8.71456755083648, + 8.31752199628717, 8.55929436743487, 8.60465446718623, 8.73375513136489, + 9.54057893384188, 10.1616893196654, 8.8167050156216, 8.31409733540581, + 8.7106195279423, 8.74369111054302, 8.39231000926955, 9.23073106162392, + 10.2561143136283, 8.9138193508572, 8.65032450401942, 8.39004140575575, + 8.3091845276863, 8.22228507387272, 9.28238192484115, 9.92260366972836, + 9.16889318206201, 8.74830491237962, 8.81507308884446, 9.76330552193627, + 8.56883642456808, 8.92611897115338, 9.12891337328045, 9.7195647143752, + 8.78124833323686, 8.48838210956212, 8.53640741034004, 8.14409846333852, + 9.10664513563742, 9.11569996782206, 9.68421151274841, 8.80011394676631, + 8.54752839121231, 8.3221510702129, 8.09529377684465, 8.92345797969497, + 9.37974553683691, 8.90327158572421, 8.87556669199055, 8.44139147799996, + 8.59674347017425, 9.00969189848934, 9.39897529082673, 9.99392223000734, + 9.06149227523977, 8.97119446318447, 8.94689552388845, 9.18696938565294, + 9.0980671294934, 10.8781037947059, 9.38269576445829, 9.19897604189713, + 8.62119278143472, 8.61323037961318, 8.69517199877606, 8.72029728739272, + 9.50031980347665, 9.34757739028127, 8.78370269863522, 8.70217786562968, + 8.6821990260005, 8.48363640788739, 8.40916244720253, 8.97309789628247, + 9.55030649785165, 8.78630387828258, 8.60813018640834, 8.49494758246892, + 8.44870019497094, 8.19174002127746, 8.38091517312361, 9.07394774707063, + 8.35608503102148, 8.3485378253861, 8.53503310954457, 8.43489794868941, + 8.5354259596773, 8.99168672593482, 9.77713036365961, 8.63887970967284, + 8.28324144138542, 8.27333659850449, 8.15908865466791, 7.91352101728389, + 7.8407064517494, 8.02486215028641, 7.97143099776935, 8.47782846789396, + 7.95787735848981, 8.02355239240435, 7.54908271081229, 7.51969240411654, + 7.87169266432365, 7.68156036255954, 7.73236922228439, 7.78239033558746, + 7.65633716643018, 7.48324441607385, 7.59890045687141, 7.78613643778307, + 7.75061473277041, 7.76472054477148, 7.70481192293259, 7.6586995582683, + 7.34729970074316, 7.54433210805369, 7.74716496652033, 7.6889133368648, + 7.77064523412918, 7.61184239958042, 7.48773376143644, 7.55747290161475, + 7.56837926783652, 7.52563997504154, 7.66199755890189, 7.41637847919293, + 7.44366368311559, 7.31654817718298, 7.17472430983638, 7.24779258176785, + 7.41397029019044, 7.52940645783701, 7.63964228785801, 8.26975694753298, + 8.33134542484572, 7.78447323573647, 7.48099216286952, 7.58781721999343, + 7.67182679787878, 7.59739632021279, 7.67740043051481, 7.48436864328613, + 7.26122509197192, 7.39203156751459, 7.42833319419081, 7.55747290161475, + 7.48885295573346, 7.42714413340862, 8.21527695893663, 8.49371983523059, + 8.14322675036744, 8.12177741916107, 8.20794694104862, 8.5197898172635, + 8.57470709761684, 8.04782935745784, 7.48773376143644, 7.56631101477246, + 7.9976631270201, 8.00836557031292, 7.91498300584839, 7.8804263442924, + 7.84893372636407, 7.50823877467866, 7.66058546170326, 8.02747653086048, + 8.10046489102936, 8.18088094199639, 8.33351070898294, 8.64100247714252, + 8.46315930292375, 8.01201823915906, 7.79564653633459, 7.70571282389443, + 7.77863014732581, 7.81237820598861, 7.56164174558878, 7.26332961747684, + 7.35564110297425, 7.47477218239787, 7.53422832627409, 7.62997570702779, + 7.62608275807238, 7.44483327389219, 7.11963563801764, 7.37023064180708, + 7.54115245513631, 7.5137092478397, 7.59034694560257, 7.54802896993501, + 7.36833968631138, 7.11314210870709, 7.23705902612474, 7.48717369421374, + 7.61233683716775, 8.21716859576607, 7.66669020008009, 7.32646561384032, + 7.09340462586877, 7.13966033596492, 7.40367029001237, 7.42595365707754, + 7.43779512167193, 7.55328660560042, 7.32184971378836, 7.10332206252611, + 7.11069612297883, 7.48211892355212, 7.54591815120932, 7.32778053842163, + 7.21964204013074, 7.36327958696304, 7.18841273649695, 7.25063551189868, + 7.4500795698075, 7.19743535409659, 7.41938058291869, 7.37963215260955, + 7.40306109109009, 7.51588908521513, 7.63723438878947, 7.52617891334615, + 7.3185395485679, 7.38212436573751, 7.74975340627444, 7.67600993202889, + 7.26612877955645, 7.58324752430336, 7.56682847920833, 7.56008046502183, + 7.63288550539513, 7.50052948539529, 7.42356844425917, 7.39018142822643, + 7.21007962817079, 7.94555542825349, 7.5999019592085, 7.56268124672188, + 7.61184239958042, 8.99998964246073, 8.73793385811414, 8.26796230533871, + 7.77904864492556, 7.57865685059476, 7.60539236481493, 8.29179710504873, + 7.61775957660851, 7.35883089834235, 7.68662133494462, 7.75362354655975, + 7.77904864492556, 8.05706068196577, 7.8984110928116, 7.79729127354747, + 7.51534457118044, 7.48268182815465, 7.88683299895506, 8.39728289474368, + 8.26770566476243, 8.23615566168312, 8.38890517111471, 9.0788640091878, + 9.63299030483845, 8.94780609305705, 8.53934599605737, 8.3478273457825, + 8.32530602975258, 8.25556865328375, 8.09712193091871, 8.13593277200489, + 8.01895468315572, 8.0861025356691, 8.13329386122263, 8.04974629095219, + 8.19063168090354, 8.04334217044161, 8.43814998407578, 8.10741881171997, + 8.16876982367527, 8.17470288246946, 8.29129585190541, 8.3059782109673, + 8.42310226801664, 8.75621009188674, 8.72583205652757, 8.70748291785937, + 8.51077262361331, 8.70217786562968, 8.580543506917, 9.22542600939422, + 8.41116578677071, 8.45190772471761, 8.77183540978982, 8.23880116587155, + 8.15708378502887, 8.03915739047324, 8.1185050675871, 9.18563775933581, + 9.15239341202133, 9.02617712030286, 9.74226190403691, 10.0828463914793, + 9.11107237031751, 9.73878978049572, 9.614938437645, 9.34801317710126, + 8.55429627936774, 8.44955654270043, 8.43054538469057, 8.60538720215215, + 9.219894584781, 9.50076867009599, 9.52230033688749, 8.47886807709457, + 8.28349412616251, 8.26898820950666, 8.28324144138542, 9.03013657115323, + 10.2525586604481, 9.16659744902826, 8.27537637483641, 8.3466420902212, + 8.42156296040099, 8.19450550976564, 8.87766093359367, 8.9941724343984, + 9.55676293945056, 8.4144957931779, 8.31139827843664, 8.365672383775, + 8.14902386805177, 8.96826881077645, 8.88322423027899, 8.70450228972123, + 8.23297179059344, 8.17301131172497, 8.13446757027756, 8.83433697401764, + 9.08975340898706, 9.0107912695156, 8.71751837264977, 8.42200300441249, + 8.20712916807133, 8.05484022110102, 8.83156587912106, 10.1827467519768, + 8.80986280537906, 8.76013937002663, 8.88502565805085, 8.56159277871292, + 8.2495751500002, 9.35660287895444, 9.12750209366718, 8.79102985704596, + 8.65347080970879, 8.74337213127397, 8.86742743852498, 8.44009614103127, + 9.37568530456302, 9.74102744483773, 8.83622857152601, 8.46104603079324, + 8.21635833238616, 8.22844388300403, 8.0471895621705, 9.07234187381889, + 9.46761478200654, 8.98669669562029, 8.43923164994653, 8.42398080969406, + 8.58802437217683, 8.25400859056484, 8.74512525946224, 9.49514330367712, + 8.72469504674049, 8.35960327084147, 8.76374072050946, 8.7279402223939, + 8.38548870041881, 9.3130774494273, 9.3061958576197, 9.84675845829004, + 8.79679268767466, 8.64611397148308, 8.9398431242785, 8.84375938191798, + 9.7005142080113, 9.53914039514886, 8.9082888855571, 9.02183976410551, + 9.10963566785455, 8.87164566750187, 8.38228942895144, 9.23229753932823, + 9.85287823470959, 8.84707231256781, 8.53346016388011, 8.58802437217683, + 8.48549610467298, 8.18979961872823, 9.49687178267057, 9.46280968867222, + 8.84347078162738, 8.36310917603352, 8.60575336839572, 6.58617165485467, + 7.63578686139558, 9.24879155835043, 8.88072457615146, 8.69617584694468, + 8.45382731579442, 8.14467918344776, 9.07635173197287, 10.2446985435045, + 9.85828095969805, 9.18758338485357, 8.76248954737158, 8.5016733797582, + 8.65521448931361, 10.0388921895423, 9.46436224293533, 8.97309789628247, + 8.95557714628151, 8.91945316857545, 8.72631895096224, 8.73921611506174, + 10.26196586942, 10.5694947531438, 9.56120848888113, 9.60400276796519, + 10.0861007334703, 9.72841962445348, 9.41205597587677, 9.84357829978222, + 11.5721750241742, 10.2817184876905, 10.1697672187275, 9.68290322361684, + 9.89550578279447, 9.37627844951961, 9.58217975243469, 10.3414521187349, + 10.3339704236196, 10.2182252970113, 9.73406247747719, 10.1874627630566, + 9.88857693980037, 11.075086947327, 12.6735418157462, 10.9246967023573, + 10.1815358690196, 9.86339445896968, 9.92573816147095, 9.40153907670774, + 9.33441468707811, 9.14750706280461, 8.91395385889425, 9.1801903950253, + 9.05718919248201, 8.71275997496021, 8.40312823512826, 8.29479935899257, + 9.11591979635669, 8.95156964301882, 8.3513747067213, 8.65381978894806, + 8.6429443967218, 8.71620797115185, 8.36497397843873, 8.37378460812088, + 8.51719319141624, 8.31825432879885, 8.39547743273214, 8.3228800217699, + 8.24564690087386, 8.63194942871443, 8.31066090590723, 8.43294163896865, + 11.6448305358502, 11.3632879189498, 10.6929444132335, 10.3343929611261, + 9.98608085083998, 10.2820952064744, 10.1943645158844, 10.0954706196007, + 10.1468650106811, 10.140888975597, 10.2095373998461, 10.033682134194, + 11.0828346170357, 11.1744832892926, 10.7792895676801, 9.9475044379529, + 9.37602428761711, 8.99776577201121, 8.83287946027762, 8.89822898560123, + 8.76467807411661, 8.54110501146255, 8.39615486303918, 8.31238059678675, + 8.34117174717076, 8.1300590399928, 8.35819745992578, 8.35561499576018, + 8.18172045512811, 8.10952565975287, 8.06463647577422, 7.82324569068552, + 7.85476918349913, 8.10167774745457, 8.09040229659332, 7.98989937494294, + 8.09894674894334, 8.65381978894806, 8.04109100370863, 8.04974629095219, + 8.22147894726719, 8.17075142375753, 8.3354314778808, 8.25660734462616, + 8.05769419481559, 7.70796153183549, 7.91717198884578, 8.2602342916073, + 8.28803156777646, 8.36869318309779, 8.63355299253243, 9.27246974344173, + 8.67556352738768, 8.48342956126343, 8.17188200612782, 8.20658361432075, + 8.18896686364888, 8.03073492409854, 8.05484022110102, 9.15514473650823, + 8.83331693749932, 8.34972083747249, 8.18339736999843, 7.95647679803678, + 7.86940171257709, 7.70930833338587, 7.81923445385907, 7.83241092718792, + 7.88683299895506, 8.03786623470962, 7.952615111651, 7.76768727718691, + 7.47816969415979, 7.539027055824, 7.99799931797973, 8.30967689598773, + 8.02878116248715, 7.79028238070348, 7.76174498465891, 7.47647238116391, + 7.63964228785801, 7.65586401761606, 7.81963630236759, 7.81359155295243, + 7.99057688174392, 7.81278281857758, 7.65775527113487, 7.69439280262942, + 7.84149292446001, 7.93343838762749, 7.6511201757027, 7.72356247227797, + 7.88004820097158, 7.94093976232779, 7.75876054415766, 7.63336964967958, + 7.84854348245668, 7.89729647259588, 7.72223474470961, 7.71244383427499, + 7.53955882930103, 7.91169052070834, 7.80139132029149, 8.4013333053217, + 8.18144069571937, 7.86288203464149, 7.92407232492342, 7.56682847920833, + 7.51914995766982, 7.64873978895624, 7.77064523412918, 7.60986220091355, + 7.59186171488993, 7.539027055824, 7.34536484041687, 7.46336304552002, + 7.51479976048867, 7.6425241342329, 7.67600993202889, 7.55799495853081, + 7.6889133368648, 7.60638738977265, 7.58222919427646, 7.74196789982069, + 7.78239033558746, 8.00636756765025, 8.65102453904976, 8.40357646462927, + 8.3850322878139, 8.02812905943176, 7.95787735848981, 7.99530662029082, + 7.99226864327075, 7.9359451033537, 7.98786409608569, 7.78364059622125, + 7.8087293067444, 8.0532511535491, 7.97590836016554, 8.12237124340655, + 8.55986946569667, 8.9274468162562, 8.28576542051433, 8.28399930424853, + 8.16337131645991, 7.91425227874244, 7.86441990499457, 8.07215530818825, + 8.0802374162167, 8.12088602109284, 8.11312710422178, 8.14438886554762, + 8.06463647577422, 7.944846711002, 8.24143968982973, 9.00736702745136, + 8.66233195708248, 8.80056599227992, 8.3742461820963, 8.56407677731509, + 8.38434727808281, 8.12651816878071, 8.39072252736229, 8.3351915834332, + 8.9278448262117, 9.0079793598445, 8.37816098272068, 8.20330402679528, + 8.38571682862785, 8.31115254800169, 8.74145611599836, 9.44295889365291, + 9.14590851181679, 8.58951385299586, 8.46484671104403, 8.36590507720246, + 8.56541176368671, 8.4724050086261, 8.96648377906443, 8.56006109164341, + 8.4690528160883, 8.74385056203024, 10.0138206842205, 8.69114649853968, + 8.78094111357239, 9.83900236330972, 11.614940390377, 9.62865589206317, + 8.78293635634926, 8.68118104152169, 9.00097644407034, 8.74623928838306, + 9.8072519446553, 9.61266722758384, 10.5920994642943, 8.75542238014849, + 8.56063574925907, 9.40516674990861, 8.45807992692373, 9.54959444997195, + 9.60602446822924, 8.67726913926287, 8.17103418920548, 8.24143968982973, + 8.51097389160232, 8.32360844234357, 9.25922576970599, 9.84966474583862, + 8.83317113302287, 8.49780647761605, 8.63408694288774, 9.04227668692893, + 8.55004752828718, 9.81809304951918, 9.9020865716205, 8.91637191488169, + 8.33206770728955, 8.23668532271246, 8.40178233990491, 8.24170315972982, + 9.03562977818356, 9.10409057213347, 10.8321415433937, 8.7787879291047, + 8.48011418317482, 8.48941081040379, 8.25062008217469, 9.54344981789221, + 9.09717167387054, 8.66939912430557, 8.34924780056679, 8.34069464792507, + 8.49474306257865, 8.53326337159373, 9.21979553074694, 10.4442990717924, + 8.87696334026227, 8.68185981297147, 8.49821422481843, 8.56845648535378, + 8.45871626165726, 9.71818154670121, 9.68700923909068, 8.83010431791379, + 8.38799525294456, 8.4984180360899, 8.84721610435754, 8.28096440055337, + 9.26492324974647, 9.11173476822206, 8.70682132339263, 8.33182700443606, + 8.36660283278374, 8.27690348126706, 8.12946976478423, 9.17915925449261, + 9.68558026801716, 8.65521448931361, 8.29454951514368, 8.6522484224091, + 8.92970011431345, 8.3959291039232, 9.46753746341524, 9.88979422540413, + 8.84922702143852, 8.61431990214696, 8.48156601377309, 8.74909824839902, + 8.65364531455174, 9.3482745580655, 9.67683786189263, 9.64290170574605, + 8.72891172506098, 8.77894188184151, 9.96057651952026, 8.73777346032728, + 9.25263328416643, 9.26624800391448, 9.42730487221368, 8.79300509129753, + 8.70300863746445, 8.43944784279138, 8.29104513108173, 9.31325790598287, + 9.34792603492875, 8.791486026749, 8.51899157335762, 8.41294317004244, + 8.29679586577005, 8.21256839823415, 9.25655579577315, 9.65226597708712, + 8.63746202380718, 8.60776488960062, 8.96533457380484, 8.68372406230387, + 8.53267276226462, 9.49016666846238, 10.142858720955, 9.11162439903702, + 9.08500388066489, 9.05508908670489, 9.33626792857397, 9.23960786965675, + 10.1327324527083, 9.49122438992696, 9.1122864315008, 9.06357899058078, + 8.97297111339799, 9.14548179962769, 10.5418617072488, 11.5075208865114, + 10.1931676276506, 9.27995971385624, 8.84635304331433, 8.73262709966039, + 8.65504025810836, 8.45446636150793, 8.96367227561502, 10.0210927946104, + 9.00565049932022, 8.86092472971904, 8.58522560180806, 8.536211197252, + 8.45850419506756, 8.53444354482276, 10.1042218823372, 8.65067458279072, + 8.51218064959269, 8.48549610467298, 8.57791192645094, 8.54985397365579, + 9.60622641363735, 10.0261917925116, 8.87024156729927, 8.52793528794814, + 8.38343320123671, 8.20083725837985, 8.09285102753838, 8.03883475778775, + 8.08641027532378, 8.03657340970731, 7.97522083865341, 7.84267147497946, + 7.8935720735049, 7.81762544305337, 7.82284529027977, 7.9672801789422, + 8.00670084544037, 7.91132401896335, 7.85166117788927, 7.87207397986687, + 7.75362354655975, 7.68294316987829, 7.84384863815247, 8.19146305132693, + 7.97831096986772, 7.92334821193015, 7.87131120332341, 7.74370325817375, + 7.77863014732581, 7.83518375526675, 7.83834331555712, 7.84619881549743, + 7.92044650514261, 7.75790620835175, 7.58629630715272, 7.51479976048867, + 7.75790620835175, 7.80343505695217, 8.07899825868515, 8.38068594676157, + 8.0643219609108, 7.85282781228174, 7.90396563403217, 7.84463264446468, + 7.88945914940452, 8.22550309756692, 8.54071438645758, 8.01928379291679, + 7.83122021460429, 8.43315919580623, 8.09620827165004, 7.86633892304654, + 7.77904864492556, 7.77359446736019, 7.77275271646874, 7.76811037852599, + 7.48099216286952, 7.74370325817375, 7.5963923040642, 7.68063742756094, + 7.53849499941346, 7.4500795698075, 7.44307837434852, 7.54855597916987, + 7.64060382639363, 7.67647364638916, 7.56734567601324, 8.07682603129881, + 7.70120018085745, 7.36833968631138, 7.3664451483276, 7.48661331313996, + 7.5740450053722, 7.568895663407, 7.63964228785801, 7.85321638815607, + 7.31188616407716, 7.53636393840451, 7.68248244653451, 7.73193072194849, + 8.01201823915906, 7.98036576511125, 8.17131687471973, 7.97796809312855, + 7.79482315217939, 8.30424746507847, 8.05642676752298, 7.77779262633883, + 8.22897764335831, 7.900636613018, 7.46164039220858, 7.54908271081229, + 7.81681996576455, 7.72223474470961, 7.71556953452021, 7.72621265050753, + 7.58171964012531, 7.26542972325395, 7.30114780585603, 7.47420480649612, + 7.58882987830781, 7.61085279039525, 7.64778604544093, 7.60190195987517, + 7.25417784645652, 7.1800698743028, 7.37713371283395, 7.57507169950756, + 7.50714107972761, 7.58578882173203, 7.40731771046942, 7.03085747611612, + 7.15070145759253, 7.25417784645652, 7.45066079621154, 7.55118686729615, + 7.61332497954064, 7.42714413340862, 7.350516171834, 7.28824440102012, + 7.434847875212, 7.53743003658651, 7.35244110024358, 7.28207365809346, + 7.3031700512368, 7.29369772060144, 7.22983877815125, 7.57507169950756, + 7.97418866928601, 7.61579107203583, 7.47420480649612, 7.33432935030054, + 7.31920245876785, 7.40488757561612, 7.42476176182321, 7.47022413589997, + 7.36770857237437, 7.2841348061952, 7.32580750259577, 7.29097477814298, + 7.19142933003638, 7.28961052145117, 7.33236920592906, 7.39572160860205, + 7.56734567601324, 7.62119516280984, 7.26892012819372, 7.26961674960817, + 7.30787278076371, 7.28138566357028, 7.32118855673948, 7.51207124583547, + 7.50052948539529, 7.11314210870709, 7.1420365747068, 7.32383056620232, + 7.42892719480227, 7.52886925664225, 7.41997992366183, 7.4730690880322, + 7.3375877435386, 7.35436233042148, 7.58273848891441, 7.62608275807238, + 7.7596141506969, 7.94058382710424, 7.59085212368858, 7.41818082272679, + 7.41155628781116, 7.59789795052178, 6.63594655568665, 7.64730883235624, + 7.82763954636642, 7.63385355968177, 8.53030683056162, 8.52951694110507, + 7.85127199710988, 7.79564653633459, 7.58222919427646, 7.43897159239586, + 7.63867982387611, 7.52725591937378, 7.72488843932307, 7.91352101728389, + 8.65956043270316, 8.29579811063615, 8.13241267450091, 7.92551897978693, + 7.82843635915759, 7.84424071814181, 7.77695440332244, 7.76684053708551, + 7.78986855905471, 7.69393732550927, 7.71556953452021, 8.15277405274407, + 8.2529671950008, 7.94129557090653, 7.80954132465341, 7.81923445385907, + 7.81237820598861, 7.54538974961182, 8.47428569040496, 7.79193595693806, + 7.66809370908241, 7.80547462527086, 7.9672801789422, 7.99429498641598, + 7.80954132465341, 8.70317470904168, 7.9672801789422, 8.09620827165004, + 8.03786623470962, 8.58016799057763, 10.8718582692757, 9.19248185367487, + 9.15069651904867, 9.82319898130729, 8.76888532613486, 8.50855599802057, + 8.72972059026726, 8.92145757894788, 8.52991196382401, 10.4159817834027, + 10.3369892693381, 9.14644164612595, 8.50875771259514, 8.38617292897783, + 8.36100710822691, 8.12976444579417, 8.73198193834769, 8.73584667745758, + 10.8196982812101, 10.6590929669357, 9.84945366404364, 8.88820487145502, + 8.92771217382708, 9.66738540005753, 10.1635029066262, 9.3379417165699, + 9.17719715338293, 8.87905466204227, 8.57866451350434, 8.73004395324502, + 9.9533247873833, 10.2387447656008, 9.20311432688444, 8.74719318352693, + 8.77554943448619, 9.2098402469345, 8.52813313145457, 9.05765528431053, + 9.42294862137501, 9.02917814290207, 9.09773142759353, 9.44809663565824, + 9.11250701162742, 8.80267284031282, 9.20843856468659, 11.0470891404358, + 9.32758993202642, 8.67880170661265, 8.57659353469768, 8.43598313599069, + 8.19007704971905, 9.06044728240157, 9.27030595314362, 8.5016733797582, + 8.18729927015515, 8.0959035329611, 8.04334217044161, 7.952615111651, + 8.39908510293591, 8.79102985704596, 8.3030093814735, 8.11910083763749, + 8.23031079913502, 8.15765701519647, 7.82923253754359, 8.57395152523485, + 9.61132880805727, 8.92385758009988, 8.3654396361887, 8.31188955823036, + 8.63141433550626, 8.45382731579442, 8.90585118120802, 10.8674821444793, + 9.15514473650823, 8.43944784279138, 8.44354665124794, 8.57262789830434, + 8.372398606513, 8.73600738456922, 10.3885029394023, 8.70880479511728, + 8.19533366716287, 8.22147894726719, 8.27512163021651, 8.16990264735914, + 8.82232217747174, 9.80543361206074, 9.38907215991958, 8.98130449495713, + 8.57922858233569, 8.48776438072542, 8.72192834304709, 8.9182485910357, + 9.65162297294974, 8.86474666090541, 8.50936261230105, 8.63177109612367, + 9.20271134481169, 8.90381521172292, 9.02653771890043, 9.23766366762507, + 8.89508153175417, 8.6429443967218, 8.12976444579417, 8.29179710504873, + 8.09803475617607, 9.51878049751247, 9.90468683311161, 8.93734984826739, + 8.57885257180297, 8.71588010229646, 8.48899945704546, 8.50572771330696, + 9.30008966411979, 10.1461591836579, 9.17709377818255, 8.83564692253477, + 8.83287946027762, 8.92305821954573, 8.89329814421792, 8.60263667323371, + 8.99143781491923, 8.80687326653069, 8.85409390765552, 8.93102321585603, + 8.85280791762332, 10.6933076203563, 11.3075604350077, 9.83745458193169, + 9.60508151672137, 9.74537068443899, 9.67564548044036, 9.43468320386588, + 11.5036223246441, 11.9767789709185, 10.5425744562461, 10.004282662571, + 9.73281784848262, 9.86646043169905, 9.37092743662413, 9.490544554572, + 10.139152384404, 9.99984264077889, 10.0327159505439, 10.3803736928726, + 10.453053004618, 10.2401383446439, 11.7605196483804, 12.846746888829, + 10.7668837086558, 9.84522264440415, 9.29035230994557, 9.10331179921766, + 8.79573360595074, 8.62335338724463, 8.41825644355621, 8.31090675716845, + 8.23615566168312, 8.13123654969612, 7.92768504561578, 7.7591874385078, + 7.72665366484764, 7.83518375526675, 7.88419993367604, 7.91461770904068, + 7.92551897978693, 7.75319426988434, 7.50878717063428, 7.55747290161475, + 7.80261806344267, 7.68386398025643, 7.9844627322622, 7.85166117788927, + 7.68478394352278, 7.3375877435386, 7.40367029001237, 7.86787149039632, + 7.8984110928116, 7.58426481838906, 7.71423114484909, 7.88945914940452, + 7.32580750259577, 7.48885295573346, 7.55381085200823, 7.66996199547358, + 7.98820359702258, 8.00436556497957, 7.6511201757027, 7.48661331313996, + 7.44949800538285, 7.59538727885397, 7.60986220091355, 7.54802896993501, + 7.61775957660851, 7.59538727885397, 7.34665516317654, 7.40123126441302, + 8.09315669772264, 7.92371033396924, 7.69074316354187, 8.43901541035221, + 7.78239033558746, 7.30854279753919, 7.26192709270275, 7.43720636687129, + 7.54009032014532, 7.58528107863913, 7.60887062919126, 7.46450983463653, + 7.15695636461564, 7.48773376143644, 7.4489161025442, 7.47022413589997, + 7.43602781635185, 7.52185925220163, 7.41034709782102, 7.15617663748062, + 7.13807303404435, 7.36264527041782, 7.51697722460432, 7.61726781362835, + 7.49554194388426, 7.39203156751459, 7.17472430983638, 8.09132127353041, + 7.51534457118044, 7.8458075026378, 7.69120009752286, 7.83478810738819, + 7.67740043051481, 7.24850407237061, 7.40245152081824, 7.69439280262942, + 7.82604401351897, 7.61184239958042, 7.5137092478397, 7.67600993202889, + 7.24064969425547, 7.65539064482615, 8.13944052187461, 8.37493814383537, + 7.90174751852014, 8.02387999273488, 8.75020786252571, 8.081784206935, + 7.70436116791031, 7.86825426552061, 7.81963630236759, 7.76089319585102, + 7.66715825531915, 7.63433723562832, 7.35115822643069, 7.58933582317062, + 7.91022370709734, 7.85476918349913, 7.64683139143048, 7.49164547360513, + 7.5234813125735, 7.0352685992811, 7.06561336359772, 7.22983877815125, + 7.50823877467866, 8.31164394850298, 8.01400499477946, 7.49720722320332, + 7.83161727635261, 7.15148546390474, 7.41095187558364, 7.63094658089046, + 7.4759059693674, 7.58832367733522, 7.24636808010246, 7.10332206252611, + 7.10414409298753, 7.1929342212158, 7.40123126441302, 7.43955930913332, + 7.70796153183549, 7.350516171834, 7.32251043399739, 7.28550654852279, + 7.36770857237437, 7.26752542782817, 7.22475340576797, 7.22256601882217, + 7.35179986905778, 6.97541392745595, 7.04315991598834, 7.48099216286952, + 7.20340552108309, 7.22402480828583, 7.11314210870709, 7.07918439460967, + 6.88550967003482, 6.87419849545329, 7.72312009226633, 7.49665243816828, + 7.22402480828583, 7.27239839257005, 7.07918439460967, 6.85435450225502, + 6.93049476595163, 7.15617663748062, 7.31455283232408, 7.22693601849329, + 7.65681009148038, 7.54009032014532, 7.21007962817079, 7.24992553671799, + 7.29437729928882, 7.51914995766982, 7.42237370098682, 8.22362717580548, + 7.49276030092238, 7.22475340576797, 7.25629723969068, 7.4489161025442, + 7.65539064482615, 7.67136092319064, 7.92407232492342, 7.80098207125774, + 7.45645455517621, 7.36264527041782, 8.21311069759668, 8.23642052726539, + 7.92153563213355, 7.74500280351584, 7.57814547241947, 7.56682847920833, + 7.65822752616135, 8.27078101316267, 7.80302664363222, 7.6226639513236, + 7.70029520342012, 8.05864371221562, 7.64108424917491, 7.83636976054512, + 8.37355374121463, 8.60940767540405, 8.17723488551019, 8.03689677268507, + 7.95331834656043, 7.7848892956551, 8.07371464110986, 8.28045768658256, + 8.19918935907807, 8.00034949532468, 7.88720858581393, 7.83715965000168, + 7.97968130238774, 8.51839247199172, 8.35631996582815, 7.93236215433975, + 7.83676478326407, 8.53719187792293, 8.02649693894541, 7.9728107841214, + 8.37447688921464, 8.25322764558177, 8.44591198941127, 8.49269555981584, + 8.83913175254611, 8.07589363029886, 8.75020786252571, 10.702412661625, + 10.0599783492956, 8.79315687091382, 8.71440336070394, 9.05625635659347, + 8.62155320674048, 9.96142621745657, 9.70856696016566, 9.19644426678407, + 8.61431990214696, 8.88903257187474, 9.01627006814768, 8.19918935907807, + 9.16219999664825, 9.60750445504496, 8.44290058683438, 8.15737044118677, + 8.18451375303372, 8.83898679349679, 8.21283958467648, 8.33615081612066, + 8.59044365315583, 8.70134640303916, 8.26642147298455, 8.27461194620955, + 8.36637030168165, 8.03527891114467, 9.23151460720759, 9.96467672084855, + 8.84548923675327, 8.67299964255444, 8.40065937516029, 8.58035576637388, + 8.02059914989697, 9.1075321519945, 9.43835205468725, 8.50126704086598, + 8.3133619511344, 8.3255483071614, 8.47637119689598, 8.20111164444276, + 8.70051424854327, 11.2744652095441, 9.60757167515724, 8.87863674743007, + 8.76592651372944, 9.85639594500228, 8.43424627059531, 8.8034242116007, + 9.38176948760371, 8.76029622047005, 8.55506684384432, 8.46884293047519, + 8.53129331579502, 8.04558828080353, 9.0902045707362, 9.45414892373398, + 9.0590522577624, 8.25945819533241, 8.18952211074809, 8.19533366716287, + 7.69393732550927, 8.29004161870449, 9.03288694657909, 8.38274709486331, + 8.21797820315073, 8.12474302038557, 8.04686951095958, 7.57301725605255, + 8.3986348552921, 8.71144331907547, 8.25114213909075, 7.99226864327075, + 8.00536706731666, 8.08085641964099, 7.52833176670725, 8.20248244657654, + 9.07440609473535, 8.2147358333823, 7.96797317966293, 8.12829017160705, + 7.9536697786498, 7.66669020008009, 7.96554557312999, 9.14216859187285, + 8.28702502516506, 8.28324144138542, 8.30102525383845, 8.38799525294456, + 7.70975686445416, 8.11102783819368, 8.74560285240295, 8.39140318535794, + 8.11969625295725, 8.2358907259285, 8.10681603894705, 7.71199650704767, + 8.4252971767117, 8.84937050375457, 8.49310539588715, 8.17413934342947, + 8.10228362448007, 7.8336002236611, 7.52294091807237, 7.91022370709734, + 8.3654396361887, 9.06056344665796, 8.17919979842309, 8.01631789850341, + 8.10319175228579, 7.81439963380449, 8.38799525294456, 8.74814616962193, + 8.31287139434261, 7.92334821193015, 7.84658997529119, 8.3020178097512, + 8.43620003220671, 8.93458687038968, 8.88861880730088, 8.66423293406555, + 8.50004703258127, 8.41825644355621, 8.4721958254855, 8.30721262662831, + 9.88659568486591, 10.694985739443, 9.76019438270965, 9.11007795003779, + 8.79951090136887, 8.7830896717961, 8.42989086301344, 8.87877607170755, + 9.75938620856187, 8.9520876435484, 8.66112036022288, 8.58485183989005, + 8.39660622842712, 7.92371033396924, 8.08548677210285, 8.35890061242164, + 8.30350479887278, 8.27792025817214, 8.36357570275064, 8.59822003005861, + 8.08116577772543, 9.03443816698441, 10.2832245120716, 9.27322127001538, + 8.71407489954152, 8.23350314023399, 7.88419993367604, 7.81278281857758, + 7.93128476152589, 8.4144957931779, 8.15651022607997, 7.85709386490249, + 7.9098566672694, 7.80913539812054, 7.5076900778199, 8.20385137218388, + 7.82164312623998, 7.80384330353877, 7.76089319585102, 7.70345904786717, + 8.06117135969092, 7.350516171834, 7.48380668766583, 7.54062152865715, + 7.69666708152646, 7.50384074669895, 7.39817409297047, 7.04228617193974, + 7.05272104923232, 7.36264527041782, 7.6231530684769, 7.79523492900217, + 8.42683075133585, 7.9168074909376, 7.23633934275434, 7.20637729147225, + 7.55642796944025, 7.58273848891441, 7.68294316987829, 7.60688453121963, + 7.70345904786717, 7.15148546390474, 7.04053639021596, 7.33888813383888, + 7.48436864328613, 7.35179986905778, 7.42356844425917, 7.29165620917446, + 6.81673588059497, 6.91075078796194, 7.32118855673948, 7.99159228206809, + 7.71289096149013, 7.28276117960559, 7.30586003268401, 6.90575327631146, + 7.87321705486274, 7.08590146436561, 7.27100853828099, 7.21376830811864, + 7.16626597413364, 7.21303165983487, 6.82979373751242, 6.80128303447162, + 7.15773548424991, 7.04577657687951, 7.09174211509515, 7.23417717974985, + 7.28000825288419, 6.69703424766648, 7.028201432058, 7.17472430983638, + 7.22329567956231, 7.33693691370762, 7.36201055125973, 7.26332961747684, + 6.81124437860129, 7.3185395485679, 7.64012317269536, 7.40549566319947, + 7.57250298502038, 7.48549160803075, 7.33302301438648, 7.20563517641036, + 7.09090982207998, 7.32646561384032, 7.35564110297425, 7.46336304552002, + 7.56734567601324, 7.74975340627444, 7.14440718032114, 6.89972310728487, + 7.33106030521863, 7.2211050981825, 7.7376162828579, 7.36327958696304, + 7.29097477814298, 7.03878354138854, 6.93244789157251, 7.30586003268401, + 7.68616230349291, 7.47929963778283, 7.26961674960817, 7.30921236569276, + 6.74051935960622, 6.80572255341699, 7.14282740116162, 7.18690102041163, + 7.14045304310116, 8.76155013912964, 8.27944348771267, 7.43720636687129, + 7.16006920759613, 7.04141166379481, 7.17472430983638, 7.41276401742656, + 7.25629723969068, 7.2848209125686, 6.72623340235875, 6.93244789157251, + 7.07411681619736, 7.20266119652324, 7.16472037877186, 7.06731984865348, + 6.90675477864855, 6.67708346124714, 6.51767127291227, 7.04315991598834, + 7.04315991598834, 6.9177056098353, 7.05789793741186, 6.85540879860993, + 6.64378973314767, 6.52502965784346, 6.89060912014717, 6.92657703322272, + 7.00488198971286, 6.87316383421252, 6.89060912014717, 6.4425401664682, + 6.8351845861473, 7.27239839257005, 7.07749805356923, 7.34407285057307, + 7.29165620917446, 7.27170370688737, 7.454719949364, 6.69208374250663, + 6.96318998587024, 7.01660968389422, 6.79122146272619, 6.82001636467413, + 6.61873898351722, 6.47389069635227, 6.49978704065585, 6.8596149036542, + 6.88141130364254, 6.99759598298193, 7.15226885603254, 7.19668657083435, + 6.70808408385307, 6.98286275146894, 7.12849594568004, 7.08924315502751, + 7.19893124068817, 8.090708716084, 7.39387829010776, 7.05012252026906, + 7.19518732017871, 7.44132038971762, 7.41758040241454, 7.47420480649612, + 7.39264752072162, 7.18538701558042, 6.86484777797086, 6.83410873881384, + 7.28756064030972, 7.22402480828583, 7.24422751560335, 7.30653139893951, + 7.31721240835984, 6.95844839329766, 6.82546003625531, 7.18159194461187, + 7.27655640271871, 7.27100853828099, 7.82444593087762, 7.41938058291869, + 7.00760061395185, 7.07326971745971, 7.26542972325395, 7.60240133566582, + 7.55747290161475, 7.58222919427646, 7.28961052145117, 7.3304052118444, + 7.2211050981825, 7.4312996751559, 7.75018416225784, 7.62997570702779, + 7.73061406606374, 7.82404601085629, 7.22620901010067, 7.4770384723197, + 7.86326672400957, 7.94909149983052, 7.7698009960039, 7.57967882309046, + 7.54908271081229, 7.29165620917446, 7.78986855905471, 7.65681009148038, + 7.53476265703754, 7.66528471847135, 8.06652149046999, 8.14931284363534, + 7.72533003791713, 7.71735127218533, 7.67786350067821, 7.89506349809157, + 8.07992777075827, 8.1934002319521, 8.66509582133973, 7.84463264446468, + 8.77909581088053, 9.05870319731322, 8.42178300661158, 8.07215530818825, + 8.40469616018909, 9.72184576464693, 8.11402544235676, 8.43076346341785, + 8.54888563814873, 8.3228800217699, 8.00836557031292, 8.11999382772511, + 8.58260632996447, 7.60986220091355, 8.41205487329293, 9.5410100922274, + 8.55948610360649, 8.14438886554762, 7.9912539298402, 7.88532923927319, + 7.4599147662411, 8.37516869138682, 8.7268056084461, 8.07527154629746, + 7.80057265467065, 7.74975340627444, 7.91971976092457, 7.35627987655075, + 8.17301131172497, 8.26100978602383, 7.84658997529119, 7.74022952476318, + 7.83042561782033, 7.36137542897735, 8.2987883944492, 8.7417757069247, + 8.39705739017626, 7.77821147451249, 7.93379687481541, 7.86018505747217, + 7.94236223767433, 8.19808924895612, 8.42901750051251, 8.05674377497531, + 7.81116338502528, 7.78655180642871, 8.1086232683546, 7.62119516280984, + 8.09285102753838, 9.39224517527379, 8.45318786144033, 8.09437844497296, + 7.9912539298402, 8.32820949174873, 7.64108424917491, 8.48632152774915, + 9.16356318041725, 8.18841130807903, 7.82644313545601, 7.96067260838812, + 7.67229245562876, 7.16317239084664, 7.90211754627645, 9.63430006272051, + 8.84822206837138, 8.38320455141292, 8.16451026874704, 8.05293303679757, + 7.56112158953024, 8.25634777291802, 8.67282848294769, 8.30647216010058, + 8.05896001776942, 7.87245515006398, 8.19533366716287, 7.59135704669855, + 8.02158453345511, 12.1496715918794, 11.5230440984914, 8.71177264560569, + 8.05610965954506, 8.08147504013705, 7.45876269238096, 8.01400499477946, + 8.49678638163858, 7.98104975966596, 7.77779262633883, 8.2602342916073, + 7.86633892304654, 7.31055015853442, 7.71824095195932, 8.31947369244219, + 8.23668532271246, 7.80751004221619, 7.59186171488993, 7.52886925664225, + 7.17165682276851, 7.89133075766189, 8.36007143564403, 8.11042723757502, + 7.77527584648686, 7.34729970074316, 7.30182234213793, 7.12044437239249, + 8.87877607170755, 9.25061821847475, 9.24792513230345, 8.39140318535794, + 8.00469951054955, 7.58933582317062, 7.82524529143177, 8.24931374626064, + 9.29514097366865, 8.56826646160024, 8.35255436947459, 8.29579811063615, + 8.29029259122431, 7.78572089653462, 8.28172399041139, 8.4707303170059, + 8.13505390861157, 8.06714903991011, 8.02355239240435, 8.02191277898571, + 7.81722278550817, 9.27387839278017, 10.3337753460756, 9.12587121534973, + 8.89137400948464, + ], +}; + +class ProphetWorker { + constructor() { + this.worker = new Worker("./prophet.worker.js", { type: "module" }); + } + + static create = () => { + return new Promise((resolve, reject) => { + const worker = new ProphetWorker(); + worker.worker.onmessage = (e) => { + if (e.data === "ready") { + resolve(worker); + } else { + reject(); + } + } + }) + } + + fitPredict = async (data, opts) => { + return new Promise((resolve, reject) => { + const start = performance.now(); + this.worker.postMessage({ data, opts }); + this.worker.onmessage = (e) => { + const elapsed = (performance.now() - start).toFixed(0); + resolve({ predictions: e.data, elapsed }); + }; + }); + } +} + +async function main() { + const uPlotOpts = { + series: [ + {}, + { + label: "y", + stroke: "red", + width: 1, + }, + ], + plugins: [legendAsTooltipPlugin()], + ...getSize(), + }; + + let data = [df.ds, df.y]; + const u = new uPlot(uPlotOpts, data, document.getElementById("prophet-plot")); + window.addEventListener("resize", () => { + u.setSize(getSize()); + }); + + const worker = await ProphetWorker.create(); + + async function runProphet(opts) { + const { predictions, elapsed } = await worker.fitPredict(df, opts); + if (data.length > 2) { + data = data.slice(0, 2); + } + data.push(predictions.yhat.point); + if (predictions.yhat.intervals) { + data.push(predictions.yhat.intervals.lower, predictions.yhat.intervals.upper); + } + if (u.series.length === 2) { + const newSeries = [ + { + label: "yhat", + stroke: "green", + width: 1, + }, + { + label: "lower", + stroke: "blue", + width: 0, + }, + { + label: "upper", + stroke: "blue", + width: 0, + }, + ]; + + const band = { + series: [3, 4], + fill: "rgba(0, 0, 255, .2)", + dir: 1, + }; + + newSeries.forEach((s, i) => u.addSeries(s, i + 2)); + u.addBand(band); + } + u.setData(data); + document.getElementById("prophet-title").innerText = + `Forecasting with Prophet - done in ${elapsed}ms`; + } + runProphet(undefined) + document.getElementById("prophet-interval-width").addEventListener("change", function() { + const intervalWidth = parseFloat(this.value); + runProphet({ intervalWidth }); + }) +} + +export default main; diff --git a/demo/prophet.worker.js b/demo/prophet.worker.js new file mode 100644 index 0000000..7b17867 --- /dev/null +++ b/demo/prophet.worker.js @@ -0,0 +1,25 @@ +import initProphet, { + initLogging, + Prophet, +} from "./dist/@bsull/augurs/prophet.js"; +import { optimizer } from "./dist/@bsull/augurs-prophet-wasmstan/prophet-wasmstan.js"; + +await initProphet(); + +self.onmessage = (e) => { + const { data, opts } = e.data; + const df = { + ds: data.ds, + y: data.y, + }; + const prophet = new Prophet({ + optimizer, + uncertaintySamples: 500, + intervalWidth: 0.8, + ...(opts ?? {}) + }); + prophet.fit(df); + const predictions = prophet.predict(); + self.postMessage(predictions); +}; +self.postMessage("ready");

    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 literal 0 HcmV?d00001 diff --git a/demo/dist/@bsull/augurs/prophet_bg.wasm.d.ts b/demo/dist/@bsull/augurs/prophet_bg.wasm.d.ts new file mode 100644 index 0000000..2f12469 --- /dev/null +++ b/demo/dist/@bsull/augurs/prophet_bg.wasm.d.ts @@ -0,0 +1,15 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function __wbg_prophet_free(a: number, b: number): void; +export function prophet_new(a: number, b: number): void; +export function prophet_fit(a: number, b: number, c: number, d: number): void; +export function prophet_predict(a: number, b: number, c: number): void; +export function initLogging(a: number, b: number): void; +export function custom_init(): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export function __wbindgen_add_to_stack_pointer(a: number): number; +export function __wbindgen_exn_store(a: number): void; +export function __wbindgen_free(a: number, b: number, c: number): void; +export function __wbindgen_start(): void; diff --git a/demo/dist/@bsull/augurs/seasons.d.ts b/demo/dist/@bsull/augurs/seasons.d.ts new file mode 100644 index 0000000..17a474d --- /dev/null +++ b/demo/dist/@bsull/augurs/seasons.d.ts @@ -0,0 +1,171 @@ +/* tslint:disable */ +/* eslint-disable */ +/** +* Detect the seasonal periods in a time series. +* @param {number[] | Float64Array} y +* @param {SeasonalityOptions | undefined} [options] +* @returns {Uint32Array} +*/ +export function seasonalities(y: number[] | Float64Array, options?: SeasonalityOptions): Uint32Array; +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config?: LogConfig): void; +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init(): void; +/** + * Options for detecting seasonal periods. + */ +export interface SeasonalityOptions { + /** + * The minimum period to consider when detecting seasonal periods. + * + * The default is 4. + */ + minPeriod: number | undefined; + /** + * The maximum period to consider when detecting seasonal periods. + * + * The default is the length of the data divided by 3, or 512, whichever is smaller. + */ + maxPeriod: number | undefined; + /** + * The threshold for detecting peaks in the periodogram. + * + * The value will be clamped to the range 0.01 to 0.99. + * + * The default is 0.9. + */ + threshold: number | undefined; +} + +/** + * The maximum log level to emit. + * + * The default is `Level::Info`. + */ +export type Level = "trace" | "debug" | "info" | "warn" | "error"; + +/** + * The target for augurs log events. + */ +export type LogTarget = "console" | "performance"; + +/** + * Log configuration. + */ +export interface LogConfig { + /** + * The maximum log level to emit. + * + * Defaults to `INFO`. + */ + maxLevel?: Level; + /** + * The target for augurs log events. + * + * Defaults to logging to the browser console. + */ + target?: LogTarget; + /** + * Whether to emit coloured logs. + * + * Defaults to `true`. + */ + color?: boolean; + /** + * Whether to show detailed fields such as augurs\' file names and line numbers + * in the logs. + * + * Probably not wise in production. + * + * Defaults to `false`. + */ + showDetailedFields?: boolean; +} + +/** + * Forecast intervals. + */ +export interface ForecastIntervals { + /** + * The confidence level for the intervals. + */ + level: number; + /** + * The lower prediction intervals. + */ + lower: number[]; + /** + * The upper prediction intervals. + */ + upper: number[]; +} + +/** + * A forecast containing point forecasts and, optionally, prediction intervals. + */ +export interface Forecast { + /** + * The point forecasts. + */ + point: number[]; + /** + * The forecast intervals, if requested and supported + * by the trend model. + */ + intervals: ForecastIntervals | undefined; +} + + +export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; + +export interface InitOutput { + readonly memory: WebAssembly.Memory; + readonly seasonalities: (a: number, b: number, c: number) => void; + readonly initLogging: (a: number, b: number) => void; + readonly custom_init: () => void; + readonly __wbindgen_malloc: (a: number, b: number) => number; + readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; + readonly __wbindgen_add_to_stack_pointer: (a: number) => number; + readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __wbindgen_exn_store: (a: number) => void; + readonly __wbindgen_start: () => void; +} + +export type SyncInitInput = BufferSource | WebAssembly.Module; +/** +* Instantiates the given `module`, which can either be bytes or +* a precompiled `WebAssembly.Module`. +* +* @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. +* +* @returns {InitOutput} +*/ +export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; + +/** +* If `module_or_path` is {RequestInfo} or {URL}, makes a request and +* for everything else, calls `WebAssembly.instantiate` directly. +* +* @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. +* +* @returns {Promise} +*/ +export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise; diff --git a/demo/dist/@bsull/augurs/seasons.js b/demo/dist/@bsull/augurs/seasons.js new file mode 100644 index 0000000..9569a07 --- /dev/null +++ b/demo/dist/@bsull/augurs/seasons.js @@ -0,0 +1,604 @@ +let wasm; + +const heap = new Array(128).fill(undefined); + +heap.push(undefined, null, true, false); + +function getObject(idx) { return heap[idx]; } + +let heap_next = heap.length; + +function dropObject(idx) { + if (idx < 132) return; + heap[idx] = heap_next; + heap_next = idx; +} + +function takeObject(idx) { + const ret = getObject(idx); + dropObject(idx); + return ret; +} + +const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } ); + +if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); }; + +let cachedUint8ArrayMemory0 = null; + +function getUint8ArrayMemory0() { + if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) { + cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer); + } + return cachedUint8ArrayMemory0; +} + +function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; + return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len)); +} + +function addHeapObject(obj) { + if (heap_next === heap.length) heap.push(heap.length + 1); + const idx = heap_next; + heap_next = heap[idx]; + + heap[idx] = obj; + return idx; +} + +function isLikeNone(x) { + return x === undefined || x === null; +} + +let cachedDataViewMemory0 = null; + +function getDataViewMemory0() { + if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) { + cachedDataViewMemory0 = new DataView(wasm.memory.buffer); + } + return cachedDataViewMemory0; +} + +let WASM_VECTOR_LEN = 0; + +const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } ); + +const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' + ? function (arg, view) { + return cachedTextEncoder.encodeInto(arg, view); +} + : function (arg, view) { + const buf = cachedTextEncoder.encode(arg); + view.set(buf); + return { + read: arg.length, + written: buf.length + }; +}); + +function passStringToWasm0(arg, malloc, realloc) { + + if (realloc === undefined) { + const buf = cachedTextEncoder.encode(arg); + const ptr = malloc(buf.length, 1) >>> 0; + getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf); + WASM_VECTOR_LEN = buf.length; + return ptr; + } + + let len = arg.length; + let ptr = malloc(len, 1) >>> 0; + + const mem = getUint8ArrayMemory0(); + + let offset = 0; + + for (; offset < len; offset++) { + const code = arg.charCodeAt(offset); + if (code > 0x7F) break; + mem[ptr + offset] = code; + } + + if (offset !== len) { + if (offset !== 0) { + arg = arg.slice(offset); + } + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; + const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len); + const ret = encodeString(arg, view); + + offset += ret.written; + ptr = realloc(ptr, len, offset, 1) >>> 0; + } + + WASM_VECTOR_LEN = offset; + return ptr; +} + +function debugString(val) { + // primitive types + const type = typeof val; + if (type == 'number' || type == 'boolean' || val == null) { + return `${val}`; + } + if (type == 'string') { + return `"${val}"`; + } + if (type == 'symbol') { + const description = val.description; + if (description == null) { + return 'Symbol'; + } else { + return `Symbol(${description})`; + } + } + if (type == 'function') { + const name = val.name; + if (typeof name == 'string' && name.length > 0) { + return `Function(${name})`; + } else { + return 'Function'; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = '['; + if (length > 0) { + debug += debugString(val[0]); + } + for(let i = 1; i < length; i++) { + debug += ', ' + debugString(val[i]); + } + debug += ']'; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == 'Object') { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return 'Object(' + JSON.stringify(val) + ')'; + } catch (_) { + return 'Object'; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + +let cachedUint32ArrayMemory0 = null; + +function getUint32ArrayMemory0() { + if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) { + cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer); + } + return cachedUint32ArrayMemory0; +} + +function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} +/** +* Detect the seasonal periods in a time series. +* @param {number[] | Float64Array} y +* @param {SeasonalityOptions | undefined} [options] +* @returns {Uint32Array} +*/ +export function seasonalities(y, options) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.seasonalities(retptr, addHeapObject(y), isLikeNone(options) ? 0 : addHeapObject(options)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true); + var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true); + if (r3) { + throw takeObject(r2); + } + var v1 = getArrayU32FromWasm0(r0, r1).slice(); + wasm.__wbindgen_free(r0, r1 * 4, 4); + return v1; + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize logging. +* +* You can use this to emit logs from augurs to the browser console. +* The default is to log everything to the console, but you can +* change the log level and whether logs are emitted to the console +* or to the browser's performance timeline. +* +* IMPORTANT: this function should only be called once. It will throw +* an exception if called more than once. +* @param {LogConfig | undefined} [config] +*/ +export function initLogging(config) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.initLogging(retptr, isLikeNone(config) ? 0 : addHeapObject(config)); + var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); + var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); + if (r1) { + throw takeObject(r0); + } + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + } +} + +/** +* Initialize the logger and panic hook. +* +* This will be called automatically when the module is imported. +* It sets the default tracing subscriber to `tracing-wasm`, and +* sets WASM panics to print to the console with a helpful error +* message. +*/ +export function custom_init() { + wasm.custom_init(); +} + +function handleError(f, args) { + try { + return f.apply(this, args); + } catch (e) { + wasm.__wbindgen_exn_store(addHeapObject(e)); + } +} + +async function __wbg_load(module, imports) { + if (typeof Response === 'function' && module instanceof Response) { + if (typeof WebAssembly.instantiateStreaming === 'function') { + try { + return await WebAssembly.instantiateStreaming(module, imports); + + } catch (e) { + if (module.headers.get('Content-Type') != 'application/wasm') { + console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); + + } else { + throw e; + } + } + } + + const bytes = await module.arrayBuffer(); + return await WebAssembly.instantiate(bytes, imports); + + } else { + const instance = await WebAssembly.instantiate(module, imports); + + if (instance instanceof WebAssembly.Instance) { + return { instance, module }; + + } else { + return instance; + } + } +} + +function __wbg_get_imports() { + const imports = {}; + imports.wbg = {}; + imports.wbg.__wbindgen_object_drop_ref = function(arg0) { + takeObject(arg0); + }; + imports.wbg.__wbindgen_error_new = function(arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_object = function(arg0) { + const val = getObject(arg0); + const ret = typeof(val) === 'object' && val !== null; + return ret; + }; + imports.wbg.__wbindgen_is_undefined = function(arg0) { + const ret = getObject(arg0) === undefined; + return ret; + }; + imports.wbg.__wbindgen_in = function(arg0, arg1) { + const ret = getObject(arg0) in getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_number_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'number' ? obj : undefined; + getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true); + }; + imports.wbg.__wbindgen_object_clone_ref = function(arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }; + imports.wbg.__wbindgen_is_string = function(arg0) { + const ret = typeof(getObject(arg0)) === 'string'; + return ret; + }; + imports.wbg.__wbindgen_string_get = function(arg0, arg1) { + const obj = getObject(arg1); + const ret = typeof(obj) === 'string' ? obj : undefined; + var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_boolean_get = function(arg0) { + const v = getObject(arg0); + const ret = typeof(v) === 'boolean' ? (v ? 1 : 0) : 2; + return ret; + }; + imports.wbg.__wbg_new_abda76e883ba8a5f = function() { + const ret = new Error(); + return addHeapObject(ret); + }; + imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) { + const ret = getObject(arg1).stack; + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.error(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_mark_f0616123624944ec = function(arg0, arg1) { + performance.mark(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbg_log_914e3639af348b4e = function(arg0, arg1) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_log_12b4ba535cbd9499 = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7) { + let deferred0_0; + let deferred0_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + console.log(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3), getStringFromWasm0(arg4, arg5), getStringFromWasm0(arg6, arg7)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + } + }; + imports.wbg.__wbg_measure_a990198e921c09fd = function() { return handleError(function (arg0, arg1, arg2, arg3) { + let deferred0_0; + let deferred0_1; + let deferred1_0; + let deferred1_1; + try { + deferred0_0 = arg0; + deferred0_1 = arg1; + deferred1_0 = arg2; + deferred1_1 = arg3; + performance.measure(getStringFromWasm0(arg0, arg1), getStringFromWasm0(arg2, arg3)); + } finally { + wasm.__wbindgen_free(deferred0_0, deferred0_1, 1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); + } + }, arguments) }; + imports.wbg.__wbindgen_jsval_loose_eq = function(arg0, arg1) { + const ret = getObject(arg0) == getObject(arg1); + return ret; + }; + imports.wbg.__wbindgen_as_number = function(arg0) { + const ret = +getObject(arg0); + return ret; + }; + imports.wbg.__wbg_String_b9412f8799faab3e = function(arg0, arg1) { + const ret = String(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_string_new = function(arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }; + imports.wbg.__wbg_getwithrefkey_edc2c8960f0f1191 = function(arg0, arg1) { + const ret = getObject(arg0)[getObject(arg1)]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_call_1084a111329e68ce = function() { return handleError(function (arg0, arg1) { + const ret = getObject(arg0).call(getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_get_3baa728f9d58d3f6 = function(arg0, arg1) { + const ret = getObject(arg0)[arg1 >>> 0]; + return addHeapObject(ret); + }; + imports.wbg.__wbg_length_ae22078168b726f5 = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbindgen_is_function = function(arg0) { + const ret = typeof(getObject(arg0)) === 'function'; + return ret; + }; + imports.wbg.__wbg_next_de3e9db4440638b2 = function(arg0) { + const ret = getObject(arg0).next; + return addHeapObject(ret); + }; + imports.wbg.__wbg_next_f9cb570345655b9a = function() { return handleError(function (arg0) { + const ret = getObject(arg0).next(); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_done_bfda7aa8f252b39f = function(arg0) { + const ret = getObject(arg0).done; + return ret; + }; + imports.wbg.__wbg_value_6d39332ab4788d86 = function(arg0) { + const ret = getObject(arg0).value; + return addHeapObject(ret); + }; + imports.wbg.__wbg_iterator_888179a48810a9fe = function() { + const ret = Symbol.iterator; + return addHeapObject(ret); + }; + imports.wbg.__wbg_get_224d16597dbbfd96 = function() { return handleError(function (arg0, arg1) { + const ret = Reflect.get(getObject(arg0), getObject(arg1)); + return addHeapObject(ret); + }, arguments) }; + imports.wbg.__wbg_isArray_8364a5371e9737d8 = function(arg0) { + const ret = Array.isArray(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_instanceof_ArrayBuffer_61dfc3198373c902 = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof ArrayBuffer; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbg_isSafeInteger_7f1ed56200d90674 = function(arg0) { + const ret = Number.isSafeInteger(getObject(arg0)); + return ret; + }; + imports.wbg.__wbg_entries_7a0e06255456ebcd = function(arg0) { + const ret = Object.entries(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_buffer_b7b08af79b0b0974 = function(arg0) { + const ret = getObject(arg0).buffer; + return addHeapObject(ret); + }; + imports.wbg.__wbg_new_ea1883e1e5e86686 = function(arg0) { + const ret = new Uint8Array(getObject(arg0)); + return addHeapObject(ret); + }; + imports.wbg.__wbg_set_d1e79e2388520f18 = function(arg0, arg1, arg2) { + getObject(arg0).set(getObject(arg1), arg2 >>> 0); + }; + imports.wbg.__wbg_length_8339fcf5d8ecd12e = function(arg0) { + const ret = getObject(arg0).length; + return ret; + }; + imports.wbg.__wbg_instanceof_Uint8Array_247a91427532499e = function(arg0) { + let result; + try { + result = getObject(arg0) instanceof Uint8Array; + } catch (_) { + result = false; + } + const ret = result; + return ret; + }; + imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true); + getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true); + }; + imports.wbg.__wbindgen_throw = function(arg0, arg1) { + throw new Error(getStringFromWasm0(arg0, arg1)); + }; + imports.wbg.__wbindgen_memory = function() { + const ret = wasm.memory; + return addHeapObject(ret); + }; + + return imports; +} + +function __wbg_init_memory(imports, memory) { + +} + +function __wbg_finalize_init(instance, module) { + wasm = instance.exports; + __wbg_init.__wbindgen_wasm_module = module; + cachedDataViewMemory0 = null; + cachedUint32ArrayMemory0 = null; + cachedUint8ArrayMemory0 = null; + + + wasm.__wbindgen_start(); + return wasm; +} + +function initSync(module) { + if (wasm !== undefined) return wasm; + + + if (typeof module !== 'undefined' && Object.getPrototypeOf(module) === Object.prototype) + ({module} = module) + else + console.warn('using deprecated parameters for `initSync()`; pass a single object instead') + + const imports = __wbg_get_imports(); + + __wbg_init_memory(imports); + + if (!(module instanceof WebAssembly.Module)) { + module = new WebAssembly.Module(module); + } + + const instance = new WebAssembly.Instance(module, imports); + + return __wbg_finalize_init(instance, module); +} + +async function __wbg_init(module_or_path) { + if (wasm !== undefined) return wasm; + + + if (typeof module_or_path !== 'undefined' && Object.getPrototypeOf(module_or_path) === Object.prototype) + ({module_or_path} = module_or_path) + else + console.warn('using deprecated parameters for the initialization function; pass a single object instead') + + if (typeof module_or_path === 'undefined') { + module_or_path = new URL('seasons_bg.wasm', import.meta.url); + } + const imports = __wbg_get_imports(); + + if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) { + module_or_path = fetch(module_or_path); + } + + __wbg_init_memory(imports); + + const { instance, module } = await __wbg_load(await module_or_path, imports); + + return __wbg_finalize_init(instance, module); +} + +export { initSync }; +export default __wbg_init; diff --git a/demo/dist/@bsull/augurs/seasons_bg.wasm b/demo/dist/@bsull/augurs/seasons_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c796d5c9d032dab0e9a5869708b2358b483f7a98 GIT binary patch literal 176655 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 C%u-eW literal 0 HcmV?d00001 diff --git a/demo/dist/@bsull/augurs/seasons_bg.wasm.d.ts b/demo/dist/@bsull/augurs/seasons_bg.wasm.d.ts new file mode 100644 index 0000000..0a0f3b3 --- /dev/null +++ b/demo/dist/@bsull/augurs/seasons_bg.wasm.d.ts @@ -0,0 +1,12 @@ +/* tslint:disable */ +/* eslint-disable */ +export const memory: WebAssembly.Memory; +export function seasonalities(a: number, b: number, c: number): void; +export function initLogging(a: number, b: number): void; +export function custom_init(): void; +export function __wbindgen_malloc(a: number, b: number): number; +export function __wbindgen_realloc(a: number, b: number, c: number, d: number): number; +export function __wbindgen_add_to_stack_pointer(a: number): number; +export function __wbindgen_free(a: number, b: number, c: number): void; +export function __wbindgen_exn_store(a: number): void; +export function __wbindgen_start(): void; diff --git a/demo/dist/@bytecodealliance/preview2-shim/LICENSE b/demo/dist/@bytecodealliance/preview2-shim/LICENSE new file mode 100644 index 0000000..f9d8195 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/LICENSE @@ -0,0 +1,220 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +--- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. + diff --git a/demo/dist/@bytecodealliance/preview2-shim/README.md b/demo/dist/@bytecodealliance/preview2-shim/README.md new file mode 100644 index 0000000..6a1b6f8 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/README.md @@ -0,0 +1,18 @@ +# Preview2 Shim + +WASI Preview2 implementations for Node.js & browsers. + +Node.js support is fully tested and conformant against the Wasmtime test suite. + +Browser support is considered experimental, and not currently suitable for production applications. + +# License + +This project is licensed under the Apache 2.0 license with the LLVM exception. +See [LICENSE](LICENSE) for more details. + +### Contribution + +Unless you explicitly state otherwise, any contribution intentionally submitted +for inclusion in this project by you, as defined in the Apache-2.0 license, +shall be licensed as above, without any additional terms or conditions. diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/cli.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/cli.js new file mode 100644 index 0000000..476a16e --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/cli.js @@ -0,0 +1,159 @@ +import { _setCwd as fsSetCwd } from './filesystem.js'; +import { streams } from './io.js'; +const { InputStream, OutputStream } = streams; + +const symbolDispose = Symbol.dispose ?? Symbol.for('dispose'); + +let _env = [], _args = [], _cwd = "/"; +export function _setEnv (envObj) { + _env = Object.entries(envObj); +} +export function _setArgs (args) { + _args = args; +} + +export function _setCwd (cwd) { + fsSetCwd(_cwd = cwd); +} + +export const environment = { + getEnvironment () { + return _env; + }, + getArguments () { + return _args; + }, + initialCwd () { + return _cwd; + } +}; + +class ComponentExit extends Error { + constructor(ok) { + super(`Component exited ${ok ? 'successfully' : 'with error'}`); + this.exitError = true; + this.ok = ok; + } +} + +export const exit = { + exit (status) { + throw new ComponentExit(status.tag === 'err' ? true : false); + } +}; + +/** + * @param {import('../common/io.js').InputStreamHandler} handler + */ +export function _setStdin (handler) { + stdinStream.handler = handler; +} +/** + * @param {import('../common/io.js').OutputStreamHandler} handler + */ +export function _setStderr (handler) { + stderrStream.handler = handler; +} +/** + * @param {import('../common/io.js').OutputStreamHandler} handler + */ +export function _setStdout (handler) { + stdoutStream.handler = handler; +} + +const stdinStream = new InputStream({ + blockingRead (_len) { + // TODO + }, + subscribe () { + // TODO + }, + [symbolDispose] () { + // TODO + } +}); +let textDecoder = new TextDecoder(); +const stdoutStream = new OutputStream({ + write (contents) { + if (contents[contents.length - 1] == 10) { + // console.log already appends a new line + contents = contents.subarray(0, contents.length - 1); + } + console.log(textDecoder.decode(contents)); + }, + blockingFlush () { + }, + [symbolDispose] () { + } +}); +const stderrStream = new OutputStream({ + write (contents) { + if (contents[contents.length - 1] == 10) { + // console.error already appends a new line + contents = contents.subarray(0, contents.length - 1); + } + console.error(textDecoder.decode(contents)); + }, + blockingFlush () { + }, + [symbolDispose] () { + + } +}); + +export const stdin = { + InputStream, + getStdin () { + return stdinStream; + } +}; + +export const stdout = { + OutputStream, + getStdout () { + return stdoutStream; + } +}; + +export const stderr = { + OutputStream, + getStderr () { + return stderrStream; + } +}; + +class TerminalInput {} +class TerminalOutput {} + +const terminalStdoutInstance = new TerminalOutput(); +const terminalStderrInstance = new TerminalOutput(); +const terminalStdinInstance = new TerminalInput(); + +export const terminalInput = { + TerminalInput +}; + +export const terminalOutput = { + TerminalOutput +}; + +export const terminalStderr = { + TerminalOutput, + getTerminalStderr () { + return terminalStderrInstance; + } +}; + +export const terminalStdin = { + TerminalInput, + getTerminalStdin () { + return terminalStdinInstance; + } +}; + +export const terminalStdout = { + TerminalOutput, + getTerminalStdout () { + return terminalStdoutInstance; + } +}; diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/clocks.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/clocks.js new file mode 100644 index 0000000..0a0b7bd --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/clocks.js @@ -0,0 +1,34 @@ +export const monotonicClock = { + resolution() { + // usually we dont get sub-millisecond accuracy in the browser + // Note: is there a better way to determine this? + return 1e6; + }, + now () { + // performance.now() is in milliseconds, but we want nanoseconds + return BigInt(Math.floor(performance.now() * 1e6)); + }, + subscribeInstant (instant) { + instant = BigInt(instant); + const now = this.now(); + if (instant <= now) + return this.subscribeDuration(0); + return this.subscribeDuration(instant - now); + }, + subscribeDuration (_duration) { + _duration = BigInt(_duration); + console.log(`[monotonic-clock] subscribe`); + } +}; + +export const wallClock = { + now() { + let now = Date.now(); // in milliseconds + const seconds = BigInt(Math.floor(now / 1e3)); + const nanoseconds = (now % 1e3) * 1e6; + return { seconds, nanoseconds }; + }, + resolution() { + return { seconds: 0n, nanoseconds: 1e6 }; + } +}; diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/filesystem.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/filesystem.js new file mode 100644 index 0000000..dcf3566 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/filesystem.js @@ -0,0 +1,286 @@ +import { streams } from './io.js'; +import { environment } from './cli.js'; + +const { InputStream, OutputStream } = streams; + +let _cwd = "/"; + +export function _setCwd (cwd) { + _cwd = cwd; +} + +export function _setFileData (fileData) { + _fileData = fileData; + _rootPreopen[0] = new Descriptor(fileData); + const cwd = environment.initialCwd(); + _setCwd(cwd || '/'); +} + +export function _getFileData () { + return JSON.stringify(_fileData); +} + +let _fileData = { dir: {} }; + +const timeZero = { + seconds: BigInt(0), + nanoseconds: 0 +}; + +function getChildEntry (parentEntry, subpath, openFlags) { + if (subpath === '.' && _rootPreopen && descriptorGetEntry(_rootPreopen[0]) === parentEntry) { + subpath = _cwd; + if (subpath.startsWith('/') && subpath !== '/') + subpath = subpath.slice(1); + } + let entry = parentEntry; + let segmentIdx; + do { + if (!entry || !entry.dir) throw 'not-directory'; + segmentIdx = subpath.indexOf('/'); + const segment = segmentIdx === -1 ? subpath : subpath.slice(0, segmentIdx); + if (segment === '..') throw 'no-entry'; + if (segment === '.' || segment === ''); + else if (!entry.dir[segment] && openFlags.create) + entry = entry.dir[segment] = openFlags.directory ? { dir: {} } : { source: new Uint8Array([]) }; + else + entry = entry.dir[segment]; + subpath = subpath.slice(segmentIdx + 1); + } while (segmentIdx !== -1) + if (!entry) throw 'no-entry'; + return entry; +} + +function getSource (fileEntry) { + if (typeof fileEntry.source === 'string') { + fileEntry.source = new TextEncoder().encode(fileEntry.source); + } + return fileEntry.source; +} + +class DirectoryEntryStream { + constructor (entries) { + this.idx = 0; + this.entries = entries; + } + readDirectoryEntry () { + if (this.idx === this.entries.length) + return null; + const [name, entry] = this.entries[this.idx]; + this.idx += 1; + return { + name, + type: entry.dir ? 'directory' : 'regular-file' + }; + } +} + +class Descriptor { + #stream; + #entry; + #mtime = 0; + + _getEntry (descriptor) { + return descriptor.#entry; + } + + constructor (entry, isStream) { + if (isStream) + this.#stream = entry; + else + this.#entry = entry; + } + + readViaStream(_offset) { + const source = getSource(this.#entry); + let offset = Number(_offset); + return new InputStream({ + blockingRead (len) { + if (offset === source.byteLength) + throw { tag: 'closed' }; + const bytes = source.slice(offset, offset + Number(len)); + offset += bytes.byteLength; + return bytes; + } + }); + } + + writeViaStream(_offset) { + const entry = this.#entry; + let offset = Number(_offset); + return new OutputStream({ + write (buf) { + const newSource = new Uint8Array(buf.byteLength + entry.source.byteLength); + newSource.set(entry.source, 0); + newSource.set(buf, offset); + offset += buf.byteLength; + entry.source = newSource; + return buf.byteLength; + } + }); + } + + appendViaStream() { + console.log(`[filesystem] APPEND STREAM`); + } + + advise(descriptor, offset, length, advice) { + console.log(`[filesystem] ADVISE`, descriptor, offset, length, advice); + } + + syncData() { + console.log(`[filesystem] SYNC DATA`); + } + + getFlags() { + console.log(`[filesystem] FLAGS FOR`); + } + + getType() { + if (this.#stream) return 'fifo'; + if (this.#entry.dir) return 'directory'; + if (this.#entry.source) return 'regular-file'; + return 'unknown'; + } + + setSize(size) { + console.log(`[filesystem] SET SIZE`, size); + } + + setTimes(dataAccessTimestamp, dataModificationTimestamp) { + console.log(`[filesystem] SET TIMES`, dataAccessTimestamp, dataModificationTimestamp); + } + + read(length, offset) { + const source = getSource(this.#entry); + return [source.slice(offset, offset + length), offset + length >= source.byteLength]; + } + + write(buffer, offset) { + if (offset !== 0) throw 'invalid-seek'; + this.#entry.source = buffer; + return buffer.byteLength; + } + + readDirectory() { + if (!this.#entry?.dir) + throw 'bad-descriptor'; + return new DirectoryEntryStream(Object.entries(this.#entry.dir).sort(([a], [b]) => a > b ? 1 : -1)); + } + + sync() { + console.log(`[filesystem] SYNC`); + } + + createDirectoryAt(path) { + const entry = getChildEntry(this.#entry, path, { create: true, directory: true }); + if (entry.source) throw 'exist'; + } + + stat() { + let type = 'unknown', size = BigInt(0); + if (this.#entry.source) { + type = 'regular-file'; + const source = getSource(this.#entry); + size = BigInt(source.byteLength); + } + else if (this.#entry.dir) { + type = 'directory'; + } + return { + type, + linkCount: BigInt(0), + size, + dataAccessTimestamp: timeZero, + dataModificationTimestamp: timeZero, + statusChangeTimestamp: timeZero, + } + } + + statAt(_pathFlags, path) { + const entry = getChildEntry(this.#entry, path, { create: false, directory: false }); + let type = 'unknown', size = BigInt(0); + if (entry.source) { + type = 'regular-file'; + const source = getSource(entry); + size = BigInt(source.byteLength); + } + else if (entry.dir) { + type = 'directory'; + } + return { + type, + linkCount: BigInt(0), + size, + dataAccessTimestamp: timeZero, + dataModificationTimestamp: timeZero, + statusChangeTimestamp: timeZero, + }; + } + + setTimesAt() { + console.log(`[filesystem] SET TIMES AT`); + } + + linkAt() { + console.log(`[filesystem] LINK AT`); + } + + openAt(_pathFlags, path, openFlags, _descriptorFlags, _modes) { + const childEntry = getChildEntry(this.#entry, path, openFlags); + return new Descriptor(childEntry); + } + + readlinkAt() { + console.log(`[filesystem] READLINK AT`); + } + + removeDirectoryAt() { + console.log(`[filesystem] REMOVE DIR AT`); + } + + renameAt() { + console.log(`[filesystem] RENAME AT`); + } + + symlinkAt() { + console.log(`[filesystem] SYMLINK AT`); + } + + unlinkFileAt() { + console.log(`[filesystem] UNLINK FILE AT`); + } + + isSameObject(other) { + return other === this; + } + + metadataHash() { + let upper = BigInt(0); + upper += BigInt(this.#mtime); + return { upper, lower: BigInt(0) }; + } + + metadataHashAt(_pathFlags, _path) { + let upper = BigInt(0); + upper += BigInt(this.#mtime); + return { upper, lower: BigInt(0) }; + } +} +const descriptorGetEntry = Descriptor.prototype._getEntry; +delete Descriptor.prototype._getEntry; + +let _preopens = [[new Descriptor(_fileData), '/']], _rootPreopen = _preopens[0]; + +export const preopens = { + getDirectories () { + return _preopens; + } +} + +export const types = { + Descriptor, + DirectoryEntryStream +}; + +export { types as filesystemTypes } diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/http.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/http.js new file mode 100644 index 0000000..4a1b244 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/http.js @@ -0,0 +1,144 @@ +/** + * @param {import("../../types/interfaces/wasi-http-types").Request} req + * @returns {string} + */ +export function send(req) { + console.log(`[http] Send (browser) ${req.uri}`); + try { + const xhr = new XMLHttpRequest(); + xhr.open(req.method.toString(), req.uri, false); + const requestHeaders = new Headers(req.headers); + for (let [name, value] of requestHeaders.entries()) { + if (name !== "user-agent" && name !== "host") { + xhr.setRequestHeader(name, value); + } + } + xhr.send(req.body && req.body.length > 0 ? req.body : null); + const body = xhr.response ? new TextEncoder().encode(xhr.response) : undefined; + const headers = []; + xhr.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((line) => { + var parts = line.split(': '); + var key = parts.shift(); + var value = parts.join(': '); + headers.push([key, value]); + }); + return { + status: xhr.status, + headers, + body, + }; + } catch (err) { + throw new Error(err.message); + } +} + +export const incomingHandler = { + handle () { + + } +}; + +export const outgoingHandler = { + handle () { + + } +}; + +export const types = { + dropFields(_fields) { + console.log("[types] Drop fields"); + }, + newFields(_entries) { + console.log("[types] New fields"); + }, + fieldsGet(_fields, _name) { + console.log("[types] Fields get"); + }, + fieldsSet(_fields, _name, _value) { + console.log("[types] Fields set"); + }, + fieldsDelete(_fields, _name) { + console.log("[types] Fields delete"); + }, + fieldsAppend(_fields, _name, _value) { + console.log("[types] Fields append"); + }, + fieldsEntries(_fields) { + console.log("[types] Fields entries"); + }, + fieldsClone(_fields) { + console.log("[types] Fields clone"); + }, + finishIncomingStream(s) { + console.log(`[types] Finish incoming stream ${s}`); + }, + finishOutgoingStream(s, _trailers) { + console.log(`[types] Finish outgoing stream ${s}`); + }, + dropIncomingRequest(_req) { + console.log("[types] Drop incoming request"); + }, + dropOutgoingRequest(_req) { + console.log("[types] Drop outgoing request"); + }, + incomingRequestMethod(_req) { + console.log("[types] Incoming request method"); + }, + incomingRequestPathWithQuery(_req) { + console.log("[types] Incoming request path with query"); + }, + incomingRequestScheme(_req) { + console.log("[types] Incoming request scheme"); + }, + incomingRequestAuthority(_req) { + console.log("[types] Incoming request authority"); + }, + incomingRequestHeaders(_req) { + console.log("[types] Incoming request headers"); + }, + incomingRequestConsume(_req) { + console.log("[types] Incoming request consume"); + }, + newOutgoingRequest(_method, _pathWithQuery, _scheme, _authority, _headers) { + console.log("[types] New outgoing request"); + }, + outgoingRequestWrite(_req) { + console.log("[types] Outgoing request write"); + }, + dropResponseOutparam(_res) { + console.log("[types] Drop response outparam"); + }, + setResponseOutparam(_response) { + console.log("[types] Drop fields"); + }, + dropIncomingResponse(_res) { + console.log("[types] Drop incoming response"); + }, + dropOutgoingResponse(_res) { + console.log("[types] Drop outgoing response"); + }, + incomingResponseStatus(_res) { + console.log("[types] Incoming response status"); + }, + incomingResponseHeaders(_res) { + console.log("[types] Incoming response headers"); + }, + incomingResponseConsume(_res) { + console.log("[types] Incoming response consume"); + }, + newOutgoingResponse(_statusCode, _headers) { + console.log("[types] New outgoing response"); + }, + outgoingResponseWrite(_res) { + console.log("[types] Outgoing response write"); + }, + dropFutureIncomingResponse(_f) { + console.log("[types] Drop future incoming response"); + }, + futureIncomingResponseGet(_f) { + console.log("[types] Future incoming response get"); + }, + listenToFutureIncomingResponse(_f) { + console.log("[types] Listen to future incoming response"); + } +}; diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/index.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/index.js new file mode 100644 index 0000000..da23919 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/index.js @@ -0,0 +1,17 @@ +import * as clocks from "./clocks.js"; +import * as filesystem from "./filesystem.js"; +import * as http from "./http.js"; +import * as io from "./io.js"; +import * as random from "./random.js"; +import * as sockets from "./sockets.js"; +import * as cli from "./cli.js"; + +export { + clocks, + filesystem, + http, + io, + random, + sockets, + cli, +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/io.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/io.js new file mode 100644 index 0000000..b450678 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/io.js @@ -0,0 +1,185 @@ +let id = 0; + +const symbolDispose = Symbol.dispose || Symbol.for('dispose'); + +const IoError = class Error { + constructor (msg) { + this.msg = msg; + } + toDebugString () { + return this.msg; + } +} + +/** + * @typedef {{ + * read?: (len: BigInt) => Uint8Array, + * blockingRead: (len: BigInt) => Uint8Array, + * skip?: (len: BigInt) => BigInt, + * blockingSkip?: (len: BigInt) => BigInt, + * subscribe: () => void, + * drop?: () => void, + * }} InputStreamHandler + * + * @typedef {{ + * checkWrite?: () -> BigInt, + * write: (buf: Uint8Array) => BigInt, + * blockingWriteAndFlush?: (buf: Uint8Array) => void, + * flush?: () => void, + * blockingFlush: () => void, + * writeZeroes?: (len: BigInt) => void, + * blockingWriteZeroes?: (len: BigInt) => void, + * blockingWriteZeroesAndFlush?: (len: BigInt) => void, + * splice?: (src: InputStream, len: BigInt) => BigInt, + * blockingSplice?: (src: InputStream, len: BigInt) => BigInt, + * forward?: (src: InputStream) => void, + * subscribe?: () => void, + * drop?: () => void, + * }} OutputStreamHandler + * + **/ + +class InputStream { + /** + * @param {InputStreamHandler} handler + */ + constructor (handler) { + if (!handler) + console.trace('no handler'); + this.id = ++id; + this.handler = handler; + } + read(len) { + if (this.handler.read) + return this.handler.read(len); + return this.handler.blockingRead.call(this, len); + } + blockingRead(len) { + return this.handler.blockingRead.call(this, len); + } + skip(len) { + if (this.handler.skip) + return this.handler.skip.call(this, len); + if (this.handler.read) { + const bytes = this.handler.read.call(this, len); + return BigInt(bytes.byteLength); + } + return this.blockingSkip.call(this, len); + } + blockingSkip(len) { + if (this.handler.blockingSkip) + return this.handler.blockingSkip.call(this, len); + const bytes = this.handler.blockingRead.call(this, len); + return BigInt(bytes.byteLength); + } + subscribe() { + console.log(`[streams] Subscribe to input stream ${this.id}`); + } + [symbolDispose] () { + if (this.handler.drop) + this.handler.drop.call(this); + } +} + +class OutputStream { + /** + * @param {OutputStreamHandler} handler + */ + constructor (handler) { + if (!handler) + console.trace('no handler'); + this.id = ++id; + this.open = true; + this.handler = handler; + } + checkWrite(len) { + if (!this.open) + return 0n; + if (this.handler.checkWrite) + return this.handler.checkWrite.call(this, len); + return 1_000_000n; + } + write(buf) { + this.handler.write.call(this, buf); + } + blockingWriteAndFlush(buf) { + /// Perform a write of up to 4096 bytes, and then flush the stream. Block + /// until all of these operations are complete, or an error occurs. + /// + /// This is a convenience wrapper around the use of `check-write`, + /// `subscribe`, `write`, and `flush`, and is implemented with the + /// following pseudo-code: + /// + /// ```text + /// let pollable = this.subscribe(); + /// while !contents.is_empty() { + /// // Wait for the stream to become writable + /// poll-one(pollable); + /// let Ok(n) = this.check-write(); // eliding error handling + /// let len = min(n, contents.len()); + /// let (chunk, rest) = contents.split_at(len); + /// this.write(chunk ); // eliding error handling + /// contents = rest; + /// } + /// this.flush(); + /// // Wait for completion of `flush` + /// poll-one(pollable); + /// // Check for any errors that arose during `flush` + /// let _ = this.check-write(); // eliding error handling + /// ``` + this.handler.write.call(this, buf); + } + flush() { + if (this.handler.flush) + this.handler.flush.call(this); + } + blockingFlush() { + this.open = true; + } + writeZeroes(len) { + this.write.call(this, new Uint8Array(Number(len))); + } + blockingWriteZeroes(len) { + this.blockingWrite.call(this, new Uint8Array(Number(len))); + } + blockingWriteZeroesAndFlush(len) { + this.blockingWriteAndFlush.call(this, new Uint8Array(Number(len))); + } + splice(src, len) { + const spliceLen = Math.min(len, this.checkWrite.call(this)); + const bytes = src.read(spliceLen); + this.write.call(this, bytes); + return bytes.byteLength; + } + blockingSplice(_src, _len) { + console.log(`[streams] Blocking splice ${this.id}`); + } + forward(_src) { + console.log(`[streams] Forward ${this.id}`); + } + subscribe() { + console.log(`[streams] Subscribe to output stream ${this.id}`); + } + [symbolDispose]() { + } +} + +export const error = { Error: IoError }; + +export const streams = { InputStream, OutputStream }; + +class Pollable {} + +function pollList (_list) { + // TODO +} + +function pollOne (_poll) { + // TODO +} + +export const poll = { + Pollable, + pollList, + pollOne +}; diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/random.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/random.js new file mode 100644 index 0000000..0c47385 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/random.js @@ -0,0 +1,56 @@ +const MAX_BYTES = 65536; + +let insecureRandomValue1, insecureRandomValue2; + +export const insecure = { + getInsecureRandomBytes (len) { + return random.getRandomBytes(len); + }, + getInsecureRandomU64 () { + return random.getRandomU64(); + } +}; + +let insecureSeedValue1, insecureSeedValue2; + +export const insecureSeed = { + insecureSeed () { + if (insecureSeedValue1 === undefined) { + insecureSeedValue1 = random.getRandomU64(); + insecureSeedValue2 = random.getRandomU64(); + } + return [insecureSeedValue1, insecureSeedValue2]; + } +}; + +export const random = { + getRandomBytes(len) { + const bytes = new Uint8Array(Number(len)); + + if (len > MAX_BYTES) { + // this is the max bytes crypto.getRandomValues + // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues + for (var generated = 0; generated < len; generated += MAX_BYTES) { + // buffer.slice automatically checks if the end is past the end of + // the buffer so we don't have to here + crypto.getRandomValues(bytes.subarray(generated, generated + MAX_BYTES)); + } + } else { + crypto.getRandomValues(bytes); + } + + return bytes; + }, + + getRandomU64 () { + return crypto.getRandomValues(new BigUint64Array(1))[0]; + }, + + insecureRandom () { + if (insecureRandomValue1 === undefined) { + insecureRandomValue1 = random.getRandomU64(); + insecureRandomValue2 = random.getRandomU64(); + } + return [insecureRandomValue1, insecureRandomValue2]; + } +}; diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/browser/sockets.js b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/sockets.js new file mode 100644 index 0000000..6dda749 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/browser/sockets.js @@ -0,0 +1,186 @@ +export const instanceNetwork = { + instanceNetwork () { + console.log(`[sockets] instance network`); + } +}; + +export const ipNameLookup = { + dropResolveAddressStream () { + + }, + subscribe () { + + }, + resolveAddresses () { + + }, + resolveNextAddress () { + + }, + nonBlocking () { + + }, + setNonBlocking () { + + }, +}; + +export const network = { + dropNetwork () { + + } +}; + +export const tcpCreateSocket = { + createTcpSocket () { + + } +}; + +export const tcp = { + subscribe () { + + }, + dropTcpSocket() { + + }, + bind() { + + }, + connect() { + + }, + listen() { + + }, + accept() { + + }, + localAddress() { + + }, + remoteAddress() { + + }, + addressFamily() { + + }, + setListenBacklogSize() { + + }, + keepAlive() { + + }, + setKeepAlive() { + + }, + noDelay() { + + }, + setNoDelay() { + + }, + unicastHopLimit() { + + }, + setUnicastHopLimit() { + + }, + receiveBufferSize() { + + }, + setReceiveBufferSize() { + + }, + sendBufferSize() { + + }, + setSendBufferSize() { + + }, + nonBlocking() { + + }, + setNonBlocking() { + + }, + shutdown() { + + } +}; + +export const udp = { + subscribe () { + + }, + + dropUdpSocket () { + + }, + + bind () { + + }, + + connect () { + + }, + + receive () { + + }, + + send () { + + }, + + localAddress () { + + }, + + remoteAddress () { + + }, + + addressFamily () { + + }, + + unicastHopLimit () { + + }, + + setUnicastHopLimit () { + + }, + + receiveBufferSize () { + + }, + + setReceiveBufferSize () { + + }, + + sendBufferSize () { + + }, + + setSendBufferSize () { + + }, + + nonBlocking () { + + }, + + setNonBlocking () { + + } +}; + +export const udpCreateSocket = { + createUdpSocket () { + + } +}; diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/io/calls.js b/demo/dist/@bytecodealliance/preview2-shim/lib/io/calls.js new file mode 100644 index 0000000..e1438cc --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/io/calls.js @@ -0,0 +1,127 @@ +let call_id = 0; + +// Call is a 32 bit integer, leading 8 bits are call number, trailing 24 bits allow custom call types +export const CALL_MASK = 0xff000000; +export const CALL_TYPE_MASK = 0x00ffffff; +export const CALL_SHIFT = 24; + +// Type indiciator for generic Stream, Future, and Poll calls +let cnt = 0; +export const STDIN = ++cnt; +export const STDOUT = ++cnt; +export const STDERR = ++cnt; +export const FILE = ++cnt; +export const HTTP = ++cnt; +export const SOCKET_TCP = ++cnt; +export const SOCKET_UDP = ++cnt; +export const CLOCKS = ++cnt; + +// Io Input Stream +export const INPUT_STREAM_CREATE = ++call_id << CALL_SHIFT; +export const INPUT_STREAM_READ = ++call_id << CALL_SHIFT; +export const INPUT_STREAM_BLOCKING_READ = ++call_id << CALL_SHIFT; +export const INPUT_STREAM_SKIP = ++call_id << CALL_SHIFT; +export const INPUT_STREAM_BLOCKING_SKIP = ++call_id << CALL_SHIFT; +export const INPUT_STREAM_SUBSCRIBE = ++call_id << CALL_SHIFT; +export const INPUT_STREAM_DISPOSE = ++call_id << CALL_SHIFT; + +// Io Output Stream +export const OUTPUT_STREAM_CREATE = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_CHECK_WRITE = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_WRITE = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_FLUSH = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_BLOCKING_FLUSH = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_WRITE_ZEROES = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_BLOCKING_WRITE_ZEROES_AND_FLUSH = + ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_SPLICE = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_BLOCKING_SPLICE = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_SUBSCRIBE = ++call_id << CALL_SHIFT; +export const OUTPUT_STREAM_DISPOSE = ++call_id << CALL_SHIFT; + +export const OUTPUT_STREAM_GET_TOTAL_BYTES = ++call_id << CALL_SHIFT; + +// Io Poll +export const POLL_POLLABLE_READY = ++call_id << CALL_SHIFT; +export const POLL_POLLABLE_BLOCK = ++call_id << CALL_SHIFT; +export const POLL_POLLABLE_DISPOSE = ++call_id << CALL_SHIFT; +export const POLL_POLL_LIST = ++call_id << CALL_SHIFT; + +// Futures +export const FUTURE_DISPOSE = ++call_id << CALL_SHIFT; +export const FUTURE_TAKE_VALUE = ++call_id << CALL_SHIFT; +export const FUTURE_SUBSCRIBE = ++call_id << CALL_SHIFT; + +// Http +export const HTTP_CREATE_REQUEST = ++call_id << 24; +export const HTTP_OUTPUT_STREAM_FINISH = ++call_id << CALL_SHIFT; +// Http server +export const HTTP_SERVER_START = ++call_id << CALL_SHIFT; +export const HTTP_SERVER_STOP = ++call_id << CALL_SHIFT; +export const HTTP_SERVER_INCOMING_HANDLER = ++call_id << CALL_SHIFT; +export const HTTP_SERVER_SET_OUTGOING_RESPONSE = ++call_id << CALL_SHIFT; +export const HTTP_SERVER_CLEAR_OUTGOING_RESPONSE = ++call_id << CALL_SHIFT; +export const HTTP_OUTGOING_BODY_DISPOSE = ++call_id << CALL_SHIFT; + +// Clocks +export const CLOCKS_DURATION_SUBSCRIBE = ++call_id << CALL_SHIFT; +export const CLOCKS_INSTANT_SUBSCRIBE = ++call_id << CALL_SHIFT; + +// Sockets +// Tcp +export const SOCKET_TCP_CREATE_HANDLE = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_BIND_START = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_BIND_FINISH = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_CONNECT_START = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_CONNECT_FINISH = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_SUBSCRIBE = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_LISTEN_START = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_LISTEN_FINISH = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_IS_LISTENING = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_ACCEPT = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_GET_LOCAL_ADDRESS = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_GET_REMOTE_ADDRESS = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_SET_KEEP_ALIVE = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_SET_LISTEN_BACKLOG_SIZE = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_SHUTDOWN = ++call_id << CALL_SHIFT; +export const SOCKET_TCP_DISPOSE = ++call_id << CALL_SHIFT; +// Udp +export const SOCKET_UDP_CREATE_HANDLE = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_BIND_START = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_BIND_FINISH = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_STREAM = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_SUBSCRIBE = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_DISPOSE = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_GET_LOCAL_ADDRESS = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_GET_RECEIVE_BUFFER_SIZE = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_GET_REMOTE_ADDRESS = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_GET_SEND_BUFFER_SIZE = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_GET_UNICAST_HOP_LIMIT = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_SET_RECEIVE_BUFFER_SIZE = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_SET_SEND_BUFFER_SIZE = ++call_id << CALL_SHIFT; +export const SOCKET_UDP_SET_UNICAST_HOP_LIMIT = ++call_id << CALL_SHIFT; +export const SOCKET_INCOMING_DATAGRAM_STREAM_RECEIVE = ++call_id << CALL_SHIFT; +export const SOCKET_OUTGOING_DATAGRAM_STREAM_CHECK_SEND = + ++call_id << CALL_SHIFT; +export const SOCKET_OUTGOING_DATAGRAM_STREAM_SEND = ++call_id << CALL_SHIFT; +export const SOCKET_DATAGRAM_STREAM_SUBSCRIBE = ++call_id << CALL_SHIFT; +export const SOCKET_DATAGRAM_STREAM_DISPOSE = ++call_id << CALL_SHIFT; + +export const SOCKET_GET_DEFAULT_SEND_BUFFER_SIZE = ++call_id << CALL_SHIFT; +export const SOCKET_GET_DEFAULT_RECEIVE_BUFFER_SIZE = ++call_id << CALL_SHIFT; + +// Name lookup +export const SOCKET_RESOLVE_ADDRESS_CREATE_REQUEST = ++call_id << CALL_SHIFT; +export const SOCKET_RESOLVE_ADDRESS_TAKE_REQUEST = ++call_id << CALL_SHIFT; +export const SOCKET_RESOLVE_ADDRESS_SUBSCRIBE_REQUEST = ++call_id << CALL_SHIFT; +export const SOCKET_RESOLVE_ADDRESS_DISPOSE_REQUEST = ++call_id << CALL_SHIFT; + +export const reverseMap = {}; + +import * as calls from "./calls.js"; + +for (const name of Object.getOwnPropertyNames(calls)) { + if (name === "reverseMap") continue; + reverseMap[calls[name]] = name; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-http.js b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-http.js new file mode 100644 index 0000000..4d067d9 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-http.js @@ -0,0 +1,195 @@ +import { createReadableStream, getStreamOrThrow } from "./worker-thread.js"; +import { + createServer, + request as httpRequest, + Agent as HttpAgent, +} from "node:http"; +import { request as httpsRequest, Agent as HttpsAgent } from "node:https"; +import { parentPort } from "node:worker_threads"; +import { HTTP_SERVER_INCOMING_HANDLER } from "./calls.js"; + +const agentOptions = { + keepAlive: true, +}; +const httpAgent = new HttpAgent(agentOptions); +const httpsAgent = new HttpsAgent(agentOptions); + +const servers = new Map(); + +let responseCnt = 0; +const responses = new Map(); + +export async function stopHttpServer(id) { + await new Promise((resolve) => servers.get(id).close(resolve)); +} + +export function clearOutgoingResponse(id) { + responses.delete(id); +} + +export async function setOutgoingResponse( + id, + { statusCode, headers, streamId } +) { + const response = responses.get(id); + const textDecoder = new TextDecoder(); + response.writeHead( + statusCode, + Object.fromEntries( + headers.map(([key, val]) => [key, textDecoder.decode(val)]) + ) + ); + response.flushHeaders(); + const { stream } = getStreamOrThrow(streamId); + stream.pipe(response); + responses.delete(id); +} + +export async function startHttpServer(id, { port, host }) { + const server = createServer((req, res) => { + // create the streams and their ids + const streamId = createReadableStream(req); + const responseId = ++responseCnt; + parentPort.postMessage({ + type: HTTP_SERVER_INCOMING_HANDLER, + id, + payload: { + responseId, + method: req.method, + host: req.headers.host || host || "localhost", + pathWithQuery: req.url, + headers: Object.entries(req.headersDistinct).flatMap(([key, val]) => + val.map((val) => [key, val]) + ), + streamId, + }, + }); + responses.set(responseId, res); + }); + await new Promise((resolve, reject) => { + server.listen(port, host, resolve); + server.on("error", reject); + }); + servers.set(id, server); +} + +export async function createHttpRequest( + method, + scheme, + authority, + pathWithQuery, + headers, + bodyId, + connectTimeout, + betweenBytesTimeout, + firstByteTimeout +) { + let stream = null; + if (bodyId) { + try { + ({ stream } = getStreamOrThrow(bodyId)); + } catch (e) { + if (e.tag === "closed") + throw { tag: "internal-error", val: "Unexpected closed body stream" }; + // it should never be possible for the body stream to already + // be closed, or for there to be a write error + // we therefore just throw internal error here + if (e.tag === "last-operation-failed") + throw { + tag: "internal-error", + val: e.val, + }; + // entirely unknown error -> trap + throw e; + } + } + try { + // Make a request + let req; + switch (scheme) { + case "http:": + req = httpRequest({ + agent: httpAgent, + method, + host: authority.split(":")[0], + port: authority.split(":")[1], + path: pathWithQuery, + timeout: connectTimeout && Number(connectTimeout / 1_000_000n), + }); + break; + case "https:": + req = httpsRequest({ + agent: httpsAgent, + method, + host: authority.split(":")[0], + port: authority.split(":")[1], + path: pathWithQuery, + timeout: connectTimeout && Number(connectTimeout / 1_000_000n), + }); + break; + default: + throw { tag: "HTTP-protocol-error" }; + } + for (const [key, value] of headers) { + req.appendHeader(key, value); + } + req.flushHeaders(); + if (stream) { + stream.pipe(req); + } else { + req.end(); + } + const res = await new Promise((resolve, reject) => { + req.once('timeout', () => { + reject({ + tag: "connection-timeout" + }); + req.destroy(); + }); + req.once("response", resolve); + req.once("close", () => reject); + req.once("error", reject); + }); + if (firstByteTimeout) res.setTimeout(Number(firstByteTimeout / 1_000_000n)); + if (betweenBytesTimeout) + res.once("readable", () => { + res.setTimeout(Number(betweenBytesTimeout / 1_000_000n)); + }); + const bodyStreamId = createReadableStream(res); + return { + status: res.statusCode, + headers: Array.from(Object.entries(res.headers)), + bodyStreamId, + }; + } catch (e) { + if (e?.tag) throw e; + const err = getFirstError(e); + switch (err.code) { + case "ECONNRESET": + throw { tag: "HTTP-protocol-error" }; + case "ENOTFOUND": + throw { + tag: "DNS-error", + val: { + rcode: err.code, + infoCode: err.errno < 0 ? -err.errno : err.errno, + }, + }; + case "ECONNREFUSED": + throw { + tag: "connection-refused", + }; + } + throw { + tag: "internal-error", + val: err.toString(), + }; + } +} + +function getFirstError(e) { + if (typeof e !== "object" || e === null) return e; + if (e.cause) return getFirstError(e.cause); + if (e instanceof AggregateError) return getFirstError(e.errors[0]); + return e; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-io.js b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-io.js new file mode 100644 index 0000000..b886d1c --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-io.js @@ -0,0 +1,520 @@ +import { fileURLToPath } from "node:url"; +import { createSyncFn } from "../synckit/index.js"; +import { + CALL_MASK, + CALL_TYPE_MASK, + FILE, + HTTP_SERVER_INCOMING_HANDLER, + HTTP, + INPUT_STREAM_BLOCKING_READ, + INPUT_STREAM_BLOCKING_SKIP, + INPUT_STREAM_DISPOSE, + INPUT_STREAM_READ, + INPUT_STREAM_SKIP, + INPUT_STREAM_SUBSCRIBE, + OUTPUT_STREAM_BLOCKING_FLUSH, + OUTPUT_STREAM_BLOCKING_SPLICE, + OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH, + OUTPUT_STREAM_BLOCKING_WRITE_ZEROES_AND_FLUSH, + OUTPUT_STREAM_CHECK_WRITE, + OUTPUT_STREAM_DISPOSE, + OUTPUT_STREAM_FLUSH, + OUTPUT_STREAM_SPLICE, + OUTPUT_STREAM_SUBSCRIBE, + OUTPUT_STREAM_WRITE_ZEROES, + OUTPUT_STREAM_WRITE, + POLL_POLL_LIST, + POLL_POLLABLE_BLOCK, + POLL_POLLABLE_DISPOSE, + POLL_POLLABLE_READY, + SOCKET_TCP, + STDERR, + STDIN, + STDOUT, + reverseMap, +} from "./calls.js"; +import nodeProcess, { exit, stderr, stdout, env } from "node:process"; + +const _rawDebug = nodeProcess._rawDebug || console.error.bind(console); + +const workerPath = fileURLToPath( + new URL("./worker-thread.js", import.meta.url) +); + +const httpIncomingHandlers = new Map(); +export function registerIncomingHttpHandler(id, handler) { + httpIncomingHandlers.set(id, handler); +} + +const instanceId = Math.round(Math.random() * 1000).toString(); +const DEBUG_DEFAULT = false; +const DEBUG = + env.PREVIEW2_SHIM_DEBUG === "0" + ? false + : env.PREVIEW2_SHIM_DEBUG === "1" + ? true + : DEBUG_DEFAULT; + +/** + * @type {(call: number, id: number | null, payload: any) -> any} + */ +export let ioCall = createSyncFn(workerPath, DEBUG, (type, id, payload) => { + // 'callbacks' from the worker + // ONLY happens for an http server incoming handler, and NOTHING else (not even sockets, since accept is sync!) + if (type !== HTTP_SERVER_INCOMING_HANDLER) + throw new Error( + "Internal error: only incoming handler callback is permitted" + ); + const handler = httpIncomingHandlers.get(id); + if (!handler) + throw new Error( + `Internal error: no incoming handler registered for server ${id}` + ); + handler(payload); +}); +if (DEBUG) { + const _ioCall = ioCall; + ioCall = function ioCall(num, id, payload) { + if (typeof id !== "number" && id !== null) + throw new Error("id must be a number or null"); + let ret; + try { + _rawDebug( + instanceId, + reverseMap[num & CALL_MASK], + reverseMap[num & CALL_TYPE_MASK], + id, + payload + ); + ret = _ioCall(num, id, payload); + return ret; + } catch (e) { + ret = e; + throw ret; + } finally { + _rawDebug(instanceId, "->", ret); + } + }; +} + +const symbolDispose = Symbol.dispose || Symbol.for("dispose"); + +const finalizationRegistry = new FinalizationRegistry( + (dispose) => void dispose() +); + +const dummySymbol = Symbol(); + +/** + * + * @param {any} resource + * @param {any} parentResource + * @param {number} id + * @param {(number) => void} disposeFn + */ +export function registerDispose(resource, parentResource, id, disposeFn) { + // While strictly speaking all components should handle their disposal, + // this acts as a last-resort to catch all missed drops through the JS GC. + // Mainly for two cases - (1) components which are long lived, that get shut + // down and (2) users that interface with low-level WASI APIs directly in JS + // for various reasons may end up leaning on JS GC inadvertantly. + function finalizer() { + // This has no functional purpose other than to pin a strong reference + // from the child resource's finalizer to the parent resource, to ensure + // that we can never finalize a parent resource before a child resource. + // This makes the generational JS GC become piecewise over child resource + // graphs (generational at each resource hierarchy level at least). + if (parentResource?.[dummySymbol]) return; + disposeFn(id); + } + finalizationRegistry.register(resource, finalizer, finalizer); + return finalizer; +} + +export function earlyDispose(finalizer) { + finalizationRegistry.unregister(finalizer); + finalizer(); +} + +const _Error = Error; +const IoError = class Error extends _Error { + constructor(payload) { + super(payload); + this.payload = payload; + } + toDebugString() { + return this.message; + } +}; + +function streamIoErrorCall(call, id, payload) { + try { + return ioCall(call, id, payload); + } catch (e) { + if (e.tag === "closed") throw e; + if (e.tag === "last-operation-failed") { + e.val = new IoError(Object.assign(new Error(e.val.message), e.val)); + throw e; + } + // any invalid error is a trap + console.trace(e); + exit(1); + } +} + +class InputStream { + #id; + #streamType; + #finalizer; + read(len) { + return streamIoErrorCall( + INPUT_STREAM_READ | this.#streamType, + this.#id, + len + ); + } + blockingRead(len) { + return streamIoErrorCall( + INPUT_STREAM_BLOCKING_READ | this.#streamType, + this.#id, + len + ); + } + skip(len) { + return streamIoErrorCall( + INPUT_STREAM_SKIP | this.#streamType, + this.#id, + len + ); + } + blockingSkip(len) { + return streamIoErrorCall( + INPUT_STREAM_BLOCKING_SKIP | this.#streamType, + this.#id, + len + ); + } + subscribe() { + return pollableCreate( + ioCall(INPUT_STREAM_SUBSCRIBE | this.#streamType, this.#id), + this + ); + } + static _id(stream) { + return stream.#id; + } + /** + * @param {FILE | SOCKET_TCP | STDIN | HTTP} streamType + */ + static _create(streamType, id) { + const stream = new InputStream(); + stream.#id = id; + stream.#streamType = streamType; + let disposeFn; + switch (streamType) { + case FILE: + disposeFn = fileInputStreamDispose; + break; + case SOCKET_TCP: + disposeFn = socketTcpInputStreamDispose; + break; + case STDIN: + disposeFn = stdinInputStreamDispose; + break; + case HTTP: + disposeFn = httpInputStreamDispose; + break; + default: + throw new Error( + "wasi-io trap: Dispose function not created for stream type " + + reverseMap[streamType] + ); + } + stream.#finalizer = registerDispose(stream, null, id, disposeFn); + return stream; + } + [symbolDispose]() { + if (this.#finalizer) { + earlyDispose(this.#finalizer); + this.#finalizer = null; + } + } +} + +function fileInputStreamDispose(id) { + ioCall(INPUT_STREAM_DISPOSE | FILE, id, null); +} + +function socketTcpInputStreamDispose(id) { + ioCall(INPUT_STREAM_DISPOSE | SOCKET_TCP, id, null); +} + +function stdinInputStreamDispose(id) { + ioCall(INPUT_STREAM_DISPOSE | STDIN, id, null); +} + +function httpInputStreamDispose(id) { + ioCall(INPUT_STREAM_DISPOSE | HTTP, id, null); +} + +export const inputStreamCreate = InputStream._create; +delete InputStream._create; + +export const inputStreamId = InputStream._id; +delete InputStream._id; + +class OutputStream { + #id; + #streamType; + #finalizer; + checkWrite(len) { + return streamIoErrorCall( + OUTPUT_STREAM_CHECK_WRITE | this.#streamType, + this.#id, + len + ); + } + write(buf) { + if (this.#streamType <= STDERR) return this.blockingWriteAndFlush(buf); + return streamIoErrorCall( + OUTPUT_STREAM_WRITE | this.#streamType, + this.#id, + buf + ); + } + blockingWriteAndFlush(buf) { + if (this.#streamType <= STDERR) { + const stream = this.#streamType === STDERR ? stderr : stdout; + return void stream.write(buf); + } + return streamIoErrorCall( + OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH | this.#streamType, + this.#id, + buf + ); + } + flush() { + return streamIoErrorCall(OUTPUT_STREAM_FLUSH | this.#streamType, this.#id); + } + blockingFlush() { + return streamIoErrorCall( + OUTPUT_STREAM_BLOCKING_FLUSH | this.#streamType, + this.#id + ); + } + writeZeroes(len) { + return streamIoErrorCall( + OUTPUT_STREAM_WRITE_ZEROES | this.#streamType, + this.#id, + len + ); + } + blockingWriteZeroesAndFlush(len) { + return streamIoErrorCall( + OUTPUT_STREAM_BLOCKING_WRITE_ZEROES_AND_FLUSH | this.#streamType, + this.#id, + len + ); + } + splice(src, len) { + return streamIoErrorCall( + OUTPUT_STREAM_SPLICE | this.#streamType, + this.#id, + { src: src.#id, len } + ); + } + blockingSplice(src, len) { + return streamIoErrorCall( + OUTPUT_STREAM_BLOCKING_SPLICE | this.#streamType, + this.#id, + { src: inputStreamId(src), len } + ); + } + subscribe() { + return pollableCreate( + ioCall(OUTPUT_STREAM_SUBSCRIBE | this.#streamType, this.#id) + ); + } + + static _id(outputStream) { + return outputStream.#id; + } + /** + * @param {OutputStreamType} streamType + * @param {any} createPayload + */ + static _create(streamType, id) { + const stream = new OutputStream(); + stream.#id = id; + stream.#streamType = streamType; + let disposeFn; + switch (streamType) { + case STDOUT: + disposeFn = stdoutOutputStreamDispose; + break; + case STDERR: + disposeFn = stderrOutputStreamDispose; + break; + case SOCKET_TCP: + disposeFn = socketTcpOutputStreamDispose; + break; + case FILE: + disposeFn = fileOutputStreamDispose; + break; + case HTTP: + return stream; + default: + throw new Error( + "wasi-io trap: Dispose function not created for stream type " + + reverseMap[streamType] + ); + } + stream.#finalizer = registerDispose(stream, null, id, disposeFn); + return stream; + } + + [symbolDispose]() { + if (this.#finalizer) { + earlyDispose(this.#finalizer); + this.#finalizer = null; + } + } +} + +function stdoutOutputStreamDispose(id) { + ioCall(OUTPUT_STREAM_DISPOSE | STDOUT, id); +} + +function stderrOutputStreamDispose(id) { + ioCall(OUTPUT_STREAM_DISPOSE | STDERR, id); +} + +function socketTcpOutputStreamDispose(id) { + ioCall(OUTPUT_STREAM_DISPOSE | SOCKET_TCP, id); +} + +function fileOutputStreamDispose(id) { + ioCall(OUTPUT_STREAM_DISPOSE | FILE, id); +} + +export const outputStreamCreate = OutputStream._create; +delete OutputStream._create; + +export const outputStreamId = OutputStream._id; +delete OutputStream._id; + +export const error = { Error: IoError }; + +export const streams = { InputStream, OutputStream }; + +function pollableDispose(id) { + ioCall(POLL_POLLABLE_DISPOSE, id); +} + +const rep = Symbol.for("cabiRep"); + +class Pollable { + #finalizer; + ready() { + return ioCall(POLL_POLLABLE_READY, this[rep]); + } + block() { + ioCall(POLL_POLLABLE_BLOCK, this[rep]); + } + static _create(id, parent) { + const pollable = new Pollable(); + pollable[rep] = id; + pollable.#finalizer = registerDispose( + pollable, + parent, + id, + pollableDispose + ); + return pollable; + } + [symbolDispose]() { + if (this.#finalizer && this[rep]) { + earlyDispose(this.#finalizer); + this.#finalizer = null; + } + } +} + +const cabiLowerSymbol = Symbol.for("cabiLower"); +const T_FLAG = 1 << 30; + +Pollable.prototype.ready[cabiLowerSymbol] = function ({ + resourceTables: [table], +}) { + return function pollableReady(handle) { + const rep = table[(handle << 1) + 1] & ~T_FLAG; + const ready = ioCall(POLL_POLLABLE_READY, rep); + return ready ? 1 : 0; + }; +}; + +Pollable.prototype.block[cabiLowerSymbol] = function ({ + resourceTables: [table], +}) { + return function pollableBlock(handle) { + const rep = table[(handle << 1) + 1] & ~T_FLAG; + ioCall(POLL_POLLABLE_BLOCK, rep); + }; +}; + +Pollable[Symbol.for("cabiDispose")] = function pollableDispose(rep) { + ioCall(POLL_POLLABLE_DISPOSE, rep); +}; + +export const pollableCreate = Pollable._create; +delete Pollable._create; + +export const poll = { + Pollable, + poll(list) { + return ioCall( + POLL_POLL_LIST, + null, + list.map((pollable) => pollable[rep]) + ); + }, +}; + +poll.poll[cabiLowerSymbol] = function ({ memory, realloc, resourceTables: [table] }) { + return function pollPollList (listPtr, len, retptr) { + const handleList = new Uint32Array(memory.buffer, listPtr, len); + const repList = Array(len); + for (let i = 0; i < len; i++) { + const handle = handleList[i]; + repList[i] = table[(handle << 1) + 1] & ~T_FLAG; + } + const result = ioCall(POLL_POLL_LIST, null, repList); + const ptr = realloc(0, 0, 4, result.byteLength); + const out = new Uint32Array(memory.buffer, ptr, result.length); + out.set(result); + const ret = new Uint32Array(memory.buffer, retptr, 2); + ret[0] = ptr; + ret[1] = result.length; + return retptr; + }; +}; + +export function createPoll(call, id, initPayload) { + return pollableCreate(ioCall(call, id, initPayload)); +} + +export function createPollLower(call, id, table) { + return function (initPayload) { + const rep = ioCall(call, id, initPayload); + const free = table[0] & ~T_FLAG; + if (free === 0) { + table.push(0); + table.push(rep | T_FLAG); + return (table.length >> 1) - 1; + } + table[0] = table[free << 1]; + table[free << 1] = 0; + table[(free << 1) + 1] = rep | T_FLAG; + return free; + }; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-tcp.js b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-tcp.js new file mode 100644 index 0000000..afdb29e --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-tcp.js @@ -0,0 +1,291 @@ +import { + createFuture, + createReadableStream, + createReadableStreamPollState, + createWritableStream, + futureDispose, + futureTakeValue, + pollStateReady, + verifyPollsDroppedForDrop, +} from "./worker-thread.js"; +import process from "node:process"; +const { TCP, constants: TCPConstants } = process.binding("tcp_wrap"); +import { + convertSocketError, + convertSocketErrorCode, + ipSocketAddress, + isIPv4MappedAddress, + isMulticastIpAddress, + isUnicastIpAddress, + isWildcardAddress, + noLookup, + serializeIpAddress, + SOCKET_STATE_BIND, + SOCKET_STATE_BOUND, + SOCKET_STATE_CLOSED, + SOCKET_STATE_CONNECT, + SOCKET_STATE_CONNECTION, + SOCKET_STATE_INIT, + SOCKET_STATE_LISTEN, + SOCKET_STATE_LISTENER, +} from "./worker-sockets.js"; +import { Socket, Server } from "node:net"; + +const winOrMac = process.platform === 'win32' || process.platform === 'darwin'; + +/** + * @typedef {import("../../types/interfaces/wasi-sockets-network.js").IpSocketAddress} IpSocketAddress + * @typedef {import("../../../types/interfaces/wasi-sockets-tcp.js").IpAddressFamily} IpAddressFamily + * @typedef {import("node:net").Socket} TcpSocket + * + * @typedef {{ + * tcpSocket: number, + * err: Error | null, + * pollState: PollState, + * }} PendingAccept + * + * @typedef {{ + * state: number, + * future: number | null, + * tcpSocket: TcpSocket | null, + * listenBacklogSize: number, + * handle: TCP, + * pendingAccepts: PendingAccept[], + * pollState: PollState, + * }} TcpSocketRecord + */ + +/** + * @type {Map} + */ +export const tcpSockets = new Map(); + +let tcpSocketCnt = 0; + +/** + * @param {IpAddressFamily} addressFamily + */ +export function createTcpSocket() { + const handle = new TCP(TCPConstants.SOCKET); + tcpSockets.set(++tcpSocketCnt, { + state: SOCKET_STATE_INIT, + future: null, + tcpSocket: null, + listenBacklogSize: 128, + handle, + pendingAccepts: [], + pollState: { ready: true, listener: null, polls: [], parentStream: null }, + }); + return tcpSocketCnt; +} + +export function socketTcpFinish(id, fromState, toState) { + const socket = tcpSockets.get(id); + if (socket.state !== fromState) throw "not-in-progress"; + if (!socket.pollState.ready) throw "would-block"; + const { tag, val } = futureTakeValue(socket.future).val; + futureDispose(socket.future, false); + socket.future = null; + if (tag === "err") { + socket.state = SOCKET_STATE_CLOSED; + throw val; + } else { + socket.state = toState; + // for the listener, we must immediately transition back to unresolved + if (toState === SOCKET_STATE_LISTENER) socket.pollState.ready = false; + return val; + } +} + +export function socketTcpBindStart(id, localAddress, family) { + const socket = tcpSockets.get(id); + if (socket.state !== SOCKET_STATE_INIT) throw "invalid-state"; + if ( + family !== localAddress.tag || + !isUnicastIpAddress(localAddress) || + isIPv4MappedAddress(localAddress) + ) + throw "invalid-argument"; + socket.state = SOCKET_STATE_BIND; + const { handle } = socket; + socket.future = createFuture( + (async () => { + const address = serializeIpAddress(localAddress); + const port = localAddress.val.port; + const code = + localAddress.tag === "ipv6" + ? handle.bind6(address, port, TCPConstants.UV_TCP_IPV6ONLY) + : handle.bind(address, port); + if (code !== 0) throw convertSocketErrorCode(-code); + // This is a Node.js / libuv quirk to force the bind error to be thrown + // (specifically address-in-use). + { + const out = {}; + const code = handle.getsockname(out); + if (code !== 0) throw convertSocketErrorCode(-code); + } + })(), + socket.pollState + ); +} + +export function socketTcpConnectStart(id, remoteAddress, family) { + const socket = tcpSockets.get(id); + if (socket.state !== SOCKET_STATE_INIT && socket.state !== SOCKET_STATE_BOUND) + throw "invalid-state"; + if ( + isWildcardAddress(remoteAddress) || + family !== remoteAddress.tag || + !isUnicastIpAddress(remoteAddress) || + isMulticastIpAddress(remoteAddress) || + remoteAddress.val.port === 0 || + isIPv4MappedAddress(remoteAddress) + ) { + throw "invalid-argument"; + } + socket.state = SOCKET_STATE_CONNECT; + socket.future = createFuture( + new Promise((resolve, reject) => { + const tcpSocket = (socket.tcpSocket = new Socket({ + handle: socket.handle, + pauseOnCreate: true, + allowHalfOpen: true, + })); + function handleErr(err) { + tcpSocket.off("connect", handleConnect); + reject(convertSocketError(err)); + } + function handleConnect() { + tcpSocket.off("error", handleErr); + resolve([ + createReadableStream(tcpSocket), + createWritableStream(tcpSocket), + ]); + } + tcpSocket.once("connect", handleConnect); + tcpSocket.once("error", handleErr); + tcpSocket.connect({ + port: remoteAddress.val.port, + host: serializeIpAddress(remoteAddress), + lookup: noLookup, + }); + }), + socket.pollState + ); +} + +export function socketTcpListenStart(id) { + const socket = tcpSockets.get(id); + if (socket.state !== SOCKET_STATE_BOUND) throw "invalid-state"; + const { handle } = socket; + socket.state = SOCKET_STATE_LISTEN; + socket.future = createFuture( + new Promise((resolve, reject) => { + const server = new Server({ pauseOnConnect: true, allowHalfOpen: true }); + function handleErr(err) { + server.off("listening", handleListen); + reject(convertSocketError(err)); + } + function handleListen() { + server.off("error", handleErr); + server.on("connection", (tcpSocket) => { + pollStateReady(socket.pollState); + const pollState = createReadableStreamPollState(tcpSocket); + socket.pendingAccepts.push({ tcpSocket, err: null, pollState }); + }); + server.on("error", (err) => { + pollStateReady(socket.pollState); + socket.pendingAccepts.push({ tcpSocket: null, err, pollState: null }); + }); + resolve(); + } + server.once("listening", handleListen); + server.once("error", handleErr); + server.listen(handle, socket.listenBacklogSize); + }), + socket.pollState + ); +} + +export function socketTcpAccept(id) { + const socket = tcpSockets.get(id); + if (socket.state !== SOCKET_STATE_LISTENER) throw "invalid-state"; + if (socket.pendingAccepts.length === 0) throw "would-block"; + const accept = socket.pendingAccepts.shift(); + if (accept.err) { + socket.state = SOCKET_STATE_CLOSED; + throw convertSocketError(accept.err); + } + if (socket.pendingAccepts.length === 0) socket.pollState.ready = false; + tcpSockets.set(++tcpSocketCnt, { + state: SOCKET_STATE_CONNECTION, + future: null, + tcpSocket: accept.tcpSocket, + listenBacklogSize: 128, + handle: accept.tcpSocket._handle, + pendingAccepts: [], + pollState: accept.pollState, + }); + return [ + tcpSocketCnt, + createReadableStream(accept.tcpSocket, accept.pollState), + createWritableStream(accept.tcpSocket), + ]; +} + +export function socketTcpSetListenBacklogSize(id, backlogSize) { + const socket = tcpSockets.get(id); + if ( + socket.state === SOCKET_STATE_LISTEN || + socket.state === SOCKET_STATE_LISTENER + ) + throw "not-supported"; + if ( + socket.state !== SOCKET_STATE_INIT && + socket.state !== SOCKET_STATE_BIND && + socket.state !== SOCKET_STATE_BOUND + ) + throw "invalid-state"; + socket.listenBacklogSize = Number(backlogSize); +} + +export function socketTcpGetLocalAddress(id) { + const { handle } = tcpSockets.get(id); + const out = {}; + const code = handle.getsockname(out); + if (code !== 0) throw convertSocketErrorCode(-code); + return ipSocketAddress(out.family.toLowerCase(), out.address, out.port); +} + +export function socketTcpGetRemoteAddress(id) { + const { handle } = tcpSockets.get(id); + const out = {}; + const code = handle.getpeername(out); + if (code !== 0) throw convertSocketErrorCode(-code); + return ipSocketAddress(out.family.toLowerCase(), out.address, out.port); +} + +export function socketTcpShutdown(id, _shutdownType) { + const socket = tcpSockets.get(id); + if (socket.state !== SOCKET_STATE_CONNECTION) throw "invalid-state"; + if (winOrMac && socket.tcpSocket.destroySoon) + socket.tcpSocket.destroySoon(); + else + socket.tcpSocket.destroy(); +} + +export function socketTcpSetKeepAlive(id, { keepAlive, keepAliveIdleTime }) { + const { handle } = tcpSockets.get(id); + const code = handle.setKeepAlive( + keepAlive, + Number(keepAliveIdleTime / 1_000_000_000n) + ); + if (code !== 0) throw convertSocketErrorCode(-code); +} + +export function socketTcpDispose(id) { + const socket = tcpSockets.get(id); + verifyPollsDroppedForDrop(socket.pollState, "tcp socket"); + socket.handle.close(); + tcpSockets.delete(id); +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-udp.js b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-udp.js new file mode 100644 index 0000000..994c1f0 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-socket-udp.js @@ -0,0 +1,576 @@ +import { createSocket } from "node:dgram"; +import { + createFuture, + futureDispose, + futureTakeValue, + pollStateReady, + verifyPollsDroppedForDrop, +} from "./worker-thread.js"; +import { + convertSocketError, + convertSocketErrorCode, + getDefaultReceiveBufferSize, + getDefaultSendBufferSize, + ipSocketAddress, + isIPv4MappedAddress, + isWildcardAddress, + noLookup, + serializeIpAddress, + SOCKET_STATE_BIND, + SOCKET_STATE_BOUND, + SOCKET_STATE_CLOSED, + SOCKET_STATE_CONNECTION, + SOCKET_STATE_INIT, +} from "./worker-sockets.js"; + +// Experimental support for batched UDP sends. Set this to true to enable. +// This is not enabled by default because we need to figure out how to know +// how many datagrams were sent when there is an error in a batch. +// See the err path in "handler" in the "doSendBatch" of socketOutgoingDatagramStreamSend. +const UDP_BATCH_SENDS = false; + +/** + * @typedef {import("../../types/interfaces/wasi-sockets-network.js").IpSocketAddress} IpSocketAddress + * @typedef {import("../../../types/interfaces/wasi-sockets-tcp.js").IpAddressFamily} IpAddressFamily + * + * + * @typedef {{ + * state: number, + * remoteAddress: string | null, + * remotePort: number | null, + * sendBufferSize: number | null, + * receiveBufferSize: number | null, + * unicastHopLimit: number, + * udpSocket: import('node:dgram').Socket, + * future: number | null, + * serializedLocalAddress: string | null, + * pollState: PollState, + * incomingDatagramStream: number | null, + * outgoingDatagramStream: number | null, + * }} UdpSocketRecord + * + * @typedef {{ + * active: bool, + * error: any | null, + * socket: UdpSocketRecord, + * pollState: PollState, + * queue?: Buffer[], + * cleanup: () => void | null, + * }} DatagramStreamRecord + * + */ + +let udpSocketCnt = 0, + datagramStreamCnt = 0; + +/** + * @type {Map} + */ +export const udpSockets = new Map(); + +/** + * @type {Map} + */ +export const datagramStreams = new Map(); + +/** + * @param {IpAddressFamily} addressFamily + * @returns {number} + */ +export function createUdpSocket({ family, unicastHopLimit }) { + const udpSocket = createSocket({ + type: family === "ipv6" ? "udp6" : "udp4", + reuseAddr: false, + ipv6Only: family === "ipv6", + lookup: noLookup, + }); + udpSockets.set(++udpSocketCnt, { + state: SOCKET_STATE_INIT, + remoteAddress: null, + remotePort: null, + sendBufferSize: null, + receiveBufferSize: null, + unicastHopLimit, + udpSocket, + future: null, + serializedLocalAddress: null, + pollState: { ready: true, listener: null, polls: [], parentStream: null }, + incomingDatagramStream: null, + outgoingDatagramStream: null, + }); + return udpSocketCnt; +} + +/** + * @param {UdpSocketRecord} socket + * @returns {DatagramStreamRecord} + */ +function createIncomingDatagramStream(socket) { + const id = ++datagramStreamCnt; + const pollState = { + ready: false, + listener: null, + polls: [], + parentStream: null, + }; + const datagramStream = { + id, + active: true, + error: null, + socket, + queue: [], + cleanup, + pollState, + }; + const { udpSocket } = socket; + datagramStreams.set(id, datagramStream); + function cleanup() { + udpSocket.off("message", onMessage); + udpSocket.off("error", onError); + } + function onMessage(data, rinfo) { + const family = rinfo.family.toLowerCase(); + datagramStream.queue.push({ + data, + remoteAddress: ipSocketAddress(family, rinfo.address, rinfo.port), + }); + if (!pollState.ready) pollStateReady(pollState); + } + function onError(err) { + datagramStream.error = err; + pollStateReady(datagramStream.pollState); + } + udpSocket.on("message", onMessage); + udpSocket.once("error", onError); + return datagramStream; +} + +/** + * @param {UdpSocketRecord} socket + * @returns {DatagramStreamRecord} + */ +function createOutgoingDatagramStream(socket) { + const id = ++datagramStreamCnt; + const datagramStream = { + id, + active: true, + error: null, + socket, + cleanup, + pollState: { ready: true, listener: null, polls: [], parentStream: null }, + }; + const { udpSocket } = socket; + datagramStreams.set(id, datagramStream); + udpSocket.on("error", onError); + function onError(err) { + datagramStream.error = err; + pollStateReady(datagramStream.pollState); + } + function cleanup() { + udpSocket.off("error", onError); + } + return datagramStream; +} + +export function socketUdpBindStart(id, localAddress, family) { + const socket = udpSockets.get(id); + + if (family !== localAddress.tag || isIPv4MappedAddress(localAddress)) + throw "invalid-argument"; + + const serializedLocalAddress = serializeIpAddress(localAddress); + + if (socket.state !== SOCKET_STATE_INIT) throw "invalid-state"; + socket.state = SOCKET_STATE_BIND; + const { udpSocket } = socket; + socket.future = createFuture( + new Promise((resolve, reject) => { + function bindOk() { + resolve(); + udpSocket.off("error", bindErr); + } + function bindErr(err) { + reject(convertSocketError(err)); + udpSocket.off("listening", bindOk); + } + udpSocket.once("listening", bindOk); + udpSocket.once("error", bindErr); + udpSocket.bind(localAddress.val.port, serializedLocalAddress); + }), + socket.pollState + ); +} + +export function socketUdpBindFinish(id) { + const socket = udpSockets.get(id); + if (socket.state !== SOCKET_STATE_BIND) throw "not-in-progress"; + if (!socket.pollState.ready) throw "would-block"; + const { tag, val } = futureTakeValue(socket.future).val; + futureDispose(socket.future, false); + socket.future = null; + if (tag === "err") { + socket.state = SOCKET_STATE_CLOSED; + throw val; + } else { + // once bound, we can now set the options + // since Node.js doesn't support setting them until bound + socket.udpSocket.setTTL(socket.unicastHopLimit); + if (socket.sendBufferSize) + socket.udpSocket.setRecvBufferSize(socket.sendBufferSize); + if (socket.receieveBufferSize) + socket.udpSocket.setSendBufferSize(socket.receiveBufferSize); + socket.state = SOCKET_STATE_BOUND; + return val; + } +} + +/** + * @param {number} id + * @returns {IpSocketAddress} + */ +export function socketUdpGetLocalAddress(id) { + const { udpSocket } = udpSockets.get(id); + let address, family, port; + try { + ({ address, family, port } = udpSocket.address()); + } catch (err) { + throw convertSocketError(err); + } + return ipSocketAddress(family.toLowerCase(), address, port); +} + +/** + * @param {number} id + * @returns {IpSocketAddress} + */ +export function socketUdpGetRemoteAddress(id) { + const { udpSocket } = udpSockets.get(id); + let address, family, port; + try { + ({ address, family, port } = udpSocket.remoteAddress()); + } catch (err) { + throw convertSocketError(err); + } + return ipSocketAddress(family.toLowerCase(), address, port); +} + +export function socketUdpStream(id, remoteAddress) { + const socket = udpSockets.get(id); + const { udpSocket } = socket; + + if ( + socket.state !== SOCKET_STATE_BOUND && + socket.state !== SOCKET_STATE_CONNECTION + ) + throw "invalid-state"; + + if (socket.state === SOCKET_STATE_INIT && !remoteAddress) + throw "invalid-state"; + + if ( + remoteAddress && + (remoteAddress.val.port === 0 || + isWildcardAddress(remoteAddress) || + (remoteAddress.tag === "ipv6" && isIPv4MappedAddress(remoteAddress))) + ) + throw "invalid-argument"; + + if (socket.state === SOCKET_STATE_CONNECTION) { + socketDatagramStreamClear(socket.incomingDatagramStream); + socketDatagramStreamClear(socket.outgoingDatagramStream); + try { + udpSocket.disconnect(); + } catch (e) { + throw convertSocketErrorCode(e); + } + } + + if (remoteAddress) { + const serializedRemoteAddress = serializeIpAddress(remoteAddress); + socket.remoteAddress = serializedRemoteAddress; + socket.remotePort = remoteAddress.val.port; + return new Promise((resolve, reject) => { + function connectOk() { + if (socket.state === SOCKET_STATE_INIT) { + socket.udpSocket.setTTL(socket.unicastHopLimit); + socket.udpSocket.setRecvBufferSize(socket.sendBufferSize); + socket.udpSocket.setSendBufferSize(socket.receiveBufferSize); + } + udpSocket.off("error", connectErr); + socket.state = SOCKET_STATE_CONNECTION; + resolve([ + (socket.incomingDatagramStream = createIncomingDatagramStream(socket)) + .id, + (socket.outgoingDatagramStream = createOutgoingDatagramStream(socket)) + .id, + ]); + } + function connectErr(err) { + udpSocket.off("connect", connectOk); + reject(convertSocketError(err)); + } + udpSocket.once("connect", connectOk); + udpSocket.once("error", connectErr); + udpSocket.connect(remoteAddress.val.port, serializedRemoteAddress); + }); + } else { + socket.state = SOCKET_STATE_BOUND; + socket.remoteAddress = null; + socket.remotePort = null; + return [ + (socket.incomingDatagramStream = createIncomingDatagramStream(socket)).id, + (socket.outgoingDatagramStream = createOutgoingDatagramStream(socket)).id, + ]; + } +} + +export function socketUdpSetReceiveBufferSize(id, bufferSize) { + const socket = udpSockets.get(id); + bufferSize = Number(bufferSize); + if ( + socket.state !== SOCKET_STATE_INIT && + socket.state !== SOCKET_STATE_BIND + ) { + try { + socket.udpSocket.setRecvBufferSize(bufferSize); + } catch (err) { + throw convertSocketError(err); + } + } + socket.receiveBufferSize = bufferSize; +} + +export function socketUdpSetSendBufferSize(id, bufferSize) { + const socket = udpSockets.get(id); + bufferSize = Number(bufferSize); + if ( + socket.state !== SOCKET_STATE_INIT && + socket.state !== SOCKET_STATE_BIND + ) { + try { + socket.udpSocket.setSendBufferSize(bufferSize); + } catch (err) { + throw convertSocketError(err); + } + } + socket.sendBufferSize = bufferSize; +} + +export function socketUdpSetUnicastHopLimit(id, hopLimit) { + const socket = udpSockets.get(id); + if ( + socket.state !== SOCKET_STATE_INIT && + socket.state !== SOCKET_STATE_BIND + ) { + try { + socket.udpSocket.setTTL(hopLimit); + } catch (err) { + throw convertSocketError(err); + } + } + socket.unicastHopLimit = hopLimit; +} + +export async function socketUdpGetReceiveBufferSize(id) { + const socket = udpSockets.get(id); + if (socket.receiveBufferSize) return BigInt(socket.receiveBufferSize); + if ( + socket.state !== SOCKET_STATE_INIT && + socket.state !== SOCKET_STATE_BIND + ) { + try { + return BigInt( + (socket.receiveBufferSize = socket.udpSocket.getRecvBufferSize()) + ); + } catch (err) { + throw convertSocketError(err); + } + } else { + return BigInt( + (socket.receiveBufferSize = await getDefaultReceiveBufferSize()) + ); + } +} + +export async function socketUdpGetSendBufferSize(id) { + const socket = udpSockets.get(id); + if (socket.sendBufferSize) return BigInt(socket.sendBufferSize); + if ( + socket.state !== SOCKET_STATE_INIT && + socket.state !== SOCKET_STATE_BIND + ) { + try { + return BigInt( + (socket.sendBufferSize = socket.udpSocket.getSendBufferSize()) + ); + } catch (err) { + throw convertSocketError(err); + } + } else { + return BigInt((socket.sendBufferSize = await getDefaultSendBufferSize())); + } +} + +export function socketUdpGetUnicastHopLimit(id) { + const { unicastHopLimit } = udpSockets.get(id); + return unicastHopLimit; +} + +export function socketUdpDispose(id) { + const { udpSocket } = udpSockets.get(id); + return new Promise((resolve) => { + udpSocket.close(() => { + udpSockets.delete(id); + resolve(0); + }); + }); +} + +export function socketIncomingDatagramStreamReceive(id, maxResults) { + const datagramStream = datagramStreams.get(id); + if (!datagramStream.active) + throw new Error( + "wasi-io trap: attempt to receive on inactive incoming datagram stream" + ); + if (maxResults === 0n || datagramStream.queue.length === 0) return []; + if (datagramStream.error) throw convertSocketError(datagramStream.error); + return datagramStream.queue.splice(0, Number(maxResults)); +} + +export async function socketOutgoingDatagramStreamSend(id, datagrams) { + const { active, socket } = datagramStreams.get(id); + if (!active) + throw new Error( + "wasi-io trap: writing to inactive outgoing datagram stream" + ); + + const { udpSocket } = socket; + let sendQueue = [], + sendQueueAddress, + sendQueuePort; + let datagramsSent = 0; + for (const { data, remoteAddress } of datagrams) { + const address = remoteAddress + ? serializeIpAddress(remoteAddress) + : socket.remoteAddress; + const port = remoteAddress?.val.port ?? socket.remotePort; + let sendLastBatch = !UDP_BATCH_SENDS; + if (sendQueue.length > 0) { + if (sendQueueAddress === address && sendQueuePort === port) { + sendQueue.push(data); + } else { + sendLastBatch = true; + } + } else { + sendQueueAddress = address; + sendQueuePort = port; + sendQueue.push(data); + } + if (sendLastBatch) { + const err = await doSendBatch(); + if (err) return BigInt(datagramsSent); + if (UDP_BATCH_SENDS) { + sendQueue = [data]; + sendQueuePort = port; + sendQueueAddress = address; + } else { + sendQueue = []; + sendQueuePort = port; + sendQueueAddress = address; + } + } + } + if (sendQueue.length) { + const err = await doSendBatch(); + if (err) return BigInt(datagramsSent); + } + + if (datagramsSent !== datagrams.length) + throw new Error("wasi-io trap: expected to have sent all the datagrams"); + return BigInt(datagramsSent); + + function doSendBatch() { + return new Promise((resolve, reject) => { + if (socket.remoteAddress) { + if (sendQueueAddress !== socket.remoteAddress || sendQueuePort !== socket.remotePort) + return void reject("invalid-argument"); + udpSocket.send(sendQueue, handler); + } else { + if (!sendQueueAddress) + return void reject("invalid-argument"); + udpSocket.send(sendQueue, sendQueuePort, sendQueueAddress, handler); + } + function handler(err, _sentBytes) { + if (err) { + // TODO: update datagramsSent properly on error for multiple sends + // to enable send batching. Perhaps a Node.js PR could + // still set the second sendBytes arg? + if (datagramsSent > 0) resolve(datagramsSent); + else reject(convertSocketError(err)); + return; + } + datagramsSent += sendQueue.length; + resolve(false); + } + }); + } +} + +function checkSend(socket) { + try { + return Math.floor( + (socket.udpSocket.getSendBufferSize() - + socket.udpSocket.getSendQueueSize()) / + 1500 + ); + } catch (err) { + throw convertSocketError(err); + } +} + +function pollSend(socket) { + socket.pollState.ready = false; + // The only way we have of dealing with getting a backpressure + // ready signal in Node.js is to just poll on the queue reducing. + // Ideally this should implement backoff on the poll interval, + // but that work should be done alongside careful benchmarking + // in due course. + setTimeout(() => { + const remaining = checkSend(socket); + if (remaining > 0) { + pollStateReady(socket.pollState); + } else { + pollSend(socket); + } + }); +} + +export function socketOutgoingDatagramStreamCheckSend(id) { + const { active, socket } = datagramStreams.get(id); + if (!active) + throw new Error( + "wasi-io trap: check send on inactive outgoing datagram stream" + ); + const remaining = checkSend(socket); + if (remaining <= 0) pollSend(socket); + return BigInt(remaining); +} + +function socketDatagramStreamClear(datagramStream) { + datagramStream.active = false; + if (datagramStream.cleanup) { + datagramStream.cleanup(); + datagramStream.cleanup = null; + } +} + +export function socketDatagramStreamDispose(id) { + const datagramStream = datagramStreams.get(id); + datagramStream.active = false; + if (datagramStream.cleanup) { + datagramStream.cleanup(); + datagramStream.cleanup = null; + } + verifyPollsDroppedForDrop(datagramStream.pollState, "datagram stream"); + datagramStreams.delete(id); +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-sockets.js b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-sockets.js new file mode 100644 index 0000000..1ddb308 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-sockets.js @@ -0,0 +1,371 @@ +import { isIP } from "node:net"; +import { lookup } from "node:dns/promises"; +import { Socket } from "node:dgram"; +import { + ALL, + BADFAMILY, + CANCELLED, + CONNREFUSED, + NODATA, + NOMEM, + NONAME, + NOTFOUND, + REFUSED, + SERVFAIL, + TIMEOUT, + V4MAPPED, +} from "node:dns"; +import { + EACCES, + EADDRINUSE, + EADDRNOTAVAIL, + EALREADY, + EBADF, + ECONNABORTED, + ECONNREFUSED, + ECONNRESET, + EINVAL, + ENOBUFS, + ENOMEM, + ENOTCONN, + ENOTSUP, + EPERM, + EWOULDBLOCK, +} from "node:constants"; + +let stateCnt = 0; +export const SOCKET_STATE_INIT = ++stateCnt; +export const SOCKET_STATE_BIND = ++stateCnt; +export const SOCKET_STATE_BOUND = ++stateCnt; +export const SOCKET_STATE_LISTEN = ++stateCnt; +export const SOCKET_STATE_LISTENER = ++stateCnt; +export const SOCKET_STATE_CONNECT = ++stateCnt; +export const SOCKET_STATE_CONNECTION = ++stateCnt; +export const SOCKET_STATE_CLOSED = ++stateCnt; + +const dnsLookupOptions = { + verbatim: true, + all: true, + hints: V4MAPPED | ALL, +}; + +export function noLookup(ip, _opts, cb) { + cb(null, ip); +} + +export function socketResolveAddress(name) { + const isIpNum = isIP( + name[0] === "[" && name[name.length - 1] === "]" ? name.slice(1, -1) : name + ); + if (isIpNum > 0) { + return Promise.resolve([ + { + tag: "ipv" + isIpNum, + val: (isIpNum === 4 ? ipv4ToTuple : ipv6ToTuple)(name), + }, + ]); + } + // verify it is a valid domain name using the URL parser + let parsedUrl = null; + try { + parsedUrl = new URL(`https://${name}`); + if ( + parsedUrl.port.length || + parsedUrl.username.length || + parsedUrl.password.length || + parsedUrl.pathname !== "/" || + parsedUrl.search.length || + parsedUrl.hash.length + ) + parsedUrl = null; + } catch { + // empty + } + if (!parsedUrl) throw "invalid-argument"; + + return lookup(name, dnsLookupOptions).then( + (addresses) => { + return addresses.map(({ address, family }) => { + [ + { + tag: "ipv" + family, + val: (family === 4 ? ipv4ToTuple : ipv6ToTuple)(address), + }, + ]; + }); + }, + (err) => { + switch (err.code) { + // TODO: verify these more carefully + case NODATA: + case BADFAMILY: + case NONAME: + case NOTFOUND: + throw "name-unresolvable"; + case TIMEOUT: + case REFUSED: + case CONNREFUSED: + case SERVFAIL: + case NOMEM: + case CANCELLED: + throw "temporary-resolver-failure"; + default: + throw "permanent-resolver-failure"; + } + } + ); +} + +export function convertSocketError(err) { + switch (err?.code) { + case "EBADF": + case "ENOTCONN": + case "ERR_SOCKET_DGRAM_NOT_CONNECTED": + return "invalid-state"; + case "EACCES": + case "EPERM": + return "access-denied"; + case "ENOTSUP": + return "not-supported"; + case "EINVAL": + return "invalid-argument"; + case "ENOMEM": + case "ENOBUFS": + return "out-of-memory"; + case "EALREADY": + return "concurrency-conflict"; + case "EWOULDBLOCK": + return "would-block"; + // TODO: return "new-socket-limit"; + case "EADDRNOTAVAIL": + return "address-not-bindable"; + case "EADDRINUSE": + return "address-in-use"; + // TODO: return "remote-unreachable"; + case "ECONNREFUSED": + return "connection-refused"; + case "ECONNRESET": + return "connection-reset"; + case "ECONNABORTED": + return "connection-aborted"; + default: + return "unknown"; + } +} + +export function convertSocketErrorCode(code) { + switch (code) { + case 4053: // windows + case 4083: + case ENOTCONN: + case EBADF: + return "invalid-state"; + case EACCES: + case EPERM: + return "access-denied"; + case ENOTSUP: + return "not-supported"; + case EINVAL: + return "invalid-argument"; + case ENOMEM: + case ENOBUFS: + return "out-of-memory"; + case EALREADY: + return "concurrency-conflict"; + case EWOULDBLOCK: + return "would-block"; + // TODO: return "new-socket-limit"; + case 4090: // windows + case EADDRNOTAVAIL: + return "address-not-bindable"; + case 4091: // windows + case EADDRINUSE: + return "address-in-use"; + // TODO: return "remote-unreachable"; + case ECONNREFUSED: + return "connection-refused"; + case ECONNRESET: + return "connection-reset"; + case ECONNABORTED: + return "connection-aborted"; + // TODO: return "datagram-too-large"; + // TODO: return "name-unresolvable"; + // TODO: return "temporary-resolver-failure"; + default: + // process._rawDebug('unknown error code', code); + return "unknown"; + } +} + +/** + * @typedef {import("../../../types/interfaces/wasi-sockets-network.js").IpSocketAddress} IpSocketAddress + * @typedef {import("../../../types/interfaces/wasi-sockets-tcp.js").IpAddressFamily} IpAddressFamily + * @typedef {import("../../../types/interfaces/wasi-sockets-tcp").TcpSocket} TcpSocket + * @typedef {import("../../../types/interfaces/wasi-sockets-udp").UdpSocket} UdpSocket + */ + +export function tupleToIPv6(arr) { + if (arr.length !== 8) { + return null; + } + return arr.map((segment) => segment.toString(16)).join(":"); +} + +export function tupleToIpv4(arr) { + if (arr.length !== 4) { + return null; + } + return arr.map((segment) => segment.toString(10)).join("."); +} + +/** + * @param {IpSocketAddress} ipSocketAddress + * @returns {boolean} + */ +export function isMulticastIpAddress(ipSocketAddress) { + return ( + (ipSocketAddress.tag === "ipv4" && + ipSocketAddress.val.address[0] === 0xe0) || + (ipSocketAddress.tag === "ipv6" && + ipSocketAddress.val.address[0] === 0xff00) + ); +} + +/** + * @param {IpSocketAddress} ipSocketAddress + * @returns {boolean} + */ +export function isIPv4MappedAddress(ipSocketAddress) { + return ( + ipSocketAddress.tag === "ipv6" && ipSocketAddress.val.address[5] === 0xffff + ); +} + +/** + * @param {IpSocketAddress} ipSocketAddress + * @returns {boolean} + */ +export function isUnicastIpAddress(ipSocketAddress) { + return ( + !isMulticastIpAddress(ipSocketAddress) && + !isBroadcastIpAddress(ipSocketAddress) + ); +} + +/** + * @param {IpSocketAddress} isWildcardAddress + * @returns {boolean} + */ +export function isWildcardAddress(ipSocketAddress) { + const { address } = ipSocketAddress.val; + if (ipSocketAddress.tag === "ipv4") + return ( + address[0] === 0 && + address[1] === 0 && + address[2] === 0 && + address[3] === 0 + ); + else + return ( + address[0] === 0 && + address[1] === 0 && + address[2] === 0 && + address[3] === 0 && + address[4] === 0 && + address[5] === 0 && + address[6] === 0 && + address[7] === 0 + ); +} + +/** + * @param {IpSocketAddress} isWildcardAddress + * @returns {boolean} + */ +export function isBroadcastIpAddress(ipSocketAddress) { + const { address } = ipSocketAddress.val; + return ( + ipSocketAddress.tag === "ipv4" && + address[0] === 0xff && + address[1] === 0xff && + address[2] === 0xff && + address[3] === 0xff + ); +} + +/** + * + * @param {IpSocketAddress} addr + * @param {boolean} includePort + * @returns {string} + */ +export function serializeIpAddress(addr) { + if (addr.tag === "ipv4") return tupleToIpv4(addr.val.address); + return tupleToIPv6(addr.val.address); +} + +export function ipv6ToTuple(ipv6) { + const [lhs, rhs = ""] = ipv6.includes("::") ? ipv6.split("::") : [ipv6]; + const lhsParts = lhs === "" ? [] : lhs.split(":"); + const rhsParts = rhs === "" ? [] : rhs.split(":"); + return [ + ...lhsParts, + ...Array(8 - lhsParts.length - rhsParts.length).fill(0), + ...rhsParts, + ].map((segment) => parseInt(segment, 16)); +} + +export function ipv4ToTuple(ipv4) { + return ipv4.split(".").map((segment) => parseInt(segment, 10)); +} + +/** + * + * @param {string} addr + * @param {IpAddressFamily} family + * @returns {IpSocketAddress} + */ +export function ipSocketAddress(family, addr, port) { + if (family === "ipv4") + return { + tag: "ipv4", + val: { + port, + address: ipv4ToTuple(addr) + } + }; + return { + tag: "ipv6", + val: { + port, + flowInfo: 0, + address: ipv6ToTuple(addr), + scopeId: 0 + } + }; +} + +let _recvBufferSize, _sendBufferSize; +async function getDefaultBufferSizes () { + var s = new Socket({ type: 'udp4' }); + s.bind(0); + await new Promise((resolve, reject) => { + s.once('error', reject); + s.once('listening', resolve); + }); + _recvBufferSize = BigInt(s.getRecvBufferSize()); + _sendBufferSize = BigInt(s.getSendBufferSize()); + s.close(); +} + +export async function getDefaultSendBufferSize () { + if (!_sendBufferSize) + await getDefaultBufferSizes(); + return _sendBufferSize; +} + +export async function getDefaultReceiveBufferSize () { + if (!_recvBufferSize) + await getDefaultBufferSizes(); + return _recvBufferSize; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-thread.js b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-thread.js new file mode 100644 index 0000000..58beabb --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/lib/io/worker-thread.js @@ -0,0 +1,963 @@ +import { createReadStream, createWriteStream } from "node:fs"; +import { hrtime, stderr, stdout } from "node:process"; +import { PassThrough } from "node:stream"; +import { format } from "node:util"; +import { runAsWorker } from "../synckit/index.js"; +import { + clearOutgoingResponse, + createHttpRequest, + setOutgoingResponse, + startHttpServer, + stopHttpServer, +} from "./worker-http.js"; +import { Readable } from "node:stream"; +import { read } from "node:fs"; +import { nextTick } from "node:process"; +import { + CALL_MASK, + CALL_TYPE_MASK, + CLOCKS_DURATION_SUBSCRIBE, + CLOCKS_INSTANT_SUBSCRIBE, + FILE, + FUTURE_DISPOSE, + FUTURE_SUBSCRIBE, + FUTURE_TAKE_VALUE, + HTTP, + HTTP_CREATE_REQUEST, + HTTP_OUTGOING_BODY_DISPOSE, + HTTP_OUTPUT_STREAM_FINISH, + HTTP_SERVER_CLEAR_OUTGOING_RESPONSE, + HTTP_SERVER_SET_OUTGOING_RESPONSE, + HTTP_SERVER_START, + HTTP_SERVER_STOP, + INPUT_STREAM_BLOCKING_READ, + INPUT_STREAM_BLOCKING_SKIP, + INPUT_STREAM_CREATE, + INPUT_STREAM_DISPOSE, + INPUT_STREAM_READ, + INPUT_STREAM_SKIP, + INPUT_STREAM_SUBSCRIBE, + OUTPUT_STREAM_BLOCKING_FLUSH, + OUTPUT_STREAM_BLOCKING_SPLICE, + OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH, + OUTPUT_STREAM_BLOCKING_WRITE_ZEROES_AND_FLUSH, + OUTPUT_STREAM_CHECK_WRITE, + OUTPUT_STREAM_CREATE, + OUTPUT_STREAM_DISPOSE, + OUTPUT_STREAM_FLUSH, + OUTPUT_STREAM_SPLICE, + OUTPUT_STREAM_SUBSCRIBE, + OUTPUT_STREAM_WRITE, + OUTPUT_STREAM_WRITE_ZEROES, + POLL_POLLABLE_BLOCK, + POLL_POLLABLE_DISPOSE, + POLL_POLLABLE_READY, + POLL_POLL_LIST, + SOCKET_RESOLVE_ADDRESS_CREATE_REQUEST, + SOCKET_RESOLVE_ADDRESS_SUBSCRIBE_REQUEST, + SOCKET_RESOLVE_ADDRESS_DISPOSE_REQUEST, + SOCKET_RESOLVE_ADDRESS_TAKE_REQUEST, + SOCKET_GET_DEFAULT_RECEIVE_BUFFER_SIZE, + SOCKET_GET_DEFAULT_SEND_BUFFER_SIZE, + SOCKET_TCP_ACCEPT, + SOCKET_TCP_BIND_FINISH, + SOCKET_TCP_BIND_START, + SOCKET_TCP_CONNECT_FINISH, + SOCKET_TCP_CONNECT_START, + SOCKET_TCP_CREATE_HANDLE, + SOCKET_TCP_DISPOSE, + SOCKET_TCP_GET_LOCAL_ADDRESS, + SOCKET_TCP_GET_REMOTE_ADDRESS, + SOCKET_TCP_IS_LISTENING, + SOCKET_TCP_LISTEN_FINISH, + SOCKET_TCP_LISTEN_START, + SOCKET_TCP_SET_KEEP_ALIVE, + SOCKET_TCP_SET_LISTEN_BACKLOG_SIZE, + SOCKET_TCP_SHUTDOWN, + SOCKET_TCP_SUBSCRIBE, + SOCKET_UDP_BIND_FINISH, + SOCKET_UDP_BIND_START, + SOCKET_UDP_CREATE_HANDLE, + SOCKET_UDP_DISPOSE, + SOCKET_UDP_GET_LOCAL_ADDRESS, + SOCKET_UDP_GET_RECEIVE_BUFFER_SIZE, + SOCKET_UDP_GET_REMOTE_ADDRESS, + SOCKET_UDP_GET_SEND_BUFFER_SIZE, + SOCKET_UDP_GET_UNICAST_HOP_LIMIT, + SOCKET_UDP_SET_RECEIVE_BUFFER_SIZE, + SOCKET_UDP_SET_SEND_BUFFER_SIZE, + SOCKET_UDP_SET_UNICAST_HOP_LIMIT, + SOCKET_UDP_STREAM, + SOCKET_UDP_SUBSCRIBE, + SOCKET_INCOMING_DATAGRAM_STREAM_RECEIVE, + SOCKET_OUTGOING_DATAGRAM_STREAM_CHECK_SEND, + SOCKET_OUTGOING_DATAGRAM_STREAM_SEND, + SOCKET_DATAGRAM_STREAM_SUBSCRIBE, + SOCKET_DATAGRAM_STREAM_DISPOSE, + STDERR, + STDIN, + STDOUT, + reverseMap, +} from "./calls.js"; +import { + SOCKET_STATE_BIND, + SOCKET_STATE_BOUND, + SOCKET_STATE_CONNECT, + SOCKET_STATE_CONNECTION, + SOCKET_STATE_LISTEN, + SOCKET_STATE_LISTENER, + socketResolveAddress, + getDefaultSendBufferSize, + getDefaultReceiveBufferSize, +} from "./worker-sockets.js"; +import { + createTcpSocket, + socketTcpAccept, + socketTcpBindStart, + socketTcpConnectStart, + socketTcpDispose, + socketTcpFinish, + socketTcpGetLocalAddress, + socketTcpGetRemoteAddress, + socketTcpListenStart, + socketTcpSetKeepAlive, + socketTcpSetListenBacklogSize, + socketTcpShutdown, + tcpSockets, +} from "./worker-socket-tcp.js"; +import { + createUdpSocket, + datagramStreams, + socketDatagramStreamDispose, + socketIncomingDatagramStreamReceive, + socketOutgoingDatagramStreamCheckSend, + socketOutgoingDatagramStreamSend, + socketUdpBindFinish, + socketUdpBindStart, + socketUdpDispose, + socketUdpGetLocalAddress, + socketUdpGetReceiveBufferSize, + socketUdpGetRemoteAddress, + socketUdpGetSendBufferSize, + socketUdpGetUnicastHopLimit, + socketUdpSetReceiveBufferSize, + socketUdpSetSendBufferSize, + socketUdpSetUnicastHopLimit, + socketUdpStream, + udpSockets, +} from "./worker-socket-udp.js"; +import process from "node:process"; + +function log(msg) { + if (debug) process._rawDebug(msg); +} + +let pollCnt = 0, + streamCnt = 0, + futureCnt = 0; + +/** + * @typedef {{ + * ready: bool, + * listener: () => void | null, + * polls: number[], + * parentStream: null | NodeJS.ReadableStream + * }} PollState + * + * @typedef {{ + * stream: NodeJS.ReadableStream | NodeJS.WritableStream, + * flushPromise: Promise | null, + * pollState + * }} Stream + * + * @typedef {{ + * future: { + * tag: 'ok' | 'err', + * val: any, + * }, + * pollState + * }} Future + */ + +/** @type {Map} */ +export const polls = new Map(); + +/** @type {Map} */ +export const streams = new Map(); + +/** @type {Map} */ +export const futures = new Map(); + +export function createReadableStreamPollState(nodeStream) { + const pollState = { + ready: true, + listener: null, + polls: [], + parentStream: nodeStream, + }; + function pollDone() { + pollStateReady(pollState); + nodeStream.off("end", pollDone); + nodeStream.off("close", pollDone); + nodeStream.off("error", pollDone); + } + nodeStream.on("end", pollDone); + nodeStream.on("close", pollDone); + nodeStream.on("error", pollDone); + return pollState; +} + +/** + * @param {NodeJS.ReadableStream | NodeJS.WritableStream} stream + */ +export function createReadableStream( + nodeStream, + pollState = createReadableStreamPollState(nodeStream) +) { + const stream = { + stream: nodeStream, + flushPromise: null, + pollState, + }; + streams.set(++streamCnt, stream); + return streamCnt; +} + +export function createWritableStream(nodeStream) { + const pollState = { + ready: true, + listener: null, + polls: [], + parentStream: null, + }; + const stream = { + stream: nodeStream, + flushPromise: null, + pollState, + }; + streams.set(++streamCnt, stream); + function pollReady() { + pollStateReady(pollState); + } + function pollDone() { + pollStateReady(pollState); + nodeStream.off("drain", pollReady); + nodeStream.off("finish", pollDone); + nodeStream.off("error", pollDone); + nodeStream.off("close", pollDone); + } + nodeStream.on("drain", pollReady); + nodeStream.on("finish", pollDone); + nodeStream.on("error", pollDone); + nodeStream.on("close", pollDone); + return streamCnt; +} + +// Stdio +// Stdin created when used +createWritableStream(stdout); +createWritableStream(stderr); + +/** + * @param {number} streamId + * @param {NodeJS.ReadableStream | NodeJS.WritableStream} stream + */ +function streamError(err) { + return { + tag: "last-operation-failed", + val: { code: err.code, message: err.message, stack: err.stack }, + }; +} + +/** + * @param {number} streamId + * @returns {{ stream: NodeJS.ReadableStream | NodeJS.WritableStream, polls: number[] }} + */ +export function getStreamOrThrow(streamId) { + if (!streamId) throw new Error("wasi-io trap: no stream id provided"); + const stream = streams.get(streamId); + // not in unfinished streams <=> closed + if (!stream) throw { tag: "closed" }; + if (stream.stream.errored) throw streamError(stream.stream.errored); + if (stream.stream.closed) { + throw { tag: "closed" }; + } + return stream; +} + +/** + * @param {number} call + * @param {number | null} id + * @param {any} payload + * @returns {Promise} + */ +function handle(call, id, payload) { + if (uncaughtException) throw uncaughtException; + switch (call) { + // Http + case HTTP_CREATE_REQUEST: { + const { + method, + scheme, + authority, + pathWithQuery, + headers, + body, + connectTimeout, + betweenBytesTimeout, + firstByteTimeout, + } = payload; + return createFuture( + createHttpRequest( + method, + scheme, + authority, + pathWithQuery, + headers, + body, + connectTimeout, + betweenBytesTimeout, + firstByteTimeout + ) + ); + } + case OUTPUT_STREAM_CREATE | HTTP: { + const stream = new PassThrough(); + // content length is passed as payload + stream.contentLength = payload; + stream.bytesRemaining = payload; + return createWritableStream(stream); + } + case OUTPUT_STREAM_SUBSCRIBE | HTTP: + case OUTPUT_STREAM_FLUSH | HTTP: + case OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH | HTTP: { + // http flush is a noop + const { stream } = getStreamOrThrow(id); + if (call === (OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH | HTTP)) { + stream.bytesRemaining -= payload.byteLength; + if (stream.bytesRemaining < 0) { + throw { + tag: "last-operation-failed", + val: { + tag: "HTTP-request-body-size", + val: stream.contentLength - stream.bytesRemaining, + }, + }; + } + } + // otherwise fall through to generic implementation + return handle(call & ~HTTP, id, payload); + } + case OUTPUT_STREAM_WRITE | HTTP: { + const { stream } = getStreamOrThrow(id); + stream.bytesRemaining -= payload.byteLength; + if (stream.bytesRemaining < 0) { + throw { + tag: "last-operation-failed", + val: { + tag: "HTTP-request-body-size", + val: stream.contentLength - stream.bytesRemaining, + }, + }; + } + const output = handle(OUTPUT_STREAM_WRITE, id, payload); + return output; + } + case OUTPUT_STREAM_DISPOSE | HTTP: + throw new Error( + "wasi-io trap: Output stream dispose not implemented as an IO-call for HTTP" + ); + case HTTP_OUTPUT_STREAM_FINISH: { + let stream; + try { + ({ stream } = getStreamOrThrow(id)); + } catch (e) { + if (e.tag === "closed") + throw { tag: "internal-error", val: "stream closed" }; + if (e.tag === "last-operation-failed") + throw { tag: "internal-error", val: e.val.message }; + } + if (stream.bytesRemaining > 0) { + throw { + tag: "HTTP-request-body-size", + val: stream.contentLength - stream.bytesRemaining, + }; + } + if (stream.bytesRemaining < 0) { + throw { + tag: "HTTP-request-body-size", + val: stream.contentLength - stream.bytesRemaining, + }; + } + stream.end(); + return; + } + case HTTP_OUTGOING_BODY_DISPOSE: + if (!streams.delete(id)) + throw new Error("wasi-io trap: stream not found to dispose"); + return; + case HTTP_SERVER_START: + return startHttpServer(id, payload); + case HTTP_SERVER_STOP: + return stopHttpServer(id); + case HTTP_SERVER_SET_OUTGOING_RESPONSE: + return setOutgoingResponse(id, payload); + case HTTP_SERVER_CLEAR_OUTGOING_RESPONSE: + return clearOutgoingResponse(id); + + // Sockets name resolution + case SOCKET_RESOLVE_ADDRESS_CREATE_REQUEST: + return createFuture(socketResolveAddress(payload)); + case SOCKET_RESOLVE_ADDRESS_SUBSCRIBE_REQUEST: + return createPoll(futures.get(id).pollState); + case SOCKET_RESOLVE_ADDRESS_DISPOSE_REQUEST: + return void futureDispose(id, true); + case SOCKET_RESOLVE_ADDRESS_TAKE_REQUEST: { + const val = futureTakeValue(id); + if (val === undefined) throw "would-block"; + // double take avoidance is ensured + return val.val; + } + + // Sockets TCP + case SOCKET_TCP_ACCEPT: + return socketTcpAccept(id); + case SOCKET_TCP_CREATE_HANDLE: + return createTcpSocket(); + case SOCKET_TCP_BIND_START: + return socketTcpBindStart(id, payload.localAddress, payload.family); + case SOCKET_TCP_BIND_FINISH: + return socketTcpFinish(id, SOCKET_STATE_BIND, SOCKET_STATE_BOUND); + case SOCKET_TCP_CONNECT_START: + return socketTcpConnectStart(id, payload.remoteAddress, payload.family); + case SOCKET_TCP_CONNECT_FINISH: + return socketTcpFinish(id, SOCKET_STATE_CONNECT, SOCKET_STATE_CONNECTION); + case SOCKET_TCP_LISTEN_START: + return socketTcpListenStart(id); + case SOCKET_TCP_LISTEN_FINISH: + return socketTcpFinish(id, SOCKET_STATE_LISTEN, SOCKET_STATE_LISTENER); + case SOCKET_TCP_IS_LISTENING: + return tcpSockets.get(id).state === SOCKET_STATE_LISTENER; + case SOCKET_GET_DEFAULT_SEND_BUFFER_SIZE: + return getDefaultSendBufferSize(id); + case SOCKET_GET_DEFAULT_RECEIVE_BUFFER_SIZE: + return getDefaultReceiveBufferSize(id); + case SOCKET_TCP_SET_LISTEN_BACKLOG_SIZE: + return socketTcpSetListenBacklogSize(id); + case SOCKET_TCP_GET_LOCAL_ADDRESS: + return socketTcpGetLocalAddress(id); + case SOCKET_TCP_GET_REMOTE_ADDRESS: + return socketTcpGetRemoteAddress(id); + case SOCKET_TCP_SHUTDOWN: + return socketTcpShutdown(id, payload); + case SOCKET_TCP_SUBSCRIBE: + return createPoll(tcpSockets.get(id).pollState); + case SOCKET_TCP_SET_KEEP_ALIVE: + return socketTcpSetKeepAlive(id, payload); + case SOCKET_TCP_DISPOSE: + return socketTcpDispose(id); + + // Sockets UDP + case SOCKET_UDP_CREATE_HANDLE: + return createUdpSocket(payload); + case SOCKET_UDP_BIND_START: + return socketUdpBindStart(id, payload.localAddress, payload.family); + case SOCKET_UDP_BIND_FINISH: + return socketUdpBindFinish(id); + case SOCKET_UDP_STREAM: + return socketUdpStream(id, payload); + case SOCKET_UDP_SUBSCRIBE: + return createPoll(udpSockets.get(id).pollState); + case SOCKET_UDP_GET_LOCAL_ADDRESS: + return socketUdpGetLocalAddress(id); + case SOCKET_UDP_GET_REMOTE_ADDRESS: + return socketUdpGetRemoteAddress(id); + case SOCKET_UDP_SET_RECEIVE_BUFFER_SIZE: + return socketUdpSetReceiveBufferSize(id, payload); + case SOCKET_UDP_SET_SEND_BUFFER_SIZE: + return socketUdpSetSendBufferSize(id, payload); + case SOCKET_UDP_SET_UNICAST_HOP_LIMIT: + return socketUdpSetUnicastHopLimit(id, payload); + case SOCKET_UDP_GET_RECEIVE_BUFFER_SIZE: + return socketUdpGetReceiveBufferSize(id); + case SOCKET_UDP_GET_SEND_BUFFER_SIZE: + return socketUdpGetSendBufferSize(id); + case SOCKET_UDP_GET_UNICAST_HOP_LIMIT: + return socketUdpGetUnicastHopLimit(id); + case SOCKET_UDP_DISPOSE: + return socketUdpDispose(id); + + case SOCKET_INCOMING_DATAGRAM_STREAM_RECEIVE: + return socketIncomingDatagramStreamReceive(id, payload); + case SOCKET_OUTGOING_DATAGRAM_STREAM_CHECK_SEND: + return socketOutgoingDatagramStreamCheckSend(id); + case SOCKET_OUTGOING_DATAGRAM_STREAM_SEND: + return socketOutgoingDatagramStreamSend(id, payload); + case SOCKET_DATAGRAM_STREAM_SUBSCRIBE: + return createPoll(datagramStreams.get(id).pollState); + case SOCKET_DATAGRAM_STREAM_DISPOSE: + return socketDatagramStreamDispose(id); + + // Stdio + case OUTPUT_STREAM_BLOCKING_FLUSH | STDOUT: + case OUTPUT_STREAM_BLOCKING_FLUSH | STDERR: + // no blocking flush for stdio in Node.js + return; + case OUTPUT_STREAM_DISPOSE | STDOUT: + case OUTPUT_STREAM_DISPOSE | STDERR: + return; + case INPUT_STREAM_CREATE | STDIN: { + return createReadableStream( + new Readable({ + read(n) { + if (n <= 0) return void this.push(null); + let buf = Buffer.allocUnsafeSlow(n); + read(0, buf, 0, n, null, (err, bytesRead) => { + if (err) { + if (err.code === "EAGAIN") { + nextTick(() => void this._read(n)); + return; + } + this.destroy(err); + } else if (bytesRead > 0) { + if (bytesRead !== buf.length) { + const dst = Buffer.allocUnsafeSlow(bytesRead); + buf.copy(dst, 0, 0, bytesRead); + buf = dst; + } + this.push(buf); + } else { + this.push(null); + } + }); + }, + }) + ); + } + + // Clocks + case CLOCKS_DURATION_SUBSCRIBE: + payload = hrtime.bigint() + payload; + // fallthrough + case CLOCKS_INSTANT_SUBSCRIBE: { + const pollState = { + ready: false, + listener: null, + polls: [], + parentStream: null, + }; + subscribeInstant(pollState, payload); + return createPoll(pollState); + } + + // Filesystem + case INPUT_STREAM_CREATE | FILE: { + const { fd, offset } = payload; + const stream = createReadStream(null, { + fd, + autoClose: false, + highWaterMark: 64 * 1024, + start: Number(offset), + }); + return createReadableStream(stream); + } + case OUTPUT_STREAM_CREATE | FILE: { + const { fd, offset } = payload; + const stream = createWriteStream(null, { + fd, + autoClose: false, + emitClose: false, + highWaterMark: 64 * 1024, + start: Number(offset), + }); + return createWritableStream(stream); + } + } + + // Generic call implementations (streams + polls) + switch (call & CALL_MASK) { + case INPUT_STREAM_READ: { + const stream = getStreamOrThrow(id); + if (!stream.pollState.ready) return new Uint8Array(); + const res = stream.stream.read( + Math.min(stream.stream.readableLength, Number(payload)) + ); + if (res) return res; + if (stream.stream.readableEnded) throw { tag: "closed" }; + return new Uint8Array(); + } + case INPUT_STREAM_BLOCKING_READ: { + const { pollState } = streams.get(id); + pollStateCheck(pollState); + if (pollState.ready) + return handle(INPUT_STREAM_READ | (call & CALL_TYPE_MASK), id, payload); + return new Promise((resolve) => void (pollState.listener = resolve)).then( + () => handle(INPUT_STREAM_READ | (call & CALL_TYPE_MASK), id, payload) + ); + } + case INPUT_STREAM_SKIP: + return handle( + INPUT_STREAM_READ | (call & CALL_TYPE_MASK), + id, + new Uint8Array(Number(payload)) + ); + case INPUT_STREAM_BLOCKING_SKIP: + return handle( + INPUT_STREAM_BLOCKING_READ | (call & CALL_TYPE_MASK), + id, + new Uint8Array(Number(payload)) + ); + case INPUT_STREAM_SUBSCRIBE: + return createPoll(streams.get(id).pollState); + case INPUT_STREAM_DISPOSE: { + const stream = streams.get(id); + verifyPollsDroppedForDrop(stream.pollState, "input stream"); + streams.delete(id); + return; + } + case OUTPUT_STREAM_CHECK_WRITE: { + const { stream, pollState } = getStreamOrThrow(id); + const bytes = stream.writableHighWaterMark - stream.writableLength; + if (bytes === 0) pollState.ready = false; + return BigInt(bytes); + } + case OUTPUT_STREAM_WRITE: { + const { stream } = getStreamOrThrow(id); + if ( + payload.byteLength > + stream.writableHighWaterMark - stream.writableLength + ) + throw new Error("wasi-io trap: attempt to write too many bytes"); + return void stream.write(payload); + } + case OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH: { + const stream = getStreamOrThrow(id); + // if an existing flush, try again after that + if (stream.flushPromise) + return stream.flushPromise.then(() => handle(call, id, payload)); + if ( + payload.byteLength > + stream.stream.writableHighWaterMark - stream.stream.writableLength + ) { + new Error( + "wasi-io trap: Cannot write more than permitted writable length" + ); + } + stream.pollState.ready = false; + return (stream.flushPromise = new Promise((resolve, reject) => { + stream.stream.write(payload, (err) => { + stream.flushPromise = null; + pollStateReady(stream.pollState); + if (err) return void reject(streamError(err)); + resolve(BigInt(payload.byteLength)); + }); + })); + } + case OUTPUT_STREAM_FLUSH: { + const stream = getStreamOrThrow(id); + if (stream.flushPromise) return; + stream.pollState.ready = false; + return (stream.flushPromise = new Promise((resolve, reject) => { + stream.stream.write(new Uint8Array([]), (err) => { + stream.flushPromise = null; + pollStateReady(stream.pollState); + if (err) return void reject(streamError(err)); + resolve(); + }); + })); + } + case OUTPUT_STREAM_BLOCKING_FLUSH: { + const stream = getStreamOrThrow(id); + if (stream.flushPromise) return stream.flushPromise; + return new Promise((resolve, reject) => { + stream.stream.write(new Uint8Array([]), (err) => + err ? reject(streamError(err)) : resolve() + ); + }); + } + case OUTPUT_STREAM_WRITE_ZEROES: + return handle( + OUTPUT_STREAM_WRITE | (call & CALL_TYPE_MASK), + id, + new Uint8Array(Number(payload)) + ); + case OUTPUT_STREAM_BLOCKING_WRITE_ZEROES_AND_FLUSH: + return handle( + OUTPUT_STREAM_BLOCKING_WRITE_AND_FLUSH | (call & CALL_TYPE_MASK), + id, + new Uint8Array(Number(payload)) + ); + case OUTPUT_STREAM_SPLICE: { + const outputStream = getStreamOrThrow(id); + const inputStream = getStreamOrThrow(payload.src); + let bytesRemaining = Number(payload.len); + let chunk; + while ( + bytesRemaining > 0 && + (chunk = inputStream.stream.read( + Math.min( + outputStream.writableHighWaterMark - outputStream.writableLength, + bytesRemaining + ) + )) + ) { + bytesRemaining -= chunk.byteLength; + outputStream.stream.write(chunk); + } + if (inputStream.stream.errored) + throw streamError(inputStream.stream.errored); + if (outputStream.stream.errored) + throw streamError(outputStream.stream.errored); + return payload.len - BigInt(bytesRemaining); + } + case OUTPUT_STREAM_SUBSCRIBE: + return createPoll(streams.get(id).pollState); + case OUTPUT_STREAM_BLOCKING_SPLICE: { + const outputStream = getStreamOrThrow(id); + let promise = Promise.resolve(); + let resolve, reject; + if (outputStream.stream.writableNeedDrain) { + promise = new Promise((_resolve, _reject) => { + outputStream.stream + .once("drain", (resolve = _resolve)) + .once("error", (reject = _reject)); + }).then( + () => { + outputStream.stream.off("error", reject); + }, + (err) => { + outputStream.stream.off("drain", resolve); + throw streamError(err); + } + ); + } + const inputStream = getStreamOrThrow(payload.src); + if (!inputStream.stream.readable) { + promise = promise.then(() => + new Promise((_resolve, _reject) => { + inputStream.stream + .once("readable", (resolve = _resolve)) + .once("error", (reject = _reject)); + }).then( + () => { + inputStream.stream.off("error", reject); + }, + (err) => { + inputStream.stream.off("readable", resolve); + throw streamError(err); + } + ) + ); + } + return promise.then(() => handle(OUTPUT_STREAM_SPLICE, id, payload)); + } + case OUTPUT_STREAM_DISPOSE: { + const stream = streams.get(id); + verifyPollsDroppedForDrop(stream.pollState, "output stream"); + stream.stream.end(); + streams.delete(id); + return; + } + + case POLL_POLLABLE_READY: + return polls.get(id).ready; + case POLL_POLLABLE_BLOCK: + payload = [id]; + // [intentional case fall-through] + case POLL_POLL_LIST: { + if (payload.length === 0) + throw new Error("wasi-io trap: attempt to poll on empty list"); + const doneList = []; + const pollList = payload.map((pollId) => polls.get(pollId)); + for (const [idx, pollState] of pollList.entries()) { + pollStateCheck(pollState); + if (pollState.ready) doneList.push(idx); + } + if (doneList.length > 0) { + return new Uint32Array(doneList); + } + let readyPromiseResolve; + const readyPromise = new Promise( + (resolve) => void (readyPromiseResolve = resolve) + ); + for (const poll of pollList) { + poll.listener = readyPromiseResolve; + } + return readyPromise.then(() => { + for (const [idx, pollState] of pollList.entries()) { + pollState.listener = null; + if (pollState.ready) doneList.push(idx); + } + return new Uint32Array(doneList); + }); + } + case POLL_POLLABLE_DISPOSE: + if (!polls.delete(id)) + throw new Error( + `wasi-io trap: Disposed a poll ${id} that does not exist` + ); + return; + + case FUTURE_TAKE_VALUE: + return futureTakeValue(id); + + case FUTURE_SUBSCRIBE: { + const { pollState } = futures.get(id); + const pollId = ++pollCnt; + polls.set(pollId, pollState); + return pollId; + } + case FUTURE_DISPOSE: + return void futureDispose(id, true); + default: + throw new Error( + `wasi-io trap: Unknown call ${call} (${reverseMap[call]}) with type ${ + reverseMap[call & CALL_TYPE_MASK] + }` + ); + } +} + +/** + * @param {PollState} pollState + */ +function createPoll(pollState) { + const pollId = ++pollCnt; + pollState.polls.push(pollId); + polls.set(pollId, pollState); + return pollId; +} + +function subscribeInstant(pollState, instant) { + const duration = instant - hrtime.bigint(); + if (duration <= 0) return pollStateReady(pollState); + function cb() { + if (hrtime.bigint() < instant) return subscribeInstant(pollState, instant); + pollStateReady(pollState); + } + if (duration < 10e6) setImmediate(cb); + else setTimeout(cb, Number(duration) / 1e6); +} + +/** + * @param {PollState} pollState + * @param {string} polledResourceDebugName + */ +export function verifyPollsDroppedForDrop(pollState, polledResourceDebugName) { + for (const pollId of pollState.polls) { + const poll = polls.get(pollId); + if (poll) + throw new Error( + `wasi-io trap: Cannot drop ${polledResourceDebugName} as it has a child poll resource which has not yet been dropped` + ); + } +} + +/** + * @param {PollState} pollState + * @param {bool} finished + */ +export function pollStateReady(pollState) { + if (pollState.ready && pollState.listener) { + uncaughtException = new Error( + "wasi-io trap: poll already ready with listener attached" + ); + } + pollState.ready = true; + if (pollState.listener) { + pollState.listener(); + pollState.listener = null; + } +} + +/** + * @param {PollState} pollState + */ +function pollStateCheck(pollState) { + if (pollState.ready && pollState.parentStream) { + // stream ONLY applies to readable streams here + const stream = pollState.parentStream; + const res = stream.read(0); + if (res !== null) { + throw new Error("wasi-io trap: got data for a null read"); + } + if ( + pollState.ready && + stream.readableLength === 0 && + !stream.readableEnded && + !stream.errored + ) { + pollState.ready = false; + stream.once("readable", () => { + pollStateReady(pollState); + }); + } + } +} + +/** + * + * @param {Promise} promise + * @param {PollState | undefined} pollState + * @returns {number} + */ +export function createFuture(promise, pollState) { + const futureId = ++futureCnt; + if (pollState) { + pollState.ready = false; + } else { + pollState = { + ready: false, + listener: null, + polls: [], + parent: null, + }; + } + const future = { tag: "ok", val: null }; + futures.set(futureId, { future, pollState }); + promise.then( + (value) => { + pollStateReady(pollState); + future.val = value; + }, + (value) => { + pollStateReady(pollState); + future.tag = "err"; + future.val = value; + } + ); + return futureId; +} + +/** + * @param {number} id + * @returns {undefined | { tag: 'ok', val: any } | { tag: 'err', val: undefined }} + * @throws {undefined} + */ +export function futureTakeValue(id) { + const future = futures.get(id); + // Not ready = return undefined + if (!future.pollState.ready) return undefined; + // Ready but already taken = return { tag: 'err', val: undefined } + if (!future.future) return { tag: "err", val: undefined }; + const out = { tag: "ok", val: future.future }; + future.future = null; + return out; +} + +export function futureDispose(id, ownsState) { + const { pollState } = futures.get(id); + if (ownsState) verifyPollsDroppedForDrop(pollState, "future"); + return void futures.delete(id); +} + +let uncaughtException; +process.on("uncaughtException", (err) => (uncaughtException = err)); + +// eslint-disable-next-line no-unused-vars +function trace(msg) { + const tmpErr = new Error(format(msg)); + log(tmpErr.stack); +} + +const debug = runAsWorker(handle); diff --git a/demo/dist/@bytecodealliance/preview2-shim/package.json b/demo/dist/@bytecodealliance/preview2-shim/package.json new file mode 100644 index 0000000..77d6137 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/package.json @@ -0,0 +1,39 @@ +{ + "name": "@bytecodealliance/preview2-shim", + "version": "0.17.0", + "description": "WASI Preview2 shim for JS environments", + "author": "Guy Bedford, Eduardo Rodrigues<16357187+eduardomourar@users.noreply.github.com>", + "type": "module", + "types": "./types/index.d.ts", + "exports": { + ".": { + "types": "./types/index.d.ts", + "node": "./lib/nodejs/index.js", + "default": "./lib/browser/index.js" + }, + "./*": { + "types": "./types/*.d.ts", + "node": "./lib/nodejs/*.js", + "default": "./lib/browser/*.js" + } + }, + "scripts": { + "test": "node --expose-gc ../../node_modules/mocha/bin/mocha.js -u tdd test/test.js --timeout 30000" + }, + "files": [ + "types", + "lib" + ], + "devDependencies": { + "mocha": "^10.2.0" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/bytecodealliance/jco.git" + }, + "license": "(Apache-2.0 WITH LLVM-exception)", + "bugs": { + "url": "https://github.com/bytecodealliance/jco/issues" + }, + "homepage": "https://github.com/bytecodealliance/jco#readme" +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/cli.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/cli.d.ts new file mode 100644 index 0000000..51ab366 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/cli.d.ts @@ -0,0 +1,23 @@ +import type { WasiCliEnvironment } from './interfaces/wasi-cli-environment.d.ts'; +import type { WasiCliExit } from './interfaces/wasi-cli-exit.d.ts'; +import type { WasiCliRun } from './interfaces/wasi-cli-run.d.ts'; +import type { WasiCliStderr } from './interfaces/wasi-cli-stderr.d.ts'; +import type { WasiCliStdin } from './interfaces/wasi-cli-stdin.d.ts'; +import type { WasiCliStdout } from './interfaces/wasi-cli-stdout.d.ts'; +import type { WasiCliTerminalInput } from './interfaces/wasi-cli-terminal-input.d.ts'; +import type { WasiCliTerminalOutput } from './interfaces/wasi-cli-terminal-output.d.ts'; +import type { WasiCliTerminalStderr } from './interfaces/wasi-cli-terminal-stderr.d.ts'; +import type { WasiCliTerminalStdin } from './interfaces/wasi-cli-terminal-stdin.d.ts'; +import type { WasiCliTerminalStdout } from './interfaces/wasi-cli-terminal-stdout.d.ts'; + +export const environment: typeof WasiCliEnvironment; +export const exit: typeof WasiCliExit; +export const run: typeof WasiCliRun; +export const stderr: typeof WasiCliStderr; +export const stdin: typeof WasiCliStdin; +export const stdout: typeof WasiCliStdout; +export const terminalInput: typeof WasiCliTerminalInput; +export const terminalOutput: typeof WasiCliTerminalOutput; +export const terminalStderr: typeof WasiCliTerminalStderr; +export const terminalStdin: typeof WasiCliTerminalStdin; +export const terminalStdout: typeof WasiCliTerminalStdout; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/clocks.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/clocks.d.ts new file mode 100644 index 0000000..7d615e4 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/clocks.d.ts @@ -0,0 +1,5 @@ +import type { WasiClocksMonotonicClock } from './interfaces/wasi-clocks-monotonic-clock.d.ts'; +import type { WasiClocksWallClock } from './interfaces/wasi-clocks-wall-clock.d.ts'; + +export const wallClock: typeof WasiClocksWallClock; +export const monotonicClock: typeof WasiClocksMonotonicClock; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/filesystem.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/filesystem.d.ts new file mode 100644 index 0000000..732da3d --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/filesystem.d.ts @@ -0,0 +1,5 @@ +import type { WasiFilesystemPreopens } from './interfaces/wasi-filesystem-preopens.d.ts'; +import type { WasiFilesystemTypes } from './interfaces/wasi-filesystem-types.d.ts'; + +export const preopens: typeof WasiFilesystemPreopens; +export const types: typeof WasiFilesystemTypes; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/http.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/http.d.ts new file mode 100644 index 0000000..c861d75 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/http.d.ts @@ -0,0 +1,7 @@ +import type { WasiHttpIncomingHandler } from './interfaces/wasi-http-incoming-handler.d.ts'; +import type { WasiHttpOutgoingHandler } from './interfaces/wasi-http-outgoing-handler.d.ts'; +import type { WasiHttpTypes } from './interfaces/wasi-http-types.d.ts'; + +export const incomingHandler: typeof WasiHttpIncomingHandler; +export const outgoingHandler: typeof WasiHttpOutgoingHandler; +export const types: typeof WasiHttpTypes; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/index.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/index.d.ts new file mode 100644 index 0000000..d3c5f23 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/index.d.ts @@ -0,0 +1,15 @@ +import type * as WasiCli from "./cli.d.ts"; +import type * as WasiClocks from './clocks.d.ts'; +import type * as WasiFilesystem from './filesystem.d.ts'; +import type * as WasiHttp from "./http.d.ts"; +import type * as WasiIo from "./io.d.ts"; +import type * as WasiRandom from "./random.d.ts"; +import type * as WasiSockets from "./sockets.d.ts"; + +export const cli: typeof WasiCli; +export const clocks: typeof WasiClocks; +export const filesystem: typeof WasiFilesystem; +export const http: typeof WasiHttp; +export const io: typeof WasiIo; +export const random: typeof WasiRandom; +export const sockets: typeof WasiSockets; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-environment.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-environment.d.ts new file mode 100644 index 0000000..3bdbdfd --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-environment.d.ts @@ -0,0 +1,22 @@ +export namespace WasiCliEnvironment { + /** + * Get the POSIX-style environment variables. + * + * Each environment variable is provided as a pair of string variable names + * and string value. + * + * Morally, these are a value import, but until value imports are available + * in the component model, this import function should return the same + * values each time it is called. + */ + export function getEnvironment(): Array<[string, string]>; + /** + * Get the POSIX-style arguments to the program. + */ + export function getArguments(): Array; + /** + * Return a path that programs should use as their initial current working + * directory, interpreting `.` as shorthand for this. + */ + export function initialCwd(): string | undefined; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-exit.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-exit.d.ts new file mode 100644 index 0000000..a2dae29 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-exit.d.ts @@ -0,0 +1,7 @@ +export namespace WasiCliExit { + /** + * Exit the current instance and any linked instances. + */ + export function exit(status: Result): void; +} +export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-run.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-run.d.ts new file mode 100644 index 0000000..9634b76 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-run.d.ts @@ -0,0 +1,6 @@ +export namespace WasiCliRun { + /** + * Run the program. + */ + export function run(): void; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stderr.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stderr.d.ts new file mode 100644 index 0000000..8b2c03a --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stderr.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliStderr { + export function getStderr(): OutputStream; +} +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdin.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdin.d.ts new file mode 100644 index 0000000..4da24cd --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdin.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliStdin { + export function getStdin(): InputStream; +} +import type { InputStream } from './wasi-io-streams.js'; +export { InputStream }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdout.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdout.d.ts new file mode 100644 index 0000000..17aa5a7 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-stdout.d.ts @@ -0,0 +1,5 @@ +export namespace WasiCliStdout { + export function getStdout(): OutputStream; +} +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-input.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-input.d.ts new file mode 100644 index 0000000..3944c2e --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-input.d.ts @@ -0,0 +1,6 @@ +export namespace WasiCliTerminalInput { + export { TerminalInput }; +} + +export class TerminalInput { +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-output.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-output.d.ts new file mode 100644 index 0000000..cb1055f --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-output.d.ts @@ -0,0 +1,6 @@ +export namespace WasiCliTerminalOutput { + export { TerminalOutput }; +} + +export class TerminalOutput { +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts new file mode 100644 index 0000000..6bf6c26 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stderr.d.ts @@ -0,0 +1,9 @@ +export namespace WasiCliTerminalStderr { + /** + * If stderr is connected to a terminal, return a `terminal-output` handle + * allowing further interaction with it. + */ + export function getTerminalStderr(): TerminalOutput | undefined; +} +import type { TerminalOutput } from './wasi-cli-terminal-output.js'; +export { TerminalOutput }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts new file mode 100644 index 0000000..368a100 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdin.d.ts @@ -0,0 +1,9 @@ +export namespace WasiCliTerminalStdin { + /** + * If stdin is connected to a terminal, return a `terminal-input` handle + * allowing further interaction with it. + */ + export function getTerminalStdin(): TerminalInput | undefined; +} +import type { TerminalInput } from './wasi-cli-terminal-input.js'; +export { TerminalInput }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts new file mode 100644 index 0000000..f29b8d1 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-cli-terminal-stdout.d.ts @@ -0,0 +1,9 @@ +export namespace WasiCliTerminalStdout { + /** + * If stdout is connected to a terminal, return a `terminal-output` handle + * allowing further interaction with it. + */ + export function getTerminalStdout(): TerminalOutput | undefined; +} +import type { TerminalOutput } from './wasi-cli-terminal-output.js'; +export { TerminalOutput }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts new file mode 100644 index 0000000..5b5ca2a --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-monotonic-clock.d.ts @@ -0,0 +1,36 @@ +export namespace WasiClocksMonotonicClock { + /** + * Read the current value of the clock. + * + * The clock is monotonic, therefore calling this function repeatedly will + * produce a sequence of non-decreasing values. + */ + export function now(): Instant; + /** + * Query the resolution of the clock. Returns the duration of time + * corresponding to a clock tick. + */ + export function resolution(): Duration; + /** + * Create a `pollable` which will resolve once the specified instant + * has occurred. + */ + export function subscribeInstant(when: Instant): Pollable; + /** + * Create a `pollable` that will resolve after the specified duration has + * elapsed from the time this function is invoked. + */ + export function subscribeDuration(when: Duration): Pollable; +} +import type { Pollable } from './wasi-io-poll.js'; +export { Pollable }; +/** + * An instant in time, in nanoseconds. An instant is relative to an + * unspecified initial value, and can only be compared to instances from + * the same monotonic-clock. + */ +export type Instant = bigint; +/** + * A duration of time, in nanoseconds. + */ +export type Duration = bigint; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-wall-clock.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-wall-clock.d.ts new file mode 100644 index 0000000..f72c90c --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-clocks-wall-clock.d.ts @@ -0,0 +1,31 @@ +export namespace WasiClocksWallClock { + /** + * Read the current value of the clock. + * + * This clock is not monotonic, therefore calling this function repeatedly + * will not necessarily produce a sequence of non-decreasing values. + * + * The returned timestamps represent the number of seconds since + * 1970-01-01T00:00:00Z, also known as [POSIX's Seconds Since the Epoch], + * also known as [Unix Time]. + * + * The nanoseconds field of the output is always less than 1000000000. + * + * [POSIX's Seconds Since the Epoch]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap04.html#tag_21_04_16 + * [Unix Time]: https://en.wikipedia.org/wiki/Unix_time + */ + export function now(): Datetime; + /** + * Query the resolution of the clock. + * + * The nanoseconds field of the output is always less than 1000000000. + */ + export function resolution(): Datetime; +} +/** + * A time and date in seconds plus nanoseconds. + */ +export interface Datetime { + seconds: bigint, + nanoseconds: number, +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-preopens.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-preopens.d.ts new file mode 100644 index 0000000..4625a7a --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-preopens.d.ts @@ -0,0 +1,8 @@ +export namespace WasiFilesystemPreopens { + /** + * Return the set of preopened directories, and their path. + */ + export function getDirectories(): Array<[Descriptor, string]>; +} +import type { Descriptor } from './wasi-filesystem-types.js'; +export { Descriptor }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-types.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-types.d.ts new file mode 100644 index 0000000..3005d6e --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-filesystem-types.d.ts @@ -0,0 +1,674 @@ +export namespace WasiFilesystemTypes { + export { Descriptor }; + export { DirectoryEntryStream }; + /** + * Attempts to extract a filesystem-related `error-code` from the stream + * `error` provided. + * + * Stream operations which return `stream-error::last-operation-failed` + * have a payload with more information about the operation that failed. + * This payload can be passed through to this function to see if there's + * filesystem-related information about the error to return. + * + * Note that this function is fallible because not all stream-related + * errors are filesystem-related errors. + */ + export function filesystemErrorCode(err: Error): ErrorCode | undefined; +} +import type { InputStream } from './wasi-io-streams.js'; +export { InputStream }; +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; +import type { Error } from './wasi-io-streams.js'; +export { Error }; +import type { Datetime } from './wasi-clocks-wall-clock.js'; +export { Datetime }; +/** + * File size or length of a region within a file. + */ +export type Filesize = bigint; +/** + * The type of a filesystem object referenced by a descriptor. + * + * Note: This was called `filetype` in earlier versions of WASI. + * # Variants + * + * ## `"unknown"` + * + * The type of the descriptor or file is unknown or is different from + * any of the other types specified. + * ## `"block-device"` + * + * The descriptor refers to a block device inode. + * ## `"character-device"` + * + * The descriptor refers to a character device inode. + * ## `"directory"` + * + * The descriptor refers to a directory inode. + * ## `"fifo"` + * + * The descriptor refers to a named pipe. + * ## `"symbolic-link"` + * + * The file refers to a symbolic link inode. + * ## `"regular-file"` + * + * The descriptor refers to a regular file inode. + * ## `"socket"` + * + * The descriptor refers to a socket. + */ +export type DescriptorType = 'unknown' | 'block-device' | 'character-device' | 'directory' | 'fifo' | 'symbolic-link' | 'regular-file' | 'socket'; +/** + * Descriptor flags. + * + * Note: This was called `fdflags` in earlier versions of WASI. + */ +export interface DescriptorFlags { + /** + * Read mode: Data can be read. + */ + read?: boolean, + /** + * Write mode: Data can be written to. + */ + write?: boolean, + /** + * Request that writes be performed according to synchronized I/O file + * integrity completion. The data stored in the file and the file's + * metadata are synchronized. This is similar to `O_SYNC` in POSIX. + * + * The precise semantics of this operation have not yet been defined for + * WASI. At this time, it should be interpreted as a request, and not a + * requirement. + */ + fileIntegritySync?: boolean, + /** + * Request that writes be performed according to synchronized I/O data + * integrity completion. Only the data stored in the file is + * synchronized. This is similar to `O_DSYNC` in POSIX. + * + * The precise semantics of this operation have not yet been defined for + * WASI. At this time, it should be interpreted as a request, and not a + * requirement. + */ + dataIntegritySync?: boolean, + /** + * Requests that reads be performed at the same level of integrity + * requested for writes. This is similar to `O_RSYNC` in POSIX. + * + * The precise semantics of this operation have not yet been defined for + * WASI. At this time, it should be interpreted as a request, and not a + * requirement. + */ + requestedWriteSync?: boolean, + /** + * Mutating directories mode: Directory contents may be mutated. + * + * When this flag is unset on a descriptor, operations using the + * descriptor which would create, rename, delete, modify the data or + * metadata of filesystem objects, or obtain another handle which + * would permit any of those, shall fail with `error-code::read-only` if + * they would otherwise succeed. + * + * This may only be set on directories. + */ + mutateDirectory?: boolean, +} +/** + * Flags determining the method of how paths are resolved. + */ +export interface PathFlags { + /** + * As long as the resolved path corresponds to a symbolic link, it is + * expanded. + */ + symlinkFollow?: boolean, +} +/** + * Open flags used by `open-at`. + */ +export interface OpenFlags { + /** + * Create file if it does not exist, similar to `O_CREAT` in POSIX. + */ + create?: boolean, + /** + * Fail if not a directory, similar to `O_DIRECTORY` in POSIX. + */ + directory?: boolean, + /** + * Fail if file already exists, similar to `O_EXCL` in POSIX. + */ + exclusive?: boolean, + /** + * Truncate file to size 0, similar to `O_TRUNC` in POSIX. + */ + truncate?: boolean, +} +/** + * Number of hard links to an inode. + */ +export type LinkCount = bigint; +/** + * File attributes. + * + * Note: This was called `filestat` in earlier versions of WASI. + */ +export interface DescriptorStat { + /** + * File type. + */ + type: DescriptorType, + /** + * Number of hard links to the file. + */ + linkCount: LinkCount, + /** + * For regular files, the file size in bytes. For symbolic links, the + * length in bytes of the pathname contained in the symbolic link. + */ + size: Filesize, + /** + * Last data access timestamp. + * + * If the `option` is none, the platform doesn't maintain an access + * timestamp for this file. + */ + dataAccessTimestamp?: Datetime, + /** + * Last data modification timestamp. + * + * If the `option` is none, the platform doesn't maintain a + * modification timestamp for this file. + */ + dataModificationTimestamp?: Datetime, + /** + * Last file status-change timestamp. + * + * If the `option` is none, the platform doesn't maintain a + * status-change timestamp for this file. + */ + statusChangeTimestamp?: Datetime, +} +/** + * When setting a timestamp, this gives the value to set it to. + */ +export type NewTimestamp = NewTimestampNoChange | NewTimestampNow | NewTimestampTimestamp; +/** + * Leave the timestamp set to its previous value. + */ +export interface NewTimestampNoChange { + tag: 'no-change', +} +/** + * Set the timestamp to the current time of the system clock associated + * with the filesystem. + */ +export interface NewTimestampNow { + tag: 'now', +} +/** + * Set the timestamp to the given value. + */ +export interface NewTimestampTimestamp { + tag: 'timestamp', + val: Datetime, +} +/** + * A directory entry. + */ +export interface DirectoryEntry { + /** + * The type of the file referred to by this directory entry. + */ + type: DescriptorType, + /** + * The name of the object. + */ + name: string, +} +/** + * Error codes returned by functions, similar to `errno` in POSIX. + * Not all of these error codes are returned by the functions provided by this + * API; some are used in higher-level library layers, and others are provided + * merely for alignment with POSIX. + * # Variants + * + * ## `"access"` + * + * Permission denied, similar to `EACCES` in POSIX. + * ## `"would-block"` + * + * Resource unavailable, or operation would block, similar to `EAGAIN` and `EWOULDBLOCK` in POSIX. + * ## `"already"` + * + * Connection already in progress, similar to `EALREADY` in POSIX. + * ## `"bad-descriptor"` + * + * Bad descriptor, similar to `EBADF` in POSIX. + * ## `"busy"` + * + * Device or resource busy, similar to `EBUSY` in POSIX. + * ## `"deadlock"` + * + * Resource deadlock would occur, similar to `EDEADLK` in POSIX. + * ## `"quota"` + * + * Storage quota exceeded, similar to `EDQUOT` in POSIX. + * ## `"exist"` + * + * File exists, similar to `EEXIST` in POSIX. + * ## `"file-too-large"` + * + * File too large, similar to `EFBIG` in POSIX. + * ## `"illegal-byte-sequence"` + * + * Illegal byte sequence, similar to `EILSEQ` in POSIX. + * ## `"in-progress"` + * + * Operation in progress, similar to `EINPROGRESS` in POSIX. + * ## `"interrupted"` + * + * Interrupted function, similar to `EINTR` in POSIX. + * ## `"invalid"` + * + * Invalid argument, similar to `EINVAL` in POSIX. + * ## `"io"` + * + * I/O error, similar to `EIO` in POSIX. + * ## `"is-directory"` + * + * Is a directory, similar to `EISDIR` in POSIX. + * ## `"loop"` + * + * Too many levels of symbolic links, similar to `ELOOP` in POSIX. + * ## `"too-many-links"` + * + * Too many links, similar to `EMLINK` in POSIX. + * ## `"message-size"` + * + * Message too large, similar to `EMSGSIZE` in POSIX. + * ## `"name-too-long"` + * + * Filename too long, similar to `ENAMETOOLONG` in POSIX. + * ## `"no-device"` + * + * No such device, similar to `ENODEV` in POSIX. + * ## `"no-entry"` + * + * No such file or directory, similar to `ENOENT` in POSIX. + * ## `"no-lock"` + * + * No locks available, similar to `ENOLCK` in POSIX. + * ## `"insufficient-memory"` + * + * Not enough space, similar to `ENOMEM` in POSIX. + * ## `"insufficient-space"` + * + * No space left on device, similar to `ENOSPC` in POSIX. + * ## `"not-directory"` + * + * Not a directory or a symbolic link to a directory, similar to `ENOTDIR` in POSIX. + * ## `"not-empty"` + * + * Directory not empty, similar to `ENOTEMPTY` in POSIX. + * ## `"not-recoverable"` + * + * State not recoverable, similar to `ENOTRECOVERABLE` in POSIX. + * ## `"unsupported"` + * + * Not supported, similar to `ENOTSUP` and `ENOSYS` in POSIX. + * ## `"no-tty"` + * + * Inappropriate I/O control operation, similar to `ENOTTY` in POSIX. + * ## `"no-such-device"` + * + * No such device or address, similar to `ENXIO` in POSIX. + * ## `"overflow"` + * + * Value too large to be stored in data type, similar to `EOVERFLOW` in POSIX. + * ## `"not-permitted"` + * + * Operation not permitted, similar to `EPERM` in POSIX. + * ## `"pipe"` + * + * Broken pipe, similar to `EPIPE` in POSIX. + * ## `"read-only"` + * + * Read-only file system, similar to `EROFS` in POSIX. + * ## `"invalid-seek"` + * + * Invalid seek, similar to `ESPIPE` in POSIX. + * ## `"text-file-busy"` + * + * Text file busy, similar to `ETXTBSY` in POSIX. + * ## `"cross-device"` + * + * Cross-device link, similar to `EXDEV` in POSIX. + */ +export type ErrorCode = 'access' | 'would-block' | 'already' | 'bad-descriptor' | 'busy' | 'deadlock' | 'quota' | 'exist' | 'file-too-large' | 'illegal-byte-sequence' | 'in-progress' | 'interrupted' | 'invalid' | 'io' | 'is-directory' | 'loop' | 'too-many-links' | 'message-size' | 'name-too-long' | 'no-device' | 'no-entry' | 'no-lock' | 'insufficient-memory' | 'insufficient-space' | 'not-directory' | 'not-empty' | 'not-recoverable' | 'unsupported' | 'no-tty' | 'no-such-device' | 'overflow' | 'not-permitted' | 'pipe' | 'read-only' | 'invalid-seek' | 'text-file-busy' | 'cross-device'; +/** + * File or memory access pattern advisory information. + * # Variants + * + * ## `"normal"` + * + * The application has no advice to give on its behavior with respect + * to the specified data. + * ## `"sequential"` + * + * The application expects to access the specified data sequentially + * from lower offsets to higher offsets. + * ## `"random"` + * + * The application expects to access the specified data in a random + * order. + * ## `"will-need"` + * + * The application expects to access the specified data in the near + * future. + * ## `"dont-need"` + * + * The application expects that it will not access the specified data + * in the near future. + * ## `"no-reuse"` + * + * The application expects to access the specified data once and then + * not reuse it thereafter. + */ +export type Advice = 'normal' | 'sequential' | 'random' | 'will-need' | 'dont-need' | 'no-reuse'; +/** + * A 128-bit hash value, split into parts because wasm doesn't have a + * 128-bit integer type. + */ +export interface MetadataHashValue { + /** + * 64 bits of a 128-bit hash value. + */ + lower: bigint, + /** + * Another 64 bits of a 128-bit hash value. + */ + upper: bigint, +} + +export class Descriptor { + /** + * Return a stream for reading from a file, if available. + * + * May fail with an error-code describing why the file cannot be read. + * + * Multiple read, write, and append streams may be active on the same open + * file and they do not interfere with each other. + * + * Note: This allows using `read-stream`, which is similar to `read` in POSIX. + */ + readViaStream(offset: Filesize): InputStream; + /** + * Return a stream for writing to a file, if available. + * + * May fail with an error-code describing why the file cannot be written. + * + * Note: This allows using `write-stream`, which is similar to `write` in + * POSIX. + */ + writeViaStream(offset: Filesize): OutputStream; + /** + * Return a stream for appending to a file, if available. + * + * May fail with an error-code describing why the file cannot be appended. + * + * Note: This allows using `write-stream`, which is similar to `write` with + * `O_APPEND` in in POSIX. + */ + appendViaStream(): OutputStream; + /** + * Provide file advisory information on a descriptor. + * + * This is similar to `posix_fadvise` in POSIX. + */ + advise(offset: Filesize, length: Filesize, advice: Advice): void; + /** + * Synchronize the data of a file to disk. + * + * This function succeeds with no effect if the file descriptor is not + * opened for writing. + * + * Note: This is similar to `fdatasync` in POSIX. + */ + syncData(): void; + /** + * Get flags associated with a descriptor. + * + * Note: This returns similar flags to `fcntl(fd, F_GETFL)` in POSIX. + * + * Note: This returns the value that was the `fs_flags` value returned + * from `fdstat_get` in earlier versions of WASI. + */ + getFlags(): DescriptorFlags; + /** + * Get the dynamic type of a descriptor. + * + * Note: This returns the same value as the `type` field of the `fd-stat` + * returned by `stat`, `stat-at` and similar. + * + * Note: This returns similar flags to the `st_mode & S_IFMT` value provided + * by `fstat` in POSIX. + * + * Note: This returns the value that was the `fs_filetype` value returned + * from `fdstat_get` in earlier versions of WASI. + */ + getType(): DescriptorType; + /** + * Adjust the size of an open file. If this increases the file's size, the + * extra bytes are filled with zeros. + * + * Note: This was called `fd_filestat_set_size` in earlier versions of WASI. + */ + setSize(size: Filesize): void; + /** + * Adjust the timestamps of an open file or directory. + * + * Note: This is similar to `futimens` in POSIX. + * + * Note: This was called `fd_filestat_set_times` in earlier versions of WASI. + */ + setTimes(dataAccessTimestamp: NewTimestamp, dataModificationTimestamp: NewTimestamp): void; + /** + * Read from a descriptor, without using and updating the descriptor's offset. + * + * This function returns a list of bytes containing the data that was + * read, along with a bool which, when true, indicates that the end of the + * file was reached. The returned list will contain up to `length` bytes; it + * may return fewer than requested, if the end of the file is reached or + * if the I/O operation is interrupted. + * + * In the future, this may change to return a `stream`. + * + * Note: This is similar to `pread` in POSIX. + */ + read(length: Filesize, offset: Filesize): [Uint8Array, boolean]; + /** + * Write to a descriptor, without using and updating the descriptor's offset. + * + * It is valid to write past the end of a file; the file is extended to the + * extent of the write, with bytes between the previous end and the start of + * the write set to zero. + * + * In the future, this may change to take a `stream`. + * + * Note: This is similar to `pwrite` in POSIX. + */ + write(buffer: Uint8Array, offset: Filesize): Filesize; + /** + * Read directory entries from a directory. + * + * On filesystems where directories contain entries referring to themselves + * and their parents, often named `.` and `..` respectively, these entries + * are omitted. + * + * This always returns a new stream which starts at the beginning of the + * directory. Multiple streams may be active on the same directory, and they + * do not interfere with each other. + */ + readDirectory(): DirectoryEntryStream; + /** + * Synchronize the data and metadata of a file to disk. + * + * This function succeeds with no effect if the file descriptor is not + * opened for writing. + * + * Note: This is similar to `fsync` in POSIX. + */ + sync(): void; + /** + * Create a directory. + * + * Note: This is similar to `mkdirat` in POSIX. + */ + createDirectoryAt(path: string): void; + /** + * Return the attributes of an open file or directory. + * + * Note: This is similar to `fstat` in POSIX, except that it does not return + * device and inode information. For testing whether two descriptors refer to + * the same underlying filesystem object, use `is-same-object`. To obtain + * additional data that can be used do determine whether a file has been + * modified, use `metadata-hash`. + * + * Note: This was called `fd_filestat_get` in earlier versions of WASI. + */ + stat(): DescriptorStat; + /** + * Return the attributes of a file or directory. + * + * Note: This is similar to `fstatat` in POSIX, except that it does not + * return device and inode information. See the `stat` description for a + * discussion of alternatives. + * + * Note: This was called `path_filestat_get` in earlier versions of WASI. + */ + statAt(pathFlags: PathFlags, path: string): DescriptorStat; + /** + * Adjust the timestamps of a file or directory. + * + * Note: This is similar to `utimensat` in POSIX. + * + * Note: This was called `path_filestat_set_times` in earlier versions of + * WASI. + */ + setTimesAt(pathFlags: PathFlags, path: string, dataAccessTimestamp: NewTimestamp, dataModificationTimestamp: NewTimestamp): void; + /** + * Create a hard link. + * + * Note: This is similar to `linkat` in POSIX. + */ + linkAt(oldPathFlags: PathFlags, oldPath: string, newDescriptor: Descriptor, newPath: string): void; + /** + * Open a file or directory. + * + * The returned descriptor is not guaranteed to be the lowest-numbered + * descriptor not currently open/ it is randomized to prevent applications + * from depending on making assumptions about indexes, since this is + * error-prone in multi-threaded contexts. The returned descriptor is + * guaranteed to be less than 2**31. + * + * If `flags` contains `descriptor-flags::mutate-directory`, and the base + * descriptor doesn't have `descriptor-flags::mutate-directory` set, + * `open-at` fails with `error-code::read-only`. + * + * If `flags` contains `write` or `mutate-directory`, or `open-flags` + * contains `truncate` or `create`, and the base descriptor doesn't have + * `descriptor-flags::mutate-directory` set, `open-at` fails with + * `error-code::read-only`. + * + * Note: This is similar to `openat` in POSIX. + */ + openAt(pathFlags: PathFlags, path: string, openFlags: OpenFlags, flags: DescriptorFlags): Descriptor; + /** + * Read the contents of a symbolic link. + * + * If the contents contain an absolute or rooted path in the underlying + * filesystem, this function fails with `error-code::not-permitted`. + * + * Note: This is similar to `readlinkat` in POSIX. + */ + readlinkAt(path: string): string; + /** + * Remove a directory. + * + * Return `error-code::not-empty` if the directory is not empty. + * + * Note: This is similar to `unlinkat(fd, path, AT_REMOVEDIR)` in POSIX. + */ + removeDirectoryAt(path: string): void; + /** + * Rename a filesystem object. + * + * Note: This is similar to `renameat` in POSIX. + */ + renameAt(oldPath: string, newDescriptor: Descriptor, newPath: string): void; + /** + * Create a symbolic link (also known as a "symlink"). + * + * If `old-path` starts with `/`, the function fails with + * `error-code::not-permitted`. + * + * Note: This is similar to `symlinkat` in POSIX. + */ + symlinkAt(oldPath: string, newPath: string): void; + /** + * Unlink a filesystem object that is not a directory. + * + * Return `error-code::is-directory` if the path refers to a directory. + * Note: This is similar to `unlinkat(fd, path, 0)` in POSIX. + */ + unlinkFileAt(path: string): void; + /** + * Test whether two descriptors refer to the same filesystem object. + * + * In POSIX, this corresponds to testing whether the two descriptors have the + * same device (`st_dev`) and inode (`st_ino` or `d_ino`) numbers. + * wasi-filesystem does not expose device and inode numbers, so this function + * may be used instead. + */ + isSameObject(other: Descriptor): boolean; + /** + * Return a hash of the metadata associated with a filesystem object referred + * to by a descriptor. + * + * This returns a hash of the last-modification timestamp and file size, and + * may also include the inode number, device number, birth timestamp, and + * other metadata fields that may change when the file is modified or + * replaced. It may also include a secret value chosen by the + * implementation and not otherwise exposed. + * + * Implementations are encourated to provide the following properties: + * + * - If the file is not modified or replaced, the computed hash value should + * usually not change. + * - If the object is modified or replaced, the computed hash value should + * usually change. + * - The inputs to the hash should not be easily computable from the + * computed hash. + * + * However, none of these is required. + */ + metadataHash(): MetadataHashValue; + /** + * Return a hash of the metadata associated with a filesystem object referred + * to by a directory descriptor and a relative path. + * + * This performs the same hash computation as `metadata-hash`. + */ + metadataHashAt(pathFlags: PathFlags, path: string): MetadataHashValue; +} + +export class DirectoryEntryStream { + /** + * Read a single directory entry from a `directory-entry-stream`. + */ + readDirectoryEntry(): DirectoryEntry | undefined; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-incoming-handler.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-incoming-handler.d.ts new file mode 100644 index 0000000..cd927f7 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-incoming-handler.d.ts @@ -0,0 +1,19 @@ +export namespace WasiHttpIncomingHandler { + /** + * This function is invoked with an incoming HTTP Request, and a resource + * `response-outparam` which provides the capability to reply with an HTTP + * Response. The response is sent by calling the `response-outparam.set` + * method, which allows execution to continue after the response has been + * sent. This enables both streaming to the response body, and performing other + * work. + * + * The implementor of this function must write a response to the + * `response-outparam` before returning, or else the caller will respond + * with an error on its behalf. + */ + export function handle(request: IncomingRequest, responseOut: ResponseOutparam): void; +} +import type { IncomingRequest } from './wasi-http-types.js'; +export { IncomingRequest }; +import type { ResponseOutparam } from './wasi-http-types.js'; +export { ResponseOutparam }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-outgoing-handler.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-outgoing-handler.d.ts new file mode 100644 index 0000000..e86916f --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-outgoing-handler.d.ts @@ -0,0 +1,23 @@ +export namespace WasiHttpOutgoingHandler { + /** + * This function is invoked with an outgoing HTTP Request, and it returns + * a resource `future-incoming-response` which represents an HTTP Response + * which may arrive in the future. + * + * The `options` argument accepts optional parameters for the HTTP + * protocol's transport layer. + * + * This function may return an error if the `outgoing-request` is invalid + * or not allowed to be made. Otherwise, protocol errors are reported + * through the `future-incoming-response`. + */ + export function handle(request: OutgoingRequest, options: RequestOptions | undefined): FutureIncomingResponse; +} +import type { OutgoingRequest } from './wasi-http-types.js'; +export { OutgoingRequest }; +import type { RequestOptions } from './wasi-http-types.js'; +export { RequestOptions }; +import type { FutureIncomingResponse } from './wasi-http-types.js'; +export { FutureIncomingResponse }; +import type { ErrorCode } from './wasi-http-types.js'; +export { ErrorCode }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-types.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-types.d.ts new file mode 100644 index 0000000..6c0f34a --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-http-types.d.ts @@ -0,0 +1,720 @@ +export namespace WasiHttpTypes { + /** + * Attempts to extract a http-related `error` from the wasi:io `error` + * provided. + * + * Stream operations which return + * `wasi:io/stream/stream-error::last-operation-failed` have a payload of + * type `wasi:io/error/error` with more information about the operation + * that failed. This payload can be passed through to this function to see + * if there's http-related information about the error to return. + * + * Note that this function is fallible because not all io-errors are + * http-related errors. + */ + export function httpErrorCode(err: IoError): ErrorCode | undefined; + export { Fields }; + export { IncomingRequest }; + export { OutgoingRequest }; + export { RequestOptions }; + export { ResponseOutparam }; + export { IncomingResponse }; + export { IncomingBody }; + export { FutureTrailers }; + export { OutgoingResponse }; + export { OutgoingBody }; + export { FutureIncomingResponse }; +} +import type { Duration } from './wasi-clocks-monotonic-clock.js'; +export { Duration }; +import type { InputStream } from './wasi-io-streams.js'; +export { InputStream }; +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; +import type { Error as IoError } from './wasi-io-error.js'; +export { IoError }; +import type { Pollable } from './wasi-io-poll.js'; +export { Pollable }; +/** + * This type corresponds to HTTP standard Methods. + */ +export type Method = MethodGet | MethodHead | MethodPost | MethodPut | MethodDelete | MethodConnect | MethodOptions | MethodTrace | MethodPatch | MethodOther; +export interface MethodGet { + tag: 'get', +} +export interface MethodHead { + tag: 'head', +} +export interface MethodPost { + tag: 'post', +} +export interface MethodPut { + tag: 'put', +} +export interface MethodDelete { + tag: 'delete', +} +export interface MethodConnect { + tag: 'connect', +} +export interface MethodOptions { + tag: 'options', +} +export interface MethodTrace { + tag: 'trace', +} +export interface MethodPatch { + tag: 'patch', +} +export interface MethodOther { + tag: 'other', + val: string, +} +/** + * This type corresponds to HTTP standard Related Schemes. + */ +export type Scheme = SchemeHttp | SchemeHttps | SchemeOther; +export interface SchemeHttp { + tag: 'HTTP', +} +export interface SchemeHttps { + tag: 'HTTPS', +} +export interface SchemeOther { + tag: 'other', + val: string, +} +/** + * Defines the case payload type for `DNS-error` above: + */ +export interface DnsErrorPayload { + rcode?: string, + infoCode?: number, +} +/** + * Defines the case payload type for `TLS-alert-received` above: + */ +export interface TlsAlertReceivedPayload { + alertId?: number, + alertMessage?: string, +} +/** + * Defines the case payload type for `HTTP-response-{header,trailer}-size` above: + */ +export interface FieldSizePayload { + fieldName?: string, + fieldSize?: number, +} +/** + * These cases are inspired by the IANA HTTP Proxy Error Types: + * https://www.iana.org/assignments/http-proxy-status/http-proxy-status.xhtml#table-http-proxy-error-types + */ +export type ErrorCode = ErrorCodeDnsTimeout | ErrorCodeDnsError | ErrorCodeDestinationNotFound | ErrorCodeDestinationUnavailable | ErrorCodeDestinationIpProhibited | ErrorCodeDestinationIpUnroutable | ErrorCodeConnectionRefused | ErrorCodeConnectionTerminated | ErrorCodeConnectionTimeout | ErrorCodeConnectionReadTimeout | ErrorCodeConnectionWriteTimeout | ErrorCodeConnectionLimitReached | ErrorCodeTlsProtocolError | ErrorCodeTlsCertificateError | ErrorCodeTlsAlertReceived | ErrorCodeHttpRequestDenied | ErrorCodeHttpRequestLengthRequired | ErrorCodeHttpRequestBodySize | ErrorCodeHttpRequestMethodInvalid | ErrorCodeHttpRequestUriInvalid | ErrorCodeHttpRequestUriTooLong | ErrorCodeHttpRequestHeaderSectionSize | ErrorCodeHttpRequestHeaderSize | ErrorCodeHttpRequestTrailerSectionSize | ErrorCodeHttpRequestTrailerSize | ErrorCodeHttpResponseIncomplete | ErrorCodeHttpResponseHeaderSectionSize | ErrorCodeHttpResponseHeaderSize | ErrorCodeHttpResponseBodySize | ErrorCodeHttpResponseTrailerSectionSize | ErrorCodeHttpResponseTrailerSize | ErrorCodeHttpResponseTransferCoding | ErrorCodeHttpResponseContentCoding | ErrorCodeHttpResponseTimeout | ErrorCodeHttpUpgradeFailed | ErrorCodeHttpProtocolError | ErrorCodeLoopDetected | ErrorCodeConfigurationError | ErrorCodeInternalError; +export interface ErrorCodeDnsTimeout { + tag: 'DNS-timeout', +} +export interface ErrorCodeDnsError { + tag: 'DNS-error', + val: DnsErrorPayload, +} +export interface ErrorCodeDestinationNotFound { + tag: 'destination-not-found', +} +export interface ErrorCodeDestinationUnavailable { + tag: 'destination-unavailable', +} +export interface ErrorCodeDestinationIpProhibited { + tag: 'destination-IP-prohibited', +} +export interface ErrorCodeDestinationIpUnroutable { + tag: 'destination-IP-unroutable', +} +export interface ErrorCodeConnectionRefused { + tag: 'connection-refused', +} +export interface ErrorCodeConnectionTerminated { + tag: 'connection-terminated', +} +export interface ErrorCodeConnectionTimeout { + tag: 'connection-timeout', +} +export interface ErrorCodeConnectionReadTimeout { + tag: 'connection-read-timeout', +} +export interface ErrorCodeConnectionWriteTimeout { + tag: 'connection-write-timeout', +} +export interface ErrorCodeConnectionLimitReached { + tag: 'connection-limit-reached', +} +export interface ErrorCodeTlsProtocolError { + tag: 'TLS-protocol-error', +} +export interface ErrorCodeTlsCertificateError { + tag: 'TLS-certificate-error', +} +export interface ErrorCodeTlsAlertReceived { + tag: 'TLS-alert-received', + val: TlsAlertReceivedPayload, +} +export interface ErrorCodeHttpRequestDenied { + tag: 'HTTP-request-denied', +} +export interface ErrorCodeHttpRequestLengthRequired { + tag: 'HTTP-request-length-required', +} +export interface ErrorCodeHttpRequestBodySize { + tag: 'HTTP-request-body-size', + val: bigint | undefined, +} +export interface ErrorCodeHttpRequestMethodInvalid { + tag: 'HTTP-request-method-invalid', +} +export interface ErrorCodeHttpRequestUriInvalid { + tag: 'HTTP-request-URI-invalid', +} +export interface ErrorCodeHttpRequestUriTooLong { + tag: 'HTTP-request-URI-too-long', +} +export interface ErrorCodeHttpRequestHeaderSectionSize { + tag: 'HTTP-request-header-section-size', + val: number | undefined, +} +export interface ErrorCodeHttpRequestHeaderSize { + tag: 'HTTP-request-header-size', + val: FieldSizePayload | undefined, +} +export interface ErrorCodeHttpRequestTrailerSectionSize { + tag: 'HTTP-request-trailer-section-size', + val: number | undefined, +} +export interface ErrorCodeHttpRequestTrailerSize { + tag: 'HTTP-request-trailer-size', + val: FieldSizePayload, +} +export interface ErrorCodeHttpResponseIncomplete { + tag: 'HTTP-response-incomplete', +} +export interface ErrorCodeHttpResponseHeaderSectionSize { + tag: 'HTTP-response-header-section-size', + val: number | undefined, +} +export interface ErrorCodeHttpResponseHeaderSize { + tag: 'HTTP-response-header-size', + val: FieldSizePayload, +} +export interface ErrorCodeHttpResponseBodySize { + tag: 'HTTP-response-body-size', + val: bigint | undefined, +} +export interface ErrorCodeHttpResponseTrailerSectionSize { + tag: 'HTTP-response-trailer-section-size', + val: number | undefined, +} +export interface ErrorCodeHttpResponseTrailerSize { + tag: 'HTTP-response-trailer-size', + val: FieldSizePayload, +} +export interface ErrorCodeHttpResponseTransferCoding { + tag: 'HTTP-response-transfer-coding', + val: string | undefined, +} +export interface ErrorCodeHttpResponseContentCoding { + tag: 'HTTP-response-content-coding', + val: string | undefined, +} +export interface ErrorCodeHttpResponseTimeout { + tag: 'HTTP-response-timeout', +} +export interface ErrorCodeHttpUpgradeFailed { + tag: 'HTTP-upgrade-failed', +} +export interface ErrorCodeHttpProtocolError { + tag: 'HTTP-protocol-error', +} +export interface ErrorCodeLoopDetected { + tag: 'loop-detected', +} +export interface ErrorCodeConfigurationError { + tag: 'configuration-error', +} +/** + * This is a catch-all error for anything that doesn't fit cleanly into a + * more specific case. It also includes an optional string for an + * unstructured description of the error. Users should not depend on the + * string for diagnosing errors, as it's not required to be consistent + * between implementations. + */ +export interface ErrorCodeInternalError { + tag: 'internal-error', + val: string | undefined, +} +/** + * This type enumerates the different kinds of errors that may occur when + * setting or appending to a `fields` resource. + */ +export type HeaderError = HeaderErrorInvalidSyntax | HeaderErrorForbidden | HeaderErrorImmutable; +/** + * This error indicates that a `field-key` or `field-value` was + * syntactically invalid when used with an operation that sets headers in a + * `fields`. + */ +export interface HeaderErrorInvalidSyntax { + tag: 'invalid-syntax', +} +/** + * This error indicates that a forbidden `field-key` was used when trying + * to set a header in a `fields`. + */ +export interface HeaderErrorForbidden { + tag: 'forbidden', +} +/** + * This error indicates that the operation on the `fields` was not + * permitted because the fields are immutable. + */ +export interface HeaderErrorImmutable { + tag: 'immutable', +} +/** + * Field keys are always strings. + */ +export type FieldKey = string; +/** + * Field values should always be ASCII strings. However, in + * reality, HTTP implementations often have to interpret malformed values, + * so they are provided as a list of bytes. + */ +export type FieldValue = Uint8Array; +/** + * Headers is an alias for Fields. + */ +export type Headers = Fields; +/** + * Trailers is an alias for Fields. + */ +export type Trailers = Fields; +/** + * This type corresponds to the HTTP standard Status Code. + */ +export type StatusCode = number; +export type Result = { tag: 'ok', val: T } | { tag: 'err', val: E }; + +export class Fields { + /** + * Construct an empty HTTP Fields. + * + * The resulting `fields` is mutable. + */ + constructor() + /** + * Construct an HTTP Fields. + * + * The resulting `fields` is mutable. + * + * The list represents each key-value pair in the Fields. Keys + * which have multiple values are represented by multiple entries in this + * list with the same key. + * + * The tuple is a pair of the field key, represented as a string, and + * Value, represented as a list of bytes. + * + * An error result will be returned if any `field-key` or `field-value` is + * syntactically invalid, or if a field is forbidden. + */ + static fromList(entries: Array<[FieldKey, FieldValue]>): Fields; + /** + * Get all of the values corresponding to a key. If the key is not present + * in this `fields` or is syntactically invalid, an empty list is returned. + * However, if the key is present but empty, this is represented by a list + * with one or more empty field-values present. + */ + get(name: FieldKey): Array; + /** + * Returns `true` when the key is present in this `fields`. If the key is + * syntactically invalid, `false` is returned. + */ + has(name: FieldKey): boolean; + /** + * Set all of the values for a key. Clears any existing values for that + * key, if they have been set. + * + * Fails with `header-error.immutable` if the `fields` are immutable. + * + * Fails with `header-error.invalid-syntax` if the `field-key` or any of + * the `field-value`s are syntactically invalid. + */ + set(name: FieldKey, value: Array): void; + /** + * Delete all values for a key. Does nothing if no values for the key + * exist. + * + * Fails with `header-error.immutable` if the `fields` are immutable. + * + * Fails with `header-error.invalid-syntax` if the `field-key` is + * syntactically invalid. + */ + 'delete'(name: FieldKey): void; + /** + * Append a value for a key. Does not change or delete any existing + * values for that key. + * + * Fails with `header-error.immutable` if the `fields` are immutable. + * + * Fails with `header-error.invalid-syntax` if the `field-key` or + * `field-value` are syntactically invalid. + */ + append(name: FieldKey, value: FieldValue): void; + /** + * Retrieve the full set of keys and values in the Fields. Like the + * constructor, the list represents each key-value pair. + * + * The outer list represents each key-value pair in the Fields. Keys + * which have multiple values are represented by multiple entries in this + * list with the same key. + */ + entries(): Array<[FieldKey, FieldValue]>; + /** + * Make a deep copy of the Fields. Equivalent in behavior to calling the + * `fields` constructor on the return value of `entries`. The resulting + * `fields` is mutable. + */ + clone(): Fields; +} + +export class FutureIncomingResponse { + /** + * Returns a pollable which becomes ready when either the Response has + * been received, or an error has occurred. When this pollable is ready, + * the `get` method will return `some`. + */ + subscribe(): Pollable; + /** + * Returns the incoming HTTP Response, or an error, once one is ready. + * + * The outer `option` represents future readiness. Users can wait on this + * `option` to become `some` using the `subscribe` method. + * + * The outer `result` is used to retrieve the response or error at most + * once. It will be success on the first call in which the outer option + * is `some`, and error on subsequent calls. + * + * The inner `result` represents that either the incoming HTTP Response + * status and headers have received successfully, or that an error + * occurred. Errors may also occur while consuming the response body, + * but those will be reported by the `incoming-body` and its + * `output-stream` child. + */ + get(): Result, void> | undefined; +} + +export class FutureTrailers { + /** + * Returns a pollable which becomes ready when either the trailers have + * been received, or an error has occurred. When this pollable is ready, + * the `get` method will return `some`. + */ + subscribe(): Pollable; + /** + * Returns the contents of the trailers, or an error which occurred, + * once the future is ready. + * + * The outer `option` represents future readiness. Users can wait on this + * `option` to become `some` using the `subscribe` method. + * + * The outer `result` is used to retrieve the trailers or error at most + * once. It will be success on the first call in which the outer option + * is `some`, and error on subsequent calls. + * + * The inner `result` represents that either the HTTP Request or Response + * body, as well as any trailers, were received successfully, or that an + * error occurred receiving them. The optional `trailers` indicates whether + * or not trailers were present in the body. + * + * When some `trailers` are returned by this method, the `trailers` + * resource is immutable, and a child. Use of the `set`, `append`, or + * `delete` methods will return an error, and the resource must be + * dropped before the parent `future-trailers` is dropped. + */ + get(): Result, void> | undefined; +} + +export class IncomingBody { + /** + * Returns the contents of the body, as a stream of bytes. + * + * Returns success on first call: the stream representing the contents + * can be retrieved at most once. Subsequent calls will return error. + * + * The returned `input-stream` resource is a child: it must be dropped + * before the parent `incoming-body` is dropped, or consumed by + * `incoming-body.finish`. + * + * This invariant ensures that the implementation can determine whether + * the user is consuming the contents of the body, waiting on the + * `future-trailers` to be ready, or neither. This allows for network + * backpressure is to be applied when the user is consuming the body, + * and for that backpressure to not inhibit delivery of the trailers if + * the user does not read the entire body. + */ + stream(): InputStream; + /** + * Takes ownership of `incoming-body`, and returns a `future-trailers`. + * This function will trap if the `input-stream` child is still alive. + */ + static finish(this_: IncomingBody): FutureTrailers; +} + +export class IncomingRequest { + /** + * Returns the method of the incoming request. + */ + method(): Method; + /** + * Returns the path with query parameters from the request, as a string. + */ + pathWithQuery(): string | undefined; + /** + * Returns the protocol scheme from the request. + */ + scheme(): Scheme | undefined; + /** + * Returns the authority of the Request's target URI, if present. + */ + authority(): string | undefined; + /** + * Get the `headers` associated with the request. + * + * The returned `headers` resource is immutable: `set`, `append`, and + * `delete` operations will fail with `header-error.immutable`. + * + * The `headers` returned are a child resource: it must be dropped before + * the parent `incoming-request` is dropped. Dropping this + * `incoming-request` before all children are dropped will trap. + */ + headers(): Headers; + /** + * Gives the `incoming-body` associated with this request. Will only + * return success at most once, and subsequent calls will return error. + */ + consume(): IncomingBody; +} + +export class IncomingResponse { + /** + * Returns the status code from the incoming response. + */ + status(): StatusCode; + /** + * Returns the headers from the incoming response. + * + * The returned `headers` resource is immutable: `set`, `append`, and + * `delete` operations will fail with `header-error.immutable`. + * + * This headers resource is a child: it must be dropped before the parent + * `incoming-response` is dropped. + */ + headers(): Headers; + /** + * Returns the incoming body. May be called at most once. Returns error + * if called additional times. + */ + consume(): IncomingBody; +} + +export class OutgoingBody { + /** + * Returns a stream for writing the body contents. + * + * The returned `output-stream` is a child resource: it must be dropped + * before the parent `outgoing-body` resource is dropped (or finished), + * otherwise the `outgoing-body` drop or `finish` will trap. + * + * Returns success on the first call: the `output-stream` resource for + * this `outgoing-body` may be retrieved at most once. Subsequent calls + * will return error. + */ + write(): OutputStream; + /** + * Finalize an outgoing body, optionally providing trailers. This must be + * called to signal that the response is complete. If the `outgoing-body` + * is dropped without calling `outgoing-body.finalize`, the implementation + * should treat the body as corrupted. + * + * Fails if the body's `outgoing-request` or `outgoing-response` was + * constructed with a Content-Length header, and the contents written + * to the body (via `write`) does not match the value given in the + * Content-Length. + */ + static finish(this_: OutgoingBody, trailers: Trailers | undefined): void; +} + +export class OutgoingRequest { + /** + * Construct a new `outgoing-request` with a default `method` of `GET`, and + * `none` values for `path-with-query`, `scheme`, and `authority`. + * + * * `headers` is the HTTP Headers for the Request. + * + * It is possible to construct, or manipulate with the accessor functions + * below, an `outgoing-request` with an invalid combination of `scheme` + * and `authority`, or `headers` which are not permitted to be sent. + * It is the obligation of the `outgoing-handler.handle` implementation + * to reject invalid constructions of `outgoing-request`. + */ + constructor(headers: Headers) + /** + * Returns the resource corresponding to the outgoing Body for this + * Request. + * + * Returns success on the first call: the `outgoing-body` resource for + * this `outgoing-request` can be retrieved at most once. Subsequent + * calls will return error. + */ + body(): OutgoingBody; + /** + * Get the Method for the Request. + */ + method(): Method; + /** + * Set the Method for the Request. Fails if the string present in a + * `method.other` argument is not a syntactically valid method. + */ + setMethod(method: Method): void; + /** + * Get the combination of the HTTP Path and Query for the Request. + * When `none`, this represents an empty Path and empty Query. + */ + pathWithQuery(): string | undefined; + /** + * Set the combination of the HTTP Path and Query for the Request. + * When `none`, this represents an empty Path and empty Query. Fails is the + * string given is not a syntactically valid path and query uri component. + */ + setPathWithQuery(pathWithQuery: string | undefined): void; + /** + * Get the HTTP Related Scheme for the Request. When `none`, the + * implementation may choose an appropriate default scheme. + */ + scheme(): Scheme | undefined; + /** + * Set the HTTP Related Scheme for the Request. When `none`, the + * implementation may choose an appropriate default scheme. Fails if the + * string given is not a syntactically valid uri scheme. + */ + setScheme(scheme: Scheme | undefined): void; + /** + * Get the authority of the Request's target URI. A value of `none` may be used + * with Related Schemes which do not require an authority. The HTTP and + * HTTPS schemes always require an authority. + */ + authority(): string | undefined; + /** + * Set the authority of the Request's target URI. A value of `none` may be used + * with Related Schemes which do not require an authority. The HTTP and + * HTTPS schemes always require an authority. Fails if the string given is + * not a syntactically valid URI authority. + */ + setAuthority(authority: string | undefined): void; + /** + * Get the headers associated with the Request. + * + * The returned `headers` resource is immutable: `set`, `append`, and + * `delete` operations will fail with `header-error.immutable`. + * + * This headers resource is a child: it must be dropped before the parent + * `outgoing-request` is dropped, or its ownership is transferred to + * another component by e.g. `outgoing-handler.handle`. + */ + headers(): Headers; +} + +export class OutgoingResponse { + /** + * Construct an `outgoing-response`, with a default `status-code` of `200`. + * If a different `status-code` is needed, it must be set via the + * `set-status-code` method. + * + * * `headers` is the HTTP Headers for the Response. + */ + constructor(headers: Headers) + /** + * Get the HTTP Status Code for the Response. + */ + statusCode(): StatusCode; + /** + * Set the HTTP Status Code for the Response. Fails if the status-code + * given is not a valid http status code. + */ + setStatusCode(statusCode: StatusCode): void; + /** + * Get the headers associated with the Request. + * + * The returned `headers` resource is immutable: `set`, `append`, and + * `delete` operations will fail with `header-error.immutable`. + * + * This headers resource is a child: it must be dropped before the parent + * `outgoing-request` is dropped, or its ownership is transferred to + * another component by e.g. `outgoing-handler.handle`. + */ + headers(): Headers; + /** + * Returns the resource corresponding to the outgoing Body for this Response. + * + * Returns success on the first call: the `outgoing-body` resource for + * this `outgoing-response` can be retrieved at most once. Subsequent + * calls will return error. + */ + body(): OutgoingBody; +} + +export class RequestOptions { + /** + * Construct a default `request-options` value. + */ + constructor() + /** + * The timeout for the initial connect to the HTTP Server. + */ + connectTimeout(): Duration | undefined; + /** + * Set the timeout for the initial connect to the HTTP Server. An error + * return value indicates that this timeout is not supported. + */ + setConnectTimeout(duration: Duration | undefined): void; + /** + * The timeout for receiving the first byte of the Response body. + */ + firstByteTimeout(): Duration | undefined; + /** + * Set the timeout for receiving the first byte of the Response body. An + * error return value indicates that this timeout is not supported. + */ + setFirstByteTimeout(duration: Duration | undefined): void; + /** + * The timeout for receiving subsequent chunks of bytes in the Response + * body stream. + */ + betweenBytesTimeout(): Duration | undefined; + /** + * Set the timeout for receiving subsequent chunks of bytes in the Response + * body stream. An error return value indicates that this timeout is not + * supported. + */ + setBetweenBytesTimeout(duration: Duration | undefined): void; +} + +export class ResponseOutparam { + /** + * Set the value of the `response-outparam` to either send a response, + * or indicate an error. + * + * This method consumes the `response-outparam` to ensure that it is + * called at most once. If it is never called, the implementation + * will respond with an error. + * + * The user may provide an `error` to `response` to allow the + * implementation determine how to respond with an HTTP error response. + */ + static set(param: ResponseOutparam, response: Result): void; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-error.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-error.d.ts new file mode 100644 index 0000000..e0dbb1c --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-error.d.ts @@ -0,0 +1,16 @@ +export namespace WasiIoError { + export { Error }; +} + +export class Error { + /** + * Returns a string that is suitable to assist humans in debugging + * this error. + * + * WARNING: The returned string should not be consumed mechanically! + * It may change across platforms, hosts, or other implementation + * details. Parsing this string is a major platform-compatibility + * hazard. + */ + toDebugString(): string; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-poll.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-poll.d.ts new file mode 100644 index 0000000..1e8bdb0 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-poll.d.ts @@ -0,0 +1,42 @@ +export namespace WasiIoPoll { + export { Pollable }; + /** + * Poll for completion on a set of pollables. + * + * This function takes a list of pollables, which identify I/O sources of + * interest, and waits until one or more of the events is ready for I/O. + * + * The result `list` contains one or more indices of handles in the + * argument list that is ready for I/O. + * + * This function traps if either: + * - the list is empty, or: + * - the list contains more elements than can be indexed with a `u32` value. + * + * A timeout can be implemented by adding a pollable from the + * wasi-clocks API to the list. + * + * This function does not return a `result`; polling in itself does not + * do any I/O so it doesn't fail. If any of the I/O sources identified by + * the pollables has an error, it is indicated by marking the source as + * being ready for I/O. + */ + export function poll(in_: Array): Uint32Array; +} + +export class Pollable { + /** + * Return the readiness of a pollable. This function never blocks. + * + * Returns `true` when the pollable is ready, and `false` otherwise. + */ + ready(): boolean; + /** + * `block` returns immediately if the pollable is ready, and otherwise + * blocks until ready. + * + * This function is equivalent to calling `poll.poll` on a list + * containing only this pollable. + */ + block(): void; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-streams.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-streams.d.ts new file mode 100644 index 0000000..a525576 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-io-streams.d.ts @@ -0,0 +1,237 @@ +export namespace WasiIoStreams { + export { InputStream }; + export { OutputStream }; +} +import type { Error } from './wasi-io-error.js'; +export { Error }; +import type { Pollable } from './wasi-io-poll.js'; +export { Pollable }; +/** + * An error for input-stream and output-stream operations. + */ +export type StreamError = StreamErrorLastOperationFailed | StreamErrorClosed; +/** + * The last operation (a write or flush) failed before completion. + * + * More information is available in the `error` payload. + */ +export interface StreamErrorLastOperationFailed { + tag: 'last-operation-failed', + val: Error, +} +/** + * The stream is closed: no more input will be accepted by the + * stream. A closed output-stream will return this error on all + * future operations. + */ +export interface StreamErrorClosed { + tag: 'closed', +} + +export class InputStream { + /** + * Perform a non-blocking read from the stream. + * + * When the source of a `read` is binary data, the bytes from the source + * are returned verbatim. When the source of a `read` is known to the + * implementation to be text, bytes containing the UTF-8 encoding of the + * text are returned. + * + * This function returns a list of bytes containing the read data, + * when successful. The returned list will contain up to `len` bytes; + * it may return fewer than requested, but not more. The list is + * empty when no bytes are available for reading at this time. The + * pollable given by `subscribe` will be ready when more bytes are + * available. + * + * This function fails with a `stream-error` when the operation + * encounters an error, giving `last-operation-failed`, or when the + * stream is closed, giving `closed`. + * + * When the caller gives a `len` of 0, it represents a request to + * read 0 bytes. If the stream is still open, this call should + * succeed and return an empty list, or otherwise fail with `closed`. + * + * The `len` parameter is a `u64`, which could represent a list of u8 which + * is not possible to allocate in wasm32, or not desirable to allocate as + * as a return value by the callee. The callee may return a list of bytes + * less than `len` in size while more bytes are available for reading. + */ + read(len: bigint): Uint8Array; + /** + * Read bytes from a stream, after blocking until at least one byte can + * be read. Except for blocking, behavior is identical to `read`. + */ + blockingRead(len: bigint): Uint8Array; + /** + * Skip bytes from a stream. Returns number of bytes skipped. + * + * Behaves identical to `read`, except instead of returning a list + * of bytes, returns the number of bytes consumed from the stream. + */ + skip(len: bigint): bigint; + /** + * Skip bytes from a stream, after blocking until at least one byte + * can be skipped. Except for blocking behavior, identical to `skip`. + */ + blockingSkip(len: bigint): bigint; + /** + * Create a `pollable` which will resolve once either the specified stream + * has bytes available to read or the other end of the stream has been + * closed. + * The created `pollable` is a child resource of the `input-stream`. + * Implementations may trap if the `input-stream` is dropped before + * all derived `pollable`s created with this function are dropped. + */ + subscribe(): Pollable; +} + +export class OutputStream { + /** + * Check readiness for writing. This function never blocks. + * + * Returns the number of bytes permitted for the next call to `write`, + * or an error. Calling `write` with more bytes than this function has + * permitted will trap. + * + * When this function returns 0 bytes, the `subscribe` pollable will + * become ready when this function will report at least 1 byte, or an + * error. + */ + checkWrite(): bigint; + /** + * Perform a write. This function never blocks. + * + * When the destination of a `write` is binary data, the bytes from + * `contents` are written verbatim. When the destination of a `write` is + * known to the implementation to be text, the bytes of `contents` are + * transcoded from UTF-8 into the encoding of the destination and then + * written. + * + * Precondition: check-write gave permit of Ok(n) and contents has a + * length of less than or equal to n. Otherwise, this function will trap. + * + * returns Err(closed) without writing if the stream has closed since + * the last call to check-write provided a permit. + */ + write(contents: Uint8Array): void; + /** + * Perform a write of up to 4096 bytes, and then flush the stream. Block + * until all of these operations are complete, or an error occurs. + * + * This is a convenience wrapper around the use of `check-write`, + * `subscribe`, `write`, and `flush`, and is implemented with the + * following pseudo-code: + * + * ```text + * let pollable = this.subscribe(); + * while !contents.is_empty() { + * // Wait for the stream to become writable + * pollable.block(); + * let Ok(n) = this.check-write(); // eliding error handling + * let len = min(n, contents.len()); + * let (chunk, rest) = contents.split_at(len); + * this.write(chunk ); // eliding error handling + * contents = rest; + * } + * this.flush(); + * // Wait for completion of `flush` + * pollable.block(); + * // Check for any errors that arose during `flush` + * let _ = this.check-write(); // eliding error handling + * ``` + */ + blockingWriteAndFlush(contents: Uint8Array): void; + /** + * Request to flush buffered output. This function never blocks. + * + * This tells the output-stream that the caller intends any buffered + * output to be flushed. the output which is expected to be flushed + * is all that has been passed to `write` prior to this call. + * + * Upon calling this function, the `output-stream` will not accept any + * writes (`check-write` will return `ok(0)`) until the flush has + * completed. The `subscribe` pollable will become ready when the + * flush has completed and the stream can accept more writes. + */ + flush(): void; + /** + * Request to flush buffered output, and block until flush completes + * and stream is ready for writing again. + */ + blockingFlush(): void; + /** + * Create a `pollable` which will resolve once the output-stream + * is ready for more writing, or an error has occurred. When this + * pollable is ready, `check-write` will return `ok(n)` with n>0, or an + * error. + * + * If the stream is closed, this pollable is always ready immediately. + * + * The created `pollable` is a child resource of the `output-stream`. + * Implementations may trap if the `output-stream` is dropped before + * all derived `pollable`s created with this function are dropped. + */ + subscribe(): Pollable; + /** + * Write zeroes to a stream. + * + * This should be used precisely like `write` with the exact same + * preconditions (must use check-write first), but instead of + * passing a list of bytes, you simply pass the number of zero-bytes + * that should be written. + */ + writeZeroes(len: bigint): void; + /** + * Perform a write of up to 4096 zeroes, and then flush the stream. + * Block until all of these operations are complete, or an error + * occurs. + * + * This is a convenience wrapper around the use of `check-write`, + * `subscribe`, `write-zeroes`, and `flush`, and is implemented with + * the following pseudo-code: + * + * ```text + * let pollable = this.subscribe(); + * while num_zeroes != 0 { + * // Wait for the stream to become writable + * pollable.block(); + * let Ok(n) = this.check-write(); // eliding error handling + * let len = min(n, num_zeroes); + * this.write-zeroes(len); // eliding error handling + * num_zeroes -= len; + * } + * this.flush(); + * // Wait for completion of `flush` + * pollable.block(); + * // Check for any errors that arose during `flush` + * let _ = this.check-write(); // eliding error handling + * ``` + */ + blockingWriteZeroesAndFlush(len: bigint): void; + /** + * Read from one stream and write to another. + * + * The behavior of splice is equivalent to: + * 1. calling `check-write` on the `output-stream` + * 2. calling `read` on the `input-stream` with the smaller of the + * `check-write` permitted length and the `len` provided to `splice` + * 3. calling `write` on the `output-stream` with that read data. + * + * Any error reported by the call to `check-write`, `read`, or + * `write` ends the splice and reports that error. + * + * This function returns the number of bytes transferred; it may be less + * than `len`. + */ + splice(src: InputStream, len: bigint): bigint; + /** + * Read from one stream and write to another, with blocking. + * + * This is similar to `splice`, except that it blocks until the + * `output-stream` is ready for writing, and the `input-stream` + * is ready for reading, before performing the `splice`. + */ + blockingSplice(src: InputStream, len: bigint): bigint; + } + \ No newline at end of file diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure-seed.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure-seed.d.ts new file mode 100644 index 0000000..816401c --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure-seed.d.ts @@ -0,0 +1,22 @@ +export namespace WasiRandomInsecureSeed { + /** + * Return a 128-bit value that may contain a pseudo-random value. + * + * The returned value is not required to be computed from a CSPRNG, and may + * even be entirely deterministic. Host implementations are encouraged to + * provide pseudo-random values to any program exposed to + * attacker-controlled content, to enable DoS protection built into many + * languages' hash-map implementations. + * + * This function is intended to only be called once, by a source language + * to initialize Denial Of Service (DoS) protection in its hash-map + * implementation. + * + * # Expected future evolution + * + * This will likely be changed to a value import, to prevent it from being + * called multiple times and potentially used for purposes other than DoS + * protection. + */ + export function insecureSeed(): [bigint, bigint]; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure.d.ts new file mode 100644 index 0000000..a847eb2 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-insecure.d.ts @@ -0,0 +1,20 @@ +export namespace WasiRandomInsecure { + /** + * Return `len` insecure pseudo-random bytes. + * + * This function is not cryptographically secure. Do not use it for + * anything related to security. + * + * There are no requirements on the values of the returned bytes, however + * implementations are encouraged to return evenly distributed values with + * a long period. + */ + export function getInsecureRandomBytes(len: bigint): Uint8Array; + /** + * Return an insecure pseudo-random `u64` value. + * + * This function returns the same type of pseudo-random data as + * `get-insecure-random-bytes`, represented as a `u64`. + */ + export function getInsecureRandomU64(): bigint; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-random.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-random.d.ts new file mode 100644 index 0000000..0f4b1e1 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-random-random.d.ts @@ -0,0 +1,24 @@ +export namespace WasiRandomRandom { + /** + * Return `len` cryptographically-secure random or pseudo-random bytes. + * + * This function must produce data at least as cryptographically secure and + * fast as an adequately seeded cryptographically-secure pseudo-random + * number generator (CSPRNG). It must not block, from the perspective of + * the calling program, under any circumstances, including on the first + * request and on requests for numbers of bytes. The returned data must + * always be unpredictable. + * + * This function must always return fresh data. Deterministic environments + * must omit this function, rather than implementing it with deterministic + * data. + */ + export function getRandomBytes(len: bigint): Uint8Array; + /** + * Return a cryptographically-secure random or pseudo-random `u64` value. + * + * This function returns the same type of data as `get-random-bytes`, + * represented as a `u64`. + */ + export function getRandomU64(): bigint; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-instance-network.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-instance-network.d.ts new file mode 100644 index 0000000..b4ffbe1 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-instance-network.d.ts @@ -0,0 +1,8 @@ +export namespace WasiSocketsInstanceNetwork { + /** + * Get a handle to the default network. + */ + export function instanceNetwork(): Network; +} +import type { Network } from './wasi-sockets-network.js'; +export { Network }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts new file mode 100644 index 0000000..3b1fb96 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-ip-name-lookup.d.ts @@ -0,0 +1,60 @@ +export namespace WasiSocketsIpNameLookup { + /** + * Resolve an internet host name to a list of IP addresses. + * + * Unicode domain names are automatically converted to ASCII using IDNA encoding. + * If the input is an IP address string, the address is parsed and returned + * as-is without making any external requests. + * + * See the wasi-socket proposal README.md for a comparison with getaddrinfo. + * + * This function never blocks. It either immediately fails or immediately + * returns successfully with a `resolve-address-stream` that can be used + * to (asynchronously) fetch the results. + * + * # Typical errors + * - `invalid-argument`: `name` is a syntactically invalid domain name or IP address. + * + * # References: + * - + * - + * - + * - + */ + export function resolveAddresses(network: Network, name: string): ResolveAddressStream; + export { ResolveAddressStream }; +} +import type { Pollable } from './wasi-io-poll.js'; +export { Pollable }; +import type { Network } from './wasi-sockets-network.js'; +export { Network }; +import type { ErrorCode } from './wasi-sockets-network.js'; +export { ErrorCode }; +import type { IpAddress } from './wasi-sockets-network.js'; +export { IpAddress }; + +export class ResolveAddressStream { + /** + * Returns the next address from the resolver. + * + * This function should be called multiple times. On each call, it will + * return the next address in connection order preference. If all + * addresses have been exhausted, this function returns `none`. + * + * This function never returns IPv4-mapped IPv6 addresses. + * + * # Typical errors + * - `name-unresolvable`: Name does not exist or has no suitable associated IP addresses. (EAI_NONAME, EAI_NODATA, EAI_ADDRFAMILY) + * - `temporary-resolver-failure`: A temporary failure in name resolution occurred. (EAI_AGAIN) + * - `permanent-resolver-failure`: A permanent failure in name resolution occurred. (EAI_FAIL) + * - `would-block`: A result is not available yet. (EWOULDBLOCK, EAGAIN) + */ + resolveNextAddress(): IpAddress | undefined; + /** + * Create a `pollable` which will resolve once the stream is ready for I/O. + * + * Note: this function is here for WASI Preview2 only. + * It's planned to be removed when `future` is natively supported in Preview3. + */ + subscribe(): Pollable; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-network.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-network.d.ts new file mode 100644 index 0000000..76547df --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-network.d.ts @@ -0,0 +1,162 @@ +export namespace WasiSocketsNetwork { + export { Network }; +} +/** + * Error codes. + * + * In theory, every API can return any error code. + * In practice, API's typically only return the errors documented per API + * combined with a couple of errors that are always possible: + * - `unknown` + * - `access-denied` + * - `not-supported` + * - `out-of-memory` + * - `concurrency-conflict` + * + * See each individual API for what the POSIX equivalents are. They sometimes differ per API. + * # Variants + * + * ## `"unknown"` + * + * Unknown error + * ## `"access-denied"` + * + * Access denied. + * + * POSIX equivalent: EACCES, EPERM + * ## `"not-supported"` + * + * The operation is not supported. + * + * POSIX equivalent: EOPNOTSUPP + * ## `"invalid-argument"` + * + * One of the arguments is invalid. + * + * POSIX equivalent: EINVAL + * ## `"out-of-memory"` + * + * Not enough memory to complete the operation. + * + * POSIX equivalent: ENOMEM, ENOBUFS, EAI_MEMORY + * ## `"timeout"` + * + * The operation timed out before it could finish completely. + * ## `"concurrency-conflict"` + * + * This operation is incompatible with another asynchronous operation that is already in progress. + * + * POSIX equivalent: EALREADY + * ## `"not-in-progress"` + * + * Trying to finish an asynchronous operation that: + * - has not been started yet, or: + * - was already finished by a previous `finish-*` call. + * + * Note: this is scheduled to be removed when `future`s are natively supported. + * ## `"would-block"` + * + * The operation has been aborted because it could not be completed immediately. + * + * Note: this is scheduled to be removed when `future`s are natively supported. + * ## `"invalid-state"` + * + * The operation is not valid in the socket's current state. + * ## `"new-socket-limit"` + * + * A new socket resource could not be created because of a system limit. + * ## `"address-not-bindable"` + * + * A bind operation failed because the provided address is not an address that the `network` can bind to. + * ## `"address-in-use"` + * + * A bind operation failed because the provided address is already in use or because there are no ephemeral ports available. + * ## `"remote-unreachable"` + * + * The remote address is not reachable + * ## `"connection-refused"` + * + * The TCP connection was forcefully rejected + * ## `"connection-reset"` + * + * The TCP connection was reset. + * ## `"connection-aborted"` + * + * A TCP connection was aborted. + * ## `"datagram-too-large"` + * + * The size of a datagram sent to a UDP socket exceeded the maximum + * supported size. + * ## `"name-unresolvable"` + * + * Name does not exist or has no suitable associated IP addresses. + * ## `"temporary-resolver-failure"` + * + * A temporary failure in name resolution occurred. + * ## `"permanent-resolver-failure"` + * + * A permanent failure in name resolution occurred. + */ +export type ErrorCode = 'unknown' | 'access-denied' | 'not-supported' | 'invalid-argument' | 'out-of-memory' | 'timeout' | 'concurrency-conflict' | 'not-in-progress' | 'would-block' | 'invalid-state' | 'new-socket-limit' | 'address-not-bindable' | 'address-in-use' | 'remote-unreachable' | 'connection-refused' | 'connection-reset' | 'connection-aborted' | 'datagram-too-large' | 'name-unresolvable' | 'temporary-resolver-failure' | 'permanent-resolver-failure'; +/** + * # Variants + * + * ## `"ipv4"` + * + * Similar to `AF_INET` in POSIX. + * ## `"ipv6"` + * + * Similar to `AF_INET6` in POSIX. + */ +export type IpAddressFamily = 'ipv4' | 'ipv6'; +export type Ipv4Address = [number, number, number, number]; +export type Ipv6Address = [number, number, number, number, number, number, number, number]; +export type IpAddress = IpAddressIpv4 | IpAddressIpv6; +export interface IpAddressIpv4 { + tag: 'ipv4', + val: Ipv4Address, +} +export interface IpAddressIpv6 { + tag: 'ipv6', + val: Ipv6Address, +} +export interface Ipv4SocketAddress { + /** + * sin_port + */ + port: number, + /** + * sin_addr + */ + address: Ipv4Address, +} +export interface Ipv6SocketAddress { + /** + * sin6_port + */ + port: number, + /** + * sin6_flowinfo + */ + flowInfo: number, + /** + * sin6_addr + */ + address: Ipv6Address, + /** + * sin6_scope_id + */ + scopeId: number, +} +export type IpSocketAddress = IpSocketAddressIpv4 | IpSocketAddressIpv6; +export interface IpSocketAddressIpv4 { + tag: 'ipv4', + val: Ipv4SocketAddress, +} +export interface IpSocketAddressIpv6 { + tag: 'ipv6', + val: Ipv6SocketAddress, +} + +export class Network { +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp-create-socket.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp-create-socket.d.ts new file mode 100644 index 0000000..33376d3 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp-create-socket.d.ts @@ -0,0 +1,33 @@ +export namespace WasiSocketsTcpCreateSocket { + /** + * Create a new TCP socket. + * + * Similar to `socket(AF_INET or AF_INET6, SOCK_STREAM, IPPROTO_TCP)` in POSIX. + * On IPv6 sockets, IPV6_V6ONLY is enabled by default and can't be configured otherwise. + * + * This function does not require a network capability handle. This is considered to be safe because + * at time of creation, the socket is not bound to any `network` yet. Up to the moment `bind`/`connect` + * is called, the socket is effectively an in-memory configuration object, unable to communicate with the outside world. + * + * All sockets are non-blocking. Use the wasi-poll interface to block on asynchronous operations. + * + * # Typical errors + * - `not-supported`: The specified `address-family` is not supported. (EAFNOSUPPORT) + * - `new-socket-limit`: The new socket resource could not be created because of a system limit. (EMFILE, ENFILE) + * + * # References + * - + * - + * - + * - + */ + export function createTcpSocket(addressFamily: IpAddressFamily): TcpSocket; +} +import type { Network } from './wasi-sockets-network.js'; +export { Network }; +import type { ErrorCode } from './wasi-sockets-network.js'; +export { ErrorCode }; +import type { IpAddressFamily } from './wasi-sockets-network.js'; +export { IpAddressFamily }; +import type { TcpSocket } from './wasi-sockets-tcp.js'; +export { TcpSocket }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp.d.ts new file mode 100644 index 0000000..b6489bc --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-tcp.d.ts @@ -0,0 +1,365 @@ +export namespace WasiSocketsTcp { + export { TcpSocket }; +} +import type { InputStream } from './wasi-io-streams.js'; +export { InputStream }; +import type { OutputStream } from './wasi-io-streams.js'; +export { OutputStream }; +import type { Pollable } from './wasi-io-poll.js'; +export { Pollable }; +import type { Duration } from './wasi-clocks-monotonic-clock.js'; +export { Duration }; +import type { Network } from './wasi-sockets-network.js'; +export { Network }; +import type { ErrorCode } from './wasi-sockets-network.js'; +export { ErrorCode }; +import type { IpSocketAddress } from './wasi-sockets-network.js'; +export { IpSocketAddress }; +import type { IpAddressFamily } from './wasi-sockets-network.js'; +export { IpAddressFamily }; +/** + * # Variants + * + * ## `"receive"` + * + * Similar to `SHUT_RD` in POSIX. + * ## `"send"` + * + * Similar to `SHUT_WR` in POSIX. + * ## `"both"` + * + * Similar to `SHUT_RDWR` in POSIX. + */ +export type ShutdownType = 'receive' | 'send' | 'both'; + +export class TcpSocket { + /** + * Bind the socket to a specific network on the provided IP address and port. + * + * If the IP address is zero (`0.0.0.0` in IPv4, `::` in IPv6), it is left to the implementation to decide which + * network interface(s) to bind to. + * If the TCP/UDP port is zero, the socket will be bound to a random free port. + * + * Bind can be attempted multiple times on the same socket, even with + * different arguments on each iteration. But never concurrently and + * only as long as the previous bind failed. Once a bind succeeds, the + * binding can't be changed anymore. + * + * # Typical errors + * - `invalid-argument`: The `local-address` has the wrong address family. (EAFNOSUPPORT, EFAULT on Windows) + * - `invalid-argument`: `local-address` is not a unicast address. (EINVAL) + * - `invalid-argument`: `local-address` is an IPv4-mapped IPv6 address. (EINVAL) + * - `invalid-state`: The socket is already bound. (EINVAL) + * - `address-in-use`: No ephemeral ports available. (EADDRINUSE, ENOBUFS on Windows) + * - `address-in-use`: Address is already in use. (EADDRINUSE) + * - `address-not-bindable`: `local-address` is not an address that the `network` can bind to. (EADDRNOTAVAIL) + * - `not-in-progress`: A `bind` operation is not in progress. + * - `would-block`: Can't finish the operation, it is still in progress. (EWOULDBLOCK, EAGAIN) + * + * # Implementors note + * When binding to a non-zero port, this bind operation shouldn't be affected by the TIME_WAIT + * state of a recently closed socket on the same local address. In practice this means that the SO_REUSEADDR + * socket option should be set implicitly on all platforms, except on Windows where this is the default behavior + * and SO_REUSEADDR performs something different entirely. + * + * Unlike in POSIX, in WASI the bind operation is async. This enables + * interactive WASI hosts to inject permission prompts. Runtimes that + * don't want to make use of this ability can simply call the native + * `bind` as part of either `start-bind` or `finish-bind`. + * + * # References + * - + * - + * - + * - + */ + startBind(network: Network, localAddress: IpSocketAddress): void; + finishBind(): void; + /** + * Connect to a remote endpoint. + * + * On success: + * - the socket is transitioned into the `connected` state. + * - a pair of streams is returned that can be used to read & write to the connection + * + * After a failed connection attempt, the socket will be in the `closed` + * state and the only valid action left is to `drop` the socket. A single + * socket can not be used to connect more than once. + * + * # Typical errors + * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) + * - `invalid-argument`: `remote-address` is not a unicast address. (EINVAL, ENETUNREACH on Linux, EAFNOSUPPORT on MacOS) + * - `invalid-argument`: `remote-address` is an IPv4-mapped IPv6 address. (EINVAL, EADDRNOTAVAIL on Illumos) + * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EADDRNOTAVAIL on Windows) + * - `invalid-argument`: The port in `remote-address` is set to 0. (EADDRNOTAVAIL on Windows) + * - `invalid-argument`: The socket is already attached to a different network. The `network` passed to `connect` must be identical to the one passed to `bind`. + * - `invalid-state`: The socket is already in the `connected` state. (EISCONN) + * - `invalid-state`: The socket is already in the `listening` state. (EOPNOTSUPP, EINVAL on Windows) + * - `timeout`: Connection timed out. (ETIMEDOUT) + * - `connection-refused`: The connection was forcefully rejected. (ECONNREFUSED) + * - `connection-reset`: The connection was reset. (ECONNRESET) + * - `connection-aborted`: The connection was aborted. (ECONNABORTED) + * - `remote-unreachable`: The remote address is not reachable. (EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE, EADDRNOTAVAIL on Linux, EAGAIN on BSD) + * - `not-in-progress`: A connect operation is not in progress. + * - `would-block`: Can't finish the operation, it is still in progress. (EWOULDBLOCK, EAGAIN) + * + * # Implementors note + * The POSIX equivalent of `start-connect` is the regular `connect` syscall. + * Because all WASI sockets are non-blocking this is expected to return + * EINPROGRESS, which should be translated to `ok()` in WASI. + * + * The POSIX equivalent of `finish-connect` is a `poll` for event `POLLOUT` + * with a timeout of 0 on the socket descriptor. Followed by a check for + * the `SO_ERROR` socket option, in case the poll signaled readiness. + * + * # References + * - + * - + * - + * - + */ + startConnect(network: Network, remoteAddress: IpSocketAddress): void; + finishConnect(): [InputStream, OutputStream]; + /** + * Start listening for new connections. + * + * Transitions the socket into the `listening` state. + * + * Unlike POSIX, the socket must already be explicitly bound. + * + * # Typical errors + * - `invalid-state`: The socket is not bound to any local address. (EDESTADDRREQ) + * - `invalid-state`: The socket is already in the `connected` state. (EISCONN, EINVAL on BSD) + * - `invalid-state`: The socket is already in the `listening` state. + * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE) + * - `not-in-progress`: A listen operation is not in progress. + * - `would-block`: Can't finish the operation, it is still in progress. (EWOULDBLOCK, EAGAIN) + * + * # Implementors note + * Unlike in POSIX, in WASI the listen operation is async. This enables + * interactive WASI hosts to inject permission prompts. Runtimes that + * don't want to make use of this ability can simply call the native + * `listen` as part of either `start-listen` or `finish-listen`. + * + * # References + * - + * - + * - + * - + */ + startListen(): void; + finishListen(): void; + /** + * Accept a new client socket. + * + * The returned socket is bound and in the `connected` state. The following properties are inherited from the listener socket: + * - `address-family` + * - `keep-alive-enabled` + * - `keep-alive-idle-time` + * - `keep-alive-interval` + * - `keep-alive-count` + * - `hop-limit` + * - `receive-buffer-size` + * - `send-buffer-size` + * + * On success, this function returns the newly accepted client socket along with + * a pair of streams that can be used to read & write to the connection. + * + * # Typical errors + * - `invalid-state`: Socket is not in the `listening` state. (EINVAL) + * - `would-block`: No pending connections at the moment. (EWOULDBLOCK, EAGAIN) + * - `connection-aborted`: An incoming connection was pending, but was terminated by the client before this listener could accept it. (ECONNABORTED) + * - `new-socket-limit`: The new socket resource could not be created because of a system limit. (EMFILE, ENFILE) + * + * # References + * - + * - + * - + * - + */ + accept(): [TcpSocket, InputStream, OutputStream]; + /** + * Get the bound local address. + * + * POSIX mentions: + * > If the socket has not been bound to a local name, the value + * > stored in the object pointed to by `address` is unspecified. + * + * WASI is stricter and requires `local-address` to return `invalid-state` when the socket hasn't been bound yet. + * + * # Typical errors + * - `invalid-state`: The socket is not bound to any local address. + * + * # References + * - + * - + * - + * - + */ + localAddress(): IpSocketAddress; + /** + * Get the remote address. + * + * # Typical errors + * - `invalid-state`: The socket is not connected to a remote address. (ENOTCONN) + * + * # References + * - + * - + * - + * - + */ + remoteAddress(): IpSocketAddress; + /** + * Whether the socket is in the `listening` state. + * + * Equivalent to the SO_ACCEPTCONN socket option. + */ + isListening(): boolean; + /** + * Whether this is a IPv4 or IPv6 socket. + * + * Equivalent to the SO_DOMAIN socket option. + */ + addressFamily(): IpAddressFamily; + /** + * Hints the desired listen queue size. Implementations are free to ignore this. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * + * # Typical errors + * - `not-supported`: (set) The platform does not support changing the backlog size after the initial listen. + * - `invalid-argument`: (set) The provided value was 0. + * - `invalid-state`: (set) The socket is in the `connect-in-progress` or `connected` state. + */ + setListenBacklogSize(value: bigint): void; + /** + * Enables or disables keepalive. + * + * The keepalive behavior can be adjusted using: + * - `keep-alive-idle-time` + * - `keep-alive-interval` + * - `keep-alive-count` + * These properties can be configured while `keep-alive-enabled` is false, but only come into effect when `keep-alive-enabled` is true. + * + * Equivalent to the SO_KEEPALIVE socket option. + */ + keepAliveEnabled(): boolean; + setKeepAliveEnabled(value: boolean): void; + /** + * Amount of time the connection has to be idle before TCP starts sending keepalive packets. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the TCP_KEEPIDLE socket option. (TCP_KEEPALIVE on MacOS) + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + keepAliveIdleTime(): Duration; + setKeepAliveIdleTime(value: Duration): void; + /** + * The time between keepalive packets. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the TCP_KEEPINTVL socket option. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + keepAliveInterval(): Duration; + setKeepAliveInterval(value: Duration): void; + /** + * The maximum amount of keepalive packets TCP should send before aborting the connection. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the TCP_KEEPCNT socket option. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + keepAliveCount(): number; + setKeepAliveCount(value: number): void; + /** + * Equivalent to the IP_TTL & IPV6_UNICAST_HOPS socket options. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * + * # Typical errors + * - `invalid-argument`: (set) The TTL value must be 1 or higher. + */ + hopLimit(): number; + setHopLimit(value: number): void; + /** + * The kernel buffer space reserved for sends/receives on this socket. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the SO_RCVBUF and SO_SNDBUF socket options. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + receiveBufferSize(): bigint; + setReceiveBufferSize(value: bigint): void; + sendBufferSize(): bigint; + setSendBufferSize(value: bigint): void; + /** + * Create a `pollable` which can be used to poll for, or block on, + * completion of any of the asynchronous operations of this socket. + * + * When `finish-bind`, `finish-listen`, `finish-connect` or `accept` + * return `error(would-block)`, this pollable can be used to wait for + * their success or failure, after which the method can be retried. + * + * The pollable is not limited to the async operation that happens to be + * in progress at the time of calling `subscribe` (if any). Theoretically, + * `subscribe` only has to be called once per socket and can then be + * (re)used for the remainder of the socket's lifetime. + * + * See + * for more information. + * + * Note: this function is here for WASI Preview2 only. + * It's planned to be removed when `future` is natively supported in Preview3. + */ + subscribe(): Pollable; + /** + * Initiate a graceful shutdown. + * + * - `receive`: The socket is not expecting to receive any data from + * the peer. The `input-stream` associated with this socket will be + * closed. Any data still in the receive queue at time of calling + * this method will be discarded. + * - `send`: The socket has no more data to send to the peer. The `output-stream` + * associated with this socket will be closed and a FIN packet will be sent. + * - `both`: Same effect as `receive` & `send` combined. + * + * This function is idempotent; shutting down a direction more than once + * has no effect and returns `ok`. + * + * The shutdown function does not close (drop) the socket. + * + * # Typical errors + * - `invalid-state`: The socket is not in the `connected` state. (ENOTCONN) + * + * # References + * - + * - + * - + * - + */ + shutdown(shutdownType: ShutdownType): void; +} diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp-create-socket.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp-create-socket.d.ts new file mode 100644 index 0000000..7e61655 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp-create-socket.d.ts @@ -0,0 +1,33 @@ +export namespace WasiSocketsUdpCreateSocket { + /** + * Create a new UDP socket. + * + * Similar to `socket(AF_INET or AF_INET6, SOCK_DGRAM, IPPROTO_UDP)` in POSIX. + * On IPv6 sockets, IPV6_V6ONLY is enabled by default and can't be configured otherwise. + * + * This function does not require a network capability handle. This is considered to be safe because + * at time of creation, the socket is not bound to any `network` yet. Up to the moment `bind` is called, + * the socket is effectively an in-memory configuration object, unable to communicate with the outside world. + * + * All sockets are non-blocking. Use the wasi-poll interface to block on asynchronous operations. + * + * # Typical errors + * - `not-supported`: The specified `address-family` is not supported. (EAFNOSUPPORT) + * - `new-socket-limit`: The new socket resource could not be created because of a system limit. (EMFILE, ENFILE) + * + * # References: + * - + * - + * - + * - + */ + export function createUdpSocket(addressFamily: IpAddressFamily): UdpSocket; +} +import type { Network } from './wasi-sockets-network.js'; +export { Network }; +import type { ErrorCode } from './wasi-sockets-network.js'; +export { ErrorCode }; +import type { IpAddressFamily } from './wasi-sockets-network.js'; +export { IpAddressFamily }; +import type { UdpSocket } from './wasi-sockets-udp.js'; +export { UdpSocket }; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp.d.ts new file mode 100644 index 0000000..3ee21ef --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/interfaces/wasi-sockets-udp.d.ts @@ -0,0 +1,298 @@ +export namespace WasiSocketsUdp { + export { UdpSocket }; + export { IncomingDatagramStream }; + export { OutgoingDatagramStream }; +} +import type { Pollable } from './wasi-io-poll.js'; +export { Pollable }; +import type { Network } from './wasi-sockets-network.js'; +export { Network }; +import type { ErrorCode } from './wasi-sockets-network.js'; +export { ErrorCode }; +import type { IpSocketAddress } from './wasi-sockets-network.js'; +export { IpSocketAddress }; +import type { IpAddressFamily } from './wasi-sockets-network.js'; +export { IpAddressFamily }; +/** + * A received datagram. + */ +export interface IncomingDatagram { + /** + * The payload. + * + * Theoretical max size: ~64 KiB. In practice, typically less than 1500 bytes. + */ + data: Uint8Array, + /** + * The source address. + * + * This field is guaranteed to match the remote address the stream was initialized with, if any. + * + * Equivalent to the `src_addr` out parameter of `recvfrom`. + */ + remoteAddress: IpSocketAddress, +} +/** + * A datagram to be sent out. + */ +export interface OutgoingDatagram { + /** + * The payload. + */ + data: Uint8Array, + /** + * The destination address. + * + * The requirements on this field depend on how the stream was initialized: + * - with a remote address: this field must be None or match the stream's remote address exactly. + * - without a remote address: this field is required. + * + * If this value is None, the send operation is equivalent to `send` in POSIX. Otherwise it is equivalent to `sendto`. + */ + remoteAddress?: IpSocketAddress, +} + +export class IncomingDatagramStream { + /** + * Receive messages on the socket. + * + * This function attempts to receive up to `max-results` datagrams on the socket without blocking. + * The returned list may contain fewer elements than requested, but never more. + * + * This function returns successfully with an empty list when either: + * - `max-results` is 0, or: + * - `max-results` is greater than 0, but no results are immediately available. + * This function never returns `error(would-block)`. + * + * # Typical errors + * - `remote-unreachable`: The remote address is not reachable. (ECONNRESET, ENETRESET on Windows, EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * - `connection-refused`: The connection was refused. (ECONNREFUSED) + * + * # References + * - + * - + * - + * - + * - + * - + * - + * - + */ + receive(maxResults: bigint): Array; + /** + * Create a `pollable` which will resolve once the stream is ready to receive again. + * + * Note: this function is here for WASI Preview2 only. + * It's planned to be removed when `future` is natively supported in Preview3. + */ + subscribe(): Pollable; +} + +export class OutgoingDatagramStream { + /** + * Check readiness for sending. This function never blocks. + * + * Returns the number of datagrams permitted for the next call to `send`, + * or an error. Calling `send` with more datagrams than this function has + * permitted will trap. + * + * When this function returns ok(0), the `subscribe` pollable will + * become ready when this function will report at least ok(1), or an + * error. + * + * Never returns `would-block`. + */ + checkSend(): bigint; + /** + * Send messages on the socket. + * + * This function attempts to send all provided `datagrams` on the socket without blocking and + * returns how many messages were actually sent (or queued for sending). This function never + * returns `error(would-block)`. If none of the datagrams were able to be sent, `ok(0)` is returned. + * + * This function semantically behaves the same as iterating the `datagrams` list and sequentially + * sending each individual datagram until either the end of the list has been reached or the first error occurred. + * If at least one datagram has been sent successfully, this function never returns an error. + * + * If the input list is empty, the function returns `ok(0)`. + * + * Each call to `send` must be permitted by a preceding `check-send`. Implementations must trap if + * either `check-send` was not called or `datagrams` contains more items than `check-send` permitted. + * + * # Typical errors + * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) + * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EDESTADDRREQ, EADDRNOTAVAIL) + * - `invalid-argument`: The port in `remote-address` is set to 0. (EDESTADDRREQ, EADDRNOTAVAIL) + * - `invalid-argument`: The socket is in "connected" mode and `remote-address` is `some` value that does not match the address passed to `stream`. (EISCONN) + * - `invalid-argument`: The socket is not "connected" and no value for `remote-address` was provided. (EDESTADDRREQ) + * - `remote-unreachable`: The remote address is not reachable. (ECONNRESET, ENETRESET on Windows, EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * - `connection-refused`: The connection was refused. (ECONNREFUSED) + * - `datagram-too-large`: The datagram is too large. (EMSGSIZE) + * + * # References + * - + * - + * - + * - + * - + * - + * - + * - + */ + send(datagrams: Array): bigint; + /** + * Create a `pollable` which will resolve once the stream is ready to send again. + * + * Note: this function is here for WASI Preview2 only. + * It's planned to be removed when `future` is natively supported in Preview3. + */ + subscribe(): Pollable; +} + +export class UdpSocket { + /** + * Bind the socket to a specific network on the provided IP address and port. + * + * If the IP address is zero (`0.0.0.0` in IPv4, `::` in IPv6), it is left to the implementation to decide which + * network interface(s) to bind to. + * If the port is zero, the socket will be bound to a random free port. + * + * # Typical errors + * - `invalid-argument`: The `local-address` has the wrong address family. (EAFNOSUPPORT, EFAULT on Windows) + * - `invalid-state`: The socket is already bound. (EINVAL) + * - `address-in-use`: No ephemeral ports available. (EADDRINUSE, ENOBUFS on Windows) + * - `address-in-use`: Address is already in use. (EADDRINUSE) + * - `address-not-bindable`: `local-address` is not an address that the `network` can bind to. (EADDRNOTAVAIL) + * - `not-in-progress`: A `bind` operation is not in progress. + * - `would-block`: Can't finish the operation, it is still in progress. (EWOULDBLOCK, EAGAIN) + * + * # Implementors note + * Unlike in POSIX, in WASI the bind operation is async. This enables + * interactive WASI hosts to inject permission prompts. Runtimes that + * don't want to make use of this ability can simply call the native + * `bind` as part of either `start-bind` or `finish-bind`. + * + * # References + * - + * - + * - + * - + */ + startBind(network: Network, localAddress: IpSocketAddress): void; + finishBind(): void; + /** + * Set up inbound & outbound communication channels, optionally to a specific peer. + * + * This function only changes the local socket configuration and does not generate any network traffic. + * On success, the `remote-address` of the socket is updated. The `local-address` may be updated as well, + * based on the best network path to `remote-address`. + * + * When a `remote-address` is provided, the returned streams are limited to communicating with that specific peer: + * - `send` can only be used to send to this destination. + * - `receive` will only return datagrams sent from the provided `remote-address`. + * + * This method may be called multiple times on the same socket to change its association, but + * only the most recently returned pair of streams will be operational. Implementations may trap if + * the streams returned by a previous invocation haven't been dropped yet before calling `stream` again. + * + * The POSIX equivalent in pseudo-code is: + * ```text + * if (was previously connected) { + * connect(s, AF_UNSPEC) + * } + * if (remote_address is Some) { + * connect(s, remote_address) + * } + * ``` + * + * Unlike in POSIX, the socket must already be explicitly bound. + * + * # Typical errors + * - `invalid-argument`: The `remote-address` has the wrong address family. (EAFNOSUPPORT) + * - `invalid-argument`: The IP address in `remote-address` is set to INADDR_ANY (`0.0.0.0` / `::`). (EDESTADDRREQ, EADDRNOTAVAIL) + * - `invalid-argument`: The port in `remote-address` is set to 0. (EDESTADDRREQ, EADDRNOTAVAIL) + * - `invalid-state`: The socket is not bound. + * - `address-in-use`: Tried to perform an implicit bind, but there were no ephemeral ports available. (EADDRINUSE, EADDRNOTAVAIL on Linux, EAGAIN on BSD) + * - `remote-unreachable`: The remote address is not reachable. (ECONNRESET, ENETRESET, EHOSTUNREACH, EHOSTDOWN, ENETUNREACH, ENETDOWN, ENONET) + * - `connection-refused`: The connection was refused. (ECONNREFUSED) + * + * # References + * - + * - + * - + * - + */ + stream(remoteAddress: IpSocketAddress | undefined): [IncomingDatagramStream, OutgoingDatagramStream]; + /** + * Get the current bound address. + * + * POSIX mentions: + * > If the socket has not been bound to a local name, the value + * > stored in the object pointed to by `address` is unspecified. + * + * WASI is stricter and requires `local-address` to return `invalid-state` when the socket hasn't been bound yet. + * + * # Typical errors + * - `invalid-state`: The socket is not bound to any local address. + * + * # References + * - + * - + * - + * - + */ + localAddress(): IpSocketAddress; + /** + * Get the address the socket is currently streaming to. + * + * # Typical errors + * - `invalid-state`: The socket is not streaming to a specific remote address. (ENOTCONN) + * + * # References + * - + * - + * - + * - + */ + remoteAddress(): IpSocketAddress; + /** + * Whether this is a IPv4 or IPv6 socket. + * + * Equivalent to the SO_DOMAIN socket option. + */ + addressFamily(): IpAddressFamily; + /** + * Equivalent to the IP_TTL & IPV6_UNICAST_HOPS socket options. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * + * # Typical errors + * - `invalid-argument`: (set) The TTL value must be 1 or higher. + */ + unicastHopLimit(): number; + setUnicastHopLimit(value: number): void; + /** + * The kernel buffer space reserved for sends/receives on this socket. + * + * If the provided value is 0, an `invalid-argument` error is returned. + * Any other value will never cause an error, but it might be silently clamped and/or rounded. + * I.e. after setting a value, reading the same setting back may return a different value. + * + * Equivalent to the SO_RCVBUF and SO_SNDBUF socket options. + * + * # Typical errors + * - `invalid-argument`: (set) The provided value was 0. + */ + receiveBufferSize(): bigint; + setReceiveBufferSize(value: bigint): void; + sendBufferSize(): bigint; + setSendBufferSize(value: bigint): void; + /** + * Create a `pollable` which will resolve once the socket is ready for I/O. + * + * Note: this function is here for WASI Preview2 only. + * It's planned to be removed when `future` is natively supported in Preview3. + */ + subscribe(): Pollable; + } + \ No newline at end of file diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/io.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/io.d.ts new file mode 100644 index 0000000..8c99877 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/io.d.ts @@ -0,0 +1,7 @@ +import type { WasiIoError } from './interfaces/wasi-io-error.d.ts'; +import type { WasiIoPoll } from './interfaces/wasi-io-poll.d.ts'; +import type { WasiIoStreams } from './interfaces/wasi-io-streams.d.ts'; + +export const error: typeof WasiIoError; +export const poll: typeof WasiIoPoll; +export const streams: typeof WasiIoStreams; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/random.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/random.d.ts new file mode 100644 index 0000000..185ed91 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/random.d.ts @@ -0,0 +1,7 @@ +import type { WasiRandomInsecureSeed } from './interfaces/wasi-random-insecure-seed.d.ts'; +import type { WasiRandomInsecure } from './interfaces/wasi-random-insecure.d.ts'; +import type { WasiRandomRandom } from './interfaces/wasi-random-random.d.ts'; + +export const insecureSeed: typeof WasiRandomInsecureSeed; +export const insecure: typeof WasiRandomInsecure; +export const random: typeof WasiRandomRandom; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/sockets.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/sockets.d.ts new file mode 100644 index 0000000..89e7797 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/sockets.d.ts @@ -0,0 +1,15 @@ +import type { WasiSocketsInstanceNetwork } from './interfaces/wasi-sockets-instance-network.d.ts'; +import type { WasiSocketsIpNameLookup } from './interfaces/wasi-sockets-ip-name-lookup.d.ts'; +import type { WasiSocketsNetwork } from './interfaces/wasi-sockets-network.d.ts'; +import type { WasiSocketsTcpCreateSocket } from './interfaces/wasi-sockets-tcp-create-socket.d.ts'; +import type { WasiSocketsTcp } from './interfaces/wasi-sockets-tcp.d.ts'; +import type { WasiSocketsUdpCreateSocket } from './interfaces/wasi-sockets-udp-create-socket.d.ts'; +import type { WasiSocketsUdp } from './interfaces/wasi-sockets-udp.d.ts'; + +export const instanceNetwork: typeof WasiSocketsInstanceNetwork; +export const ipNameLookup: typeof WasiSocketsIpNameLookup; +export const network: typeof WasiSocketsNetwork; +export const tcpCreateSocket: typeof WasiSocketsTcpCreateSocket; +export const tcp: typeof WasiSocketsTcp; +export const udpCreateSocket: typeof WasiSocketsUdpCreateSocket; +export const udp: typeof WasiSocketsUdp; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/wasi-cli-command.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/wasi-cli-command.d.ts new file mode 100644 index 0000000..819de54 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/wasi-cli-command.d.ts @@ -0,0 +1,29 @@ +import { WasiCliEnvironment } from './interfaces/wasi-cli-environment.js'; +import { WasiCliExit } from './interfaces/wasi-cli-exit.js'; +import { WasiCliStderr } from './interfaces/wasi-cli-stderr.js'; +import { WasiCliStdin } from './interfaces/wasi-cli-stdin.js'; +import { WasiCliStdout } from './interfaces/wasi-cli-stdout.js'; +import { WasiCliTerminalInput } from './interfaces/wasi-cli-terminal-input.js'; +import { WasiCliTerminalOutput } from './interfaces/wasi-cli-terminal-output.js'; +import { WasiCliTerminalStderr } from './interfaces/wasi-cli-terminal-stderr.js'; +import { WasiCliTerminalStdin } from './interfaces/wasi-cli-terminal-stdin.js'; +import { WasiCliTerminalStdout } from './interfaces/wasi-cli-terminal-stdout.js'; +import { WasiClocksMonotonicClock } from './interfaces/wasi-clocks-monotonic-clock.js'; +import { WasiClocksWallClock } from './interfaces/wasi-clocks-wall-clock.js'; +import { WasiFilesystemPreopens } from './interfaces/wasi-filesystem-preopens.js'; +import { WasiFilesystemTypes } from './interfaces/wasi-filesystem-types.js'; +import { WasiIoError } from './interfaces/wasi-io-error.js'; +import { WasiIoPoll } from './interfaces/wasi-io-poll.js'; +import { WasiIoStreams } from './interfaces/wasi-io-streams.js'; +import { WasiRandomInsecureSeed } from './interfaces/wasi-random-insecure-seed.js'; +import { WasiRandomInsecure } from './interfaces/wasi-random-insecure.js'; +import { WasiRandomRandom } from './interfaces/wasi-random-random.js'; +import { WasiSocketsInstanceNetwork } from './interfaces/wasi-sockets-instance-network.js'; +import { WasiSocketsIpNameLookup } from './interfaces/wasi-sockets-ip-name-lookup.js'; +import { WasiSocketsNetwork } from './interfaces/wasi-sockets-network.js'; +import { WasiSocketsTcpCreateSocket } from './interfaces/wasi-sockets-tcp-create-socket.js'; +import { WasiSocketsTcp } from './interfaces/wasi-sockets-tcp.js'; +import { WasiSocketsUdpCreateSocket } from './interfaces/wasi-sockets-udp-create-socket.js'; +import { WasiSocketsUdp } from './interfaces/wasi-sockets-udp.js'; +import { WasiCliRun } from './interfaces/wasi-cli-run.js'; +export const run: typeof WasiCliRun; diff --git a/demo/dist/@bytecodealliance/preview2-shim/types/wasi-http-proxy.d.ts b/demo/dist/@bytecodealliance/preview2-shim/types/wasi-http-proxy.d.ts new file mode 100644 index 0000000..6c32210 --- /dev/null +++ b/demo/dist/@bytecodealliance/preview2-shim/types/wasi-http-proxy.d.ts @@ -0,0 +1,13 @@ +import { WasiCliStderr } from './interfaces/wasi-cli-stderr.js'; +import { WasiCliStdin } from './interfaces/wasi-cli-stdin.js'; +import { WasiCliStdout } from './interfaces/wasi-cli-stdout.js'; +import { WasiClocksMonotonicClock } from './interfaces/wasi-clocks-monotonic-clock.js'; +import { WasiClocksWallClock } from './interfaces/wasi-clocks-wall-clock.js'; +import { WasiHttpOutgoingHandler } from './interfaces/wasi-http-outgoing-handler.js'; +import { WasiHttpTypes } from './interfaces/wasi-http-types.js'; +import { WasiIoError } from './interfaces/wasi-io-error.js'; +import { WasiIoPoll } from './interfaces/wasi-io-poll.js'; +import { WasiIoStreams } from './interfaces/wasi-io-streams.js'; +import { WasiRandomRandom } from './interfaces/wasi-random-random.js'; +import { WasiHttpIncomingHandler } from './interfaces/wasi-http-incoming-handler.js'; +export const incomingHandler: typeof WasiHttpIncomingHandler; diff --git a/demo/dist/uPlot/uPlot.esm.js b/demo/dist/uPlot/uPlot.esm.js new file mode 100644 index 0000000..cb2965b --- /dev/null +++ b/demo/dist/uPlot/uPlot.esm.js @@ -0,0 +1,6052 @@ +/** +* Copyright (c) 2024, Leon Sorokin +* All rights reserved. (MIT Licensed) +* +* uPlot.js (μPlot) +* A small, fast chart for time series, lines, areas, ohlc & bars +* https://github.com/leeoniya/uPlot (v1.6.31) +*/ + +const FEAT_TIME = true; + +const pre = "u-"; + +const UPLOT = "uplot"; +const ORI_HZ = pre + "hz"; +const ORI_VT = pre + "vt"; +const TITLE = pre + "title"; +const WRAP = pre + "wrap"; +const UNDER = pre + "under"; +const OVER = pre + "over"; +const AXIS = pre + "axis"; +const OFF = pre + "off"; +const SELECT = pre + "select"; +const CURSOR_X = pre + "cursor-x"; +const CURSOR_Y = pre + "cursor-y"; +const CURSOR_PT = pre + "cursor-pt"; +const LEGEND = pre + "legend"; +const LEGEND_LIVE = pre + "live"; +const LEGEND_INLINE = pre + "inline"; +const LEGEND_SERIES = pre + "series"; +const LEGEND_MARKER = pre + "marker"; +const LEGEND_LABEL = pre + "label"; +const LEGEND_VALUE = pre + "value"; + +const WIDTH = "width"; +const HEIGHT = "height"; +const TOP = "top"; +const BOTTOM = "bottom"; +const LEFT = "left"; +const RIGHT = "right"; +const hexBlack = "#000"; +const transparent = hexBlack + "0"; + +const mousemove = "mousemove"; +const mousedown = "mousedown"; +const mouseup = "mouseup"; +const mouseenter = "mouseenter"; +const mouseleave = "mouseleave"; +const dblclick = "dblclick"; +const resize = "resize"; +const scroll = "scroll"; + +const change = "change"; +const dppxchange = "dppxchange"; + +const LEGEND_DISP = "--"; + +const domEnv = typeof window != 'undefined'; + +const doc = domEnv ? document : null; +const win = domEnv ? window : null; +const nav = domEnv ? navigator : null; + +let pxRatio; + +//export const canHover = domEnv && !win.matchMedia('(hover: none)').matches; + +let query; + +function setPxRatio() { + let _pxRatio = devicePixelRatio; + + // during print preview, Chrome fires off these dppx queries even without changes + if (pxRatio != _pxRatio) { + pxRatio = _pxRatio; + + query && off(change, query, setPxRatio); + query = matchMedia(`(min-resolution: ${pxRatio - 0.001}dppx) and (max-resolution: ${pxRatio + 0.001}dppx)`); + on(change, query, setPxRatio); + + win.dispatchEvent(new CustomEvent(dppxchange)); + } +} + +function addClass(el, c) { + if (c != null) { + let cl = el.classList; + !cl.contains(c) && cl.add(c); + } +} + +function remClass(el, c) { + let cl = el.classList; + cl.contains(c) && cl.remove(c); +} + +function setStylePx(el, name, value) { + el.style[name] = value + "px"; +} + +function placeTag(tag, cls, targ, refEl) { + let el = doc.createElement(tag); + + if (cls != null) + addClass(el, cls); + + if (targ != null) + targ.insertBefore(el, refEl); + + return el; +} + +function placeDiv(cls, targ) { + return placeTag("div", cls, targ); +} + +const xformCache = new WeakMap(); + +function elTrans(el, xPos, yPos, xMax, yMax) { + let xform = "translate(" + xPos + "px," + yPos + "px)"; + let xformOld = xformCache.get(el); + + if (xform != xformOld) { + el.style.transform = xform; + xformCache.set(el, xform); + + if (xPos < 0 || yPos < 0 || xPos > xMax || yPos > yMax) + addClass(el, OFF); + else + remClass(el, OFF); + } +} + +const colorCache = new WeakMap(); + +function elColor(el, background, borderColor) { + let newColor = background + borderColor; + let oldColor = colorCache.get(el); + + if (newColor != oldColor) { + colorCache.set(el, newColor); + el.style.background = background; + el.style.borderColor = borderColor; + } +} + +const sizeCache = new WeakMap(); + +function elSize(el, newWid, newHgt, centered) { + let newSize = newWid + "" + newHgt; + let oldSize = sizeCache.get(el); + + if (newSize != oldSize) { + sizeCache.set(el, newSize); + el.style.height = newHgt + "px"; + el.style.width = newWid + "px"; + el.style.marginLeft = centered ? -newWid/2 + "px" : 0; + el.style.marginTop = centered ? -newHgt/2 + "px" : 0; + } +} + +const evOpts = {passive: true}; +const evOpts2 = {...evOpts, capture: true}; + +function on(ev, el, cb, capt) { + el.addEventListener(ev, cb, capt ? evOpts2 : evOpts); +} + +function off(ev, el, cb, capt) { + el.removeEventListener(ev, cb, evOpts); +} + +domEnv && setPxRatio(); + +// binary search for index of closest value +function closestIdx(num, arr, lo, hi) { + let mid; + lo = lo || 0; + hi = hi || arr.length - 1; + let bitwise = hi <= 2147483647; + + while (hi - lo > 1) { + mid = bitwise ? (lo + hi) >> 1 : floor((lo + hi) / 2); + + if (arr[mid] < num) + lo = mid; + else + hi = mid; + } + + if (num - arr[lo] <= arr[hi] - num) + return lo; + + return hi; +} + +function nonNullIdx(data, _i0, _i1, dir) { + for (let i = dir == 1 ? _i0 : _i1; i >= _i0 && i <= _i1; i += dir) { + if (data[i] != null) + return i; + } + + return -1; +} + +function getMinMax(data, _i0, _i1, sorted) { +// console.log("getMinMax()"); + + let _min = inf; + let _max = -inf; + + if (sorted == 1) { + _min = data[_i0]; + _max = data[_i1]; + } + else if (sorted == -1) { + _min = data[_i1]; + _max = data[_i0]; + } + else { + for (let i = _i0; i <= _i1; i++) { + let v = data[i]; + + if (v != null) { + if (v < _min) + _min = v; + if (v > _max) + _max = v; + } + } + } + + return [_min, _max]; +} + +function getMinMaxLog(data, _i0, _i1) { +// console.log("getMinMax()"); + + let _min = inf; + let _max = -inf; + + for (let i = _i0; i <= _i1; i++) { + let v = data[i]; + + if (v != null && v > 0) { + if (v < _min) + _min = v; + if (v > _max) + _max = v; + } + } + + return [_min, _max]; +} + +function rangeLog(min, max, base, fullMags) { + let minSign = sign(min); + let maxSign = sign(max); + + if (min == max) { + if (minSign == -1) { + min *= base; + max /= base; + } + else { + min /= base; + max *= base; + } + } + + let logFn = base == 10 ? log10 : log2; + + let growMinAbs = minSign == 1 ? floor : ceil; + let growMaxAbs = maxSign == 1 ? ceil : floor; + + let minExp = growMinAbs(logFn(abs(min))); + let maxExp = growMaxAbs(logFn(abs(max))); + + let minIncr = pow(base, minExp); + let maxIncr = pow(base, maxExp); + + // fix values like Math.pow(10, -5) === 0.000009999999999999999 + if (base == 10) { + if (minExp < 0) + minIncr = roundDec(minIncr, -minExp); + if (maxExp < 0) + maxIncr = roundDec(maxIncr, -maxExp); + } + + if (fullMags || base == 2) { + min = minIncr * minSign; + max = maxIncr * maxSign; + } + else { + min = incrRoundDn(min, minIncr); + max = incrRoundUp(max, maxIncr); + } + + return [min, max]; +} + +function rangeAsinh(min, max, base, fullMags) { + let minMax = rangeLog(min, max, base, fullMags); + + if (min == 0) + minMax[0] = 0; + + if (max == 0) + minMax[1] = 0; + + return minMax; +} + +const rangePad = 0.1; + +const autoRangePart = { + mode: 3, + pad: rangePad, +}; + +const _eqRangePart = { + pad: 0, + soft: null, + mode: 0, +}; + +const _eqRange = { + min: _eqRangePart, + max: _eqRangePart, +}; + +// this ensures that non-temporal/numeric y-axes get multiple-snapped padding added above/below +// TODO: also account for incrs when snapping to ensure top of axis gets a tick & value +function rangeNum(_min, _max, mult, extra) { + if (isObj(mult)) + return _rangeNum(_min, _max, mult); + + _eqRangePart.pad = mult; + _eqRangePart.soft = extra ? 0 : null; + _eqRangePart.mode = extra ? 3 : 0; + + return _rangeNum(_min, _max, _eqRange); +} + +// nullish coalesce +function ifNull(lh, rh) { + return lh == null ? rh : lh; +} + +// checks if given index range in an array contains a non-null value +// aka a range-bounded Array.some() +function hasData(data, idx0, idx1) { + idx0 = ifNull(idx0, 0); + idx1 = ifNull(idx1, data.length - 1); + + while (idx0 <= idx1) { + if (data[idx0] != null) + return true; + idx0++; + } + + return false; +} + +function _rangeNum(_min, _max, cfg) { + let cmin = cfg.min; + let cmax = cfg.max; + + let padMin = ifNull(cmin.pad, 0); + let padMax = ifNull(cmax.pad, 0); + + let hardMin = ifNull(cmin.hard, -inf); + let hardMax = ifNull(cmax.hard, inf); + + let softMin = ifNull(cmin.soft, inf); + let softMax = ifNull(cmax.soft, -inf); + + let softMinMode = ifNull(cmin.mode, 0); + let softMaxMode = ifNull(cmax.mode, 0); + + let delta = _max - _min; + let deltaMag = log10(delta); + + let scalarMax = max(abs(_min), abs(_max)); + let scalarMag = log10(scalarMax); + + let scalarMagDelta = abs(scalarMag - deltaMag); + + // this handles situations like 89.7, 89.69999999999999 + // by assuming 0.001x deltas are precision errors +// if (delta > 0 && delta < abs(_max) / 1e3) +// delta = 0; + + // treat data as flat if delta is less than 1e-24 + // or range is 11+ orders of magnitude below raw values, e.g. 99999999.99999996 - 100000000.00000004 + if (delta < 1e-24 || scalarMagDelta > 10) { + delta = 0; + + // if soft mode is 2 and all vals are flat at 0, avoid the 0.1 * 1e3 fallback + // this prevents 0,0,0 from ranging to -100,100 when softMin/softMax are -1,1 + if (_min == 0 || _max == 0) { + delta = 1e-24; + + if (softMinMode == 2 && softMin != inf) + padMin = 0; + + if (softMaxMode == 2 && softMax != -inf) + padMax = 0; + } + } + + let nonZeroDelta = delta || scalarMax || 1e3; + let mag = log10(nonZeroDelta); + let base = pow(10, floor(mag)); + + let _padMin = nonZeroDelta * (delta == 0 ? (_min == 0 ? .1 : 1) : padMin); + let _newMin = roundDec(incrRoundDn(_min - _padMin, base/10), 24); + let _softMin = _min >= softMin && (softMinMode == 1 || softMinMode == 3 && _newMin <= softMin || softMinMode == 2 && _newMin >= softMin) ? softMin : inf; + let minLim = max(hardMin, _newMin < _softMin && _min >= _softMin ? _softMin : min(_softMin, _newMin)); + + let _padMax = nonZeroDelta * (delta == 0 ? (_max == 0 ? .1 : 1) : padMax); + let _newMax = roundDec(incrRoundUp(_max + _padMax, base/10), 24); + let _softMax = _max <= softMax && (softMaxMode == 1 || softMaxMode == 3 && _newMax >= softMax || softMaxMode == 2 && _newMax <= softMax) ? softMax : -inf; + let maxLim = min(hardMax, _newMax > _softMax && _max <= _softMax ? _softMax : max(_softMax, _newMax)); + + if (minLim == maxLim && minLim == 0) + maxLim = 100; + + return [minLim, maxLim]; +} + +// alternative: https://stackoverflow.com/a/2254896 +const numFormatter = new Intl.NumberFormat(domEnv ? nav.language : 'en-US'); +const fmtNum = val => numFormatter.format(val); + +const M = Math; + +const PI = M.PI; +const abs = M.abs; +const floor = M.floor; +const round = M.round; +const ceil = M.ceil; +const min = M.min; +const max = M.max; +const pow = M.pow; +const sign = M.sign; +const log10 = M.log10; +const log2 = M.log2; +// TODO: seems like this needs to match asinh impl if the passed v is tweaked? +const sinh = (v, linthresh = 1) => M.sinh(v) * linthresh; +const asinh = (v, linthresh = 1) => M.asinh(v / linthresh); + +const inf = Infinity; + +function numIntDigits(x) { + return (log10((x ^ (x >> 31)) - (x >> 31)) | 0) + 1; +} + +function clamp(num, _min, _max) { + return min(max(num, _min), _max); +} + +function fnOrSelf(v) { + return typeof v == "function" ? v : () => v; +} + +const noop = () => {}; + +const retArg0 = _0 => _0; + +const retArg1 = (_0, _1) => _1; + +const retNull = _ => null; + +const retTrue = _ => true; + +const retEq = (a, b) => a == b; + +const regex6 = /\.\d*?(?=9{6,}|0{6,})/gm; + +// e.g. 17999.204999999998 -> 17999.205 +const fixFloat = val => { + if (isInt(val) || fixedDec.has(val)) + return val; + + const str = `${val}`; + + const match = str.match(regex6); + + if (match == null) + return val; + + let len = match[0].length - 1; + + // e.g. 1.0000000000000001e-24 + if (str.indexOf('e-') != -1) { + let [num, exp] = str.split('e'); + return +`${fixFloat(num)}e${exp}`; + } + + return roundDec(val, len); +}; + +function incrRound(num, incr) { + return fixFloat(roundDec(fixFloat(num/incr))*incr); +} + +function incrRoundUp(num, incr) { + return fixFloat(ceil(fixFloat(num/incr))*incr); +} + +function incrRoundDn(num, incr) { + return fixFloat(floor(fixFloat(num/incr))*incr); +} + +// https://stackoverflow.com/a/48764436 +// rounds half away from zero +function roundDec(val, dec = 0) { + if (isInt(val)) + return val; +// else if (dec == 0) +// return round(val); + + let p = 10 ** dec; + let n = (val * p) * (1 + Number.EPSILON); + return round(n) / p; +} + +const fixedDec = new Map(); + +function guessDec(num) { + return ((""+num).split(".")[1] || "").length; +} + +function genIncrs(base, minExp, maxExp, mults) { + let incrs = []; + + let multDec = mults.map(guessDec); + + for (let exp = minExp; exp < maxExp; exp++) { + let expa = abs(exp); + let mag = roundDec(pow(base, exp), expa); + + for (let i = 0; i < mults.length; i++) { + let _incr = base == 10 ? +`${mults[i]}e${exp}` : mults[i] * mag; + let dec = (exp >= 0 ? 0 : expa) + (exp >= multDec[i] ? 0 : multDec[i]); + let incr = base == 10 ? _incr : roundDec(_incr, dec); + incrs.push(incr); + fixedDec.set(incr, dec); + } + } + + return incrs; +} + +//export const assign = Object.assign; + +const EMPTY_OBJ = {}; +const EMPTY_ARR = []; + +const nullNullTuple = [null, null]; + +const isArr = Array.isArray; +const isInt = Number.isInteger; +const isUndef = v => v === void 0; + +function isStr(v) { + return typeof v == 'string'; +} + +function isObj(v) { + let is = false; + + if (v != null) { + let c = v.constructor; + is = c == null || c == Object; + } + + return is; +} + +function fastIsObj(v) { + return v != null && typeof v == 'object'; +} + +const TypedArray = Object.getPrototypeOf(Uint8Array); + +const __proto__ = "__proto__"; + +function copy(o, _isObj = isObj) { + let out; + + if (isArr(o)) { + let val = o.find(v => v != null); + + if (isArr(val) || _isObj(val)) { + out = Array(o.length); + for (let i = 0; i < o.length; i++) + out[i] = copy(o[i], _isObj); + } + else + out = o.slice(); + } + else if (o instanceof TypedArray) // also (ArrayBuffer.isView(o) && !(o instanceof DataView)) + out = o.slice(); + else if (_isObj(o)) { + out = {}; + for (let k in o) { + if (k != __proto__) + out[k] = copy(o[k], _isObj); + } + } + else + out = o; + + return out; +} + +function assign(targ) { + let args = arguments; + + for (let i = 1; i < args.length; i++) { + let src = args[i]; + + for (let key in src) { + if (key != __proto__) { + if (isObj(targ[key])) + assign(targ[key], copy(src[key])); + else + targ[key] = copy(src[key]); + } + } + } + + return targ; +} + +// nullModes +const NULL_REMOVE = 0; // nulls are converted to undefined (e.g. for spanGaps: true) +const NULL_RETAIN = 1; // nulls are retained, with alignment artifacts set to undefined (default) +const NULL_EXPAND = 2; // nulls are expanded to include any adjacent alignment artifacts + +// sets undefined values to nulls when adjacent to existing nulls (minesweeper) +function nullExpand(yVals, nullIdxs, alignedLen) { + for (let i = 0, xi, lastNullIdx = -1; i < nullIdxs.length; i++) { + let nullIdx = nullIdxs[i]; + + if (nullIdx > lastNullIdx) { + xi = nullIdx - 1; + while (xi >= 0 && yVals[xi] == null) + yVals[xi--] = null; + + xi = nullIdx + 1; + while (xi < alignedLen && yVals[xi] == null) + yVals[lastNullIdx = xi++] = null; + } + } +} + +// nullModes is a tables-matched array indicating how to treat nulls in each series +// output is sorted ASC on the joined field (table[0]) and duplicate join values are collapsed +function join(tables, nullModes) { + if (allHeadersSame(tables)) { + // console.log('cheap join!'); + + let table = tables[0].slice(); + + for (let i = 1; i < tables.length; i++) + table.push(...tables[i].slice(1)); + + if (!isAsc(table[0])) + table = sortCols(table); + + return table; + } + + let xVals = new Set(); + + for (let ti = 0; ti < tables.length; ti++) { + let t = tables[ti]; + let xs = t[0]; + let len = xs.length; + + for (let i = 0; i < len; i++) + xVals.add(xs[i]); + } + + let data = [Array.from(xVals).sort((a, b) => a - b)]; + + let alignedLen = data[0].length; + + let xIdxs = new Map(); + + for (let i = 0; i < alignedLen; i++) + xIdxs.set(data[0][i], i); + + for (let ti = 0; ti < tables.length; ti++) { + let t = tables[ti]; + let xs = t[0]; + + for (let si = 1; si < t.length; si++) { + let ys = t[si]; + + let yVals = Array(alignedLen).fill(undefined); + + let nullMode = nullModes ? nullModes[ti][si] : NULL_RETAIN; + + let nullIdxs = []; + + for (let i = 0; i < ys.length; i++) { + let yVal = ys[i]; + let alignedIdx = xIdxs.get(xs[i]); + + if (yVal === null) { + if (nullMode != NULL_REMOVE) { + yVals[alignedIdx] = yVal; + + if (nullMode == NULL_EXPAND) + nullIdxs.push(alignedIdx); + } + } + else + yVals[alignedIdx] = yVal; + } + + nullExpand(yVals, nullIdxs, alignedLen); + + data.push(yVals); + } + } + + return data; +} + +const microTask = typeof queueMicrotask == "undefined" ? fn => Promise.resolve().then(fn) : queueMicrotask; + +// TODO: https://github.com/dy/sort-ids (~2x faster for 1e5+ arrays) +function sortCols(table) { + let head = table[0]; + let rlen = head.length; + + let idxs = Array(rlen); + for (let i = 0; i < idxs.length; i++) + idxs[i] = i; + + idxs.sort((i0, i1) => head[i0] - head[i1]); + + let table2 = []; + for (let i = 0; i < table.length; i++) { + let row = table[i]; + let row2 = Array(rlen); + + for (let j = 0; j < rlen; j++) + row2[j] = row[idxs[j]]; + + table2.push(row2); + } + + return table2; +} + +// test if we can do cheap join (all join fields same) +function allHeadersSame(tables) { + let vals0 = tables[0][0]; + let len0 = vals0.length; + + for (let i = 1; i < tables.length; i++) { + let vals1 = tables[i][0]; + + if (vals1.length != len0) + return false; + + if (vals1 != vals0) { + for (let j = 0; j < len0; j++) { + if (vals1[j] != vals0[j]) + return false; + } + } + } + + return true; +} + +function isAsc(vals, samples = 100) { + const len = vals.length; + + // empty or single value + if (len <= 1) + return true; + + // skip leading & trailing nullish + let firstIdx = 0; + let lastIdx = len - 1; + + while (firstIdx <= lastIdx && vals[firstIdx] == null) + firstIdx++; + + while (lastIdx >= firstIdx && vals[lastIdx] == null) + lastIdx--; + + // all nullish or one value surrounded by nullish + if (lastIdx <= firstIdx) + return true; + + const stride = max(1, floor((lastIdx - firstIdx + 1) / samples)); + + for (let prevVal = vals[firstIdx], i = firstIdx + stride; i <= lastIdx; i += stride) { + const v = vals[i]; + + if (v != null) { + if (v <= prevVal) + return false; + + prevVal = v; + } + } + + return true; +} + +const months = [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December", +]; + +const days = [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", +]; + +function slice3(str) { + return str.slice(0, 3); +} + +const days3 = days.map(slice3); + +const months3 = months.map(slice3); + +const engNames = { + MMMM: months, + MMM: months3, + WWWW: days, + WWW: days3, +}; + +function zeroPad2(int) { + return (int < 10 ? '0' : '') + int; +} + +function zeroPad3(int) { + return (int < 10 ? '00' : int < 100 ? '0' : '') + int; +} + +/* +function suffix(int) { + let mod10 = int % 10; + + return int + ( + mod10 == 1 && int != 11 ? "st" : + mod10 == 2 && int != 12 ? "nd" : + mod10 == 3 && int != 13 ? "rd" : "th" + ); +} +*/ + +const subs = { + // 2019 + YYYY: d => d.getFullYear(), + // 19 + YY: d => (d.getFullYear()+'').slice(2), + // July + MMMM: (d, names) => names.MMMM[d.getMonth()], + // Jul + MMM: (d, names) => names.MMM[d.getMonth()], + // 07 + MM: d => zeroPad2(d.getMonth()+1), + // 7 + M: d => d.getMonth()+1, + // 09 + DD: d => zeroPad2(d.getDate()), + // 9 + D: d => d.getDate(), + // Monday + WWWW: (d, names) => names.WWWW[d.getDay()], + // Mon + WWW: (d, names) => names.WWW[d.getDay()], + // 03 + HH: d => zeroPad2(d.getHours()), + // 3 + H: d => d.getHours(), + // 9 (12hr, unpadded) + h: d => {let h = d.getHours(); return h == 0 ? 12 : h > 12 ? h - 12 : h;}, + // AM + AA: d => d.getHours() >= 12 ? 'PM' : 'AM', + // am + aa: d => d.getHours() >= 12 ? 'pm' : 'am', + // a + a: d => d.getHours() >= 12 ? 'p' : 'a', + // 09 + mm: d => zeroPad2(d.getMinutes()), + // 9 + m: d => d.getMinutes(), + // 09 + ss: d => zeroPad2(d.getSeconds()), + // 9 + s: d => d.getSeconds(), + // 374 + fff: d => zeroPad3(d.getMilliseconds()), +}; + +function fmtDate(tpl, names) { + names = names || engNames; + let parts = []; + + let R = /\{([a-z]+)\}|[^{]+/gi, m; + + while (m = R.exec(tpl)) + parts.push(m[0][0] == '{' ? subs[m[1]] : m[0]); + + return d => { + let out = ''; + + for (let i = 0; i < parts.length; i++) + out += typeof parts[i] == "string" ? parts[i] : parts[i](d, names); + + return out; + } +} + +const localTz = new Intl.DateTimeFormat().resolvedOptions().timeZone; + +// https://stackoverflow.com/questions/15141762/how-to-initialize-a-javascript-date-to-a-particular-time-zone/53652131#53652131 +function tzDate(date, tz) { + let date2; + + // perf optimization + if (tz == 'UTC' || tz == 'Etc/UTC') + date2 = new Date(+date + date.getTimezoneOffset() * 6e4); + else if (tz == localTz) + date2 = date; + else { + date2 = new Date(date.toLocaleString('en-US', {timeZone: tz})); + date2.setMilliseconds(date.getMilliseconds()); + } + + return date2; +} + +//export const series = []; + +// default formatters: + +const onlyWhole = v => v % 1 == 0; + +const allMults = [1,2,2.5,5]; + +// ...0.01, 0.02, 0.025, 0.05, 0.1, 0.2, 0.25, 0.5 +const decIncrs = genIncrs(10, -32, 0, allMults); + +// 1, 2, 2.5, 5, 10, 20, 25, 50... +const oneIncrs = genIncrs(10, 0, 32, allMults); + +// 1, 2, 5, 10, 20, 25, 50... +const wholeIncrs = oneIncrs.filter(onlyWhole); + +const numIncrs = decIncrs.concat(oneIncrs); + +const NL = "\n"; + +const yyyy = "{YYYY}"; +const NLyyyy = NL + yyyy; +const md = "{M}/{D}"; +const NLmd = NL + md; +const NLmdyy = NLmd + "/{YY}"; + +const aa = "{aa}"; +const hmm = "{h}:{mm}"; +const hmmaa = hmm + aa; +const NLhmmaa = NL + hmmaa; +const ss = ":{ss}"; + +const _ = null; + +function genTimeStuffs(ms) { + let s = ms * 1e3, + m = s * 60, + h = m * 60, + d = h * 24, + mo = d * 30, + y = d * 365; + + // min of 1e-3 prevents setting a temporal x ticks too small since Date objects cannot advance ticks smaller than 1ms + let subSecIncrs = ms == 1 ? genIncrs(10, 0, 3, allMults).filter(onlyWhole) : genIncrs(10, -3, 0, allMults); + + let timeIncrs = subSecIncrs.concat([ + // minute divisors (# of secs) + s, + s * 5, + s * 10, + s * 15, + s * 30, + // hour divisors (# of mins) + m, + m * 5, + m * 10, + m * 15, + m * 30, + // day divisors (# of hrs) + h, + h * 2, + h * 3, + h * 4, + h * 6, + h * 8, + h * 12, + // month divisors TODO: need more? + d, + d * 2, + d * 3, + d * 4, + d * 5, + d * 6, + d * 7, + d * 8, + d * 9, + d * 10, + d * 15, + // year divisors (# months, approx) + mo, + mo * 2, + mo * 3, + mo * 4, + mo * 6, + // century divisors + y, + y * 2, + y * 5, + y * 10, + y * 25, + y * 50, + y * 100, + ]); + + // [0]: minimum num secs in the tick incr + // [1]: default tick format + // [2-7]: rollover tick formats + // [8]: mode: 0: replace [1] -> [2-7], 1: concat [1] + [2-7] + const _timeAxisStamps = [ + // tick incr default year month day hour min sec mode + [y, yyyy, _, _, _, _, _, _, 1], + [d * 28, "{MMM}", NLyyyy, _, _, _, _, _, 1], + [d, md, NLyyyy, _, _, _, _, _, 1], + [h, "{h}" + aa, NLmdyy, _, NLmd, _, _, _, 1], + [m, hmmaa, NLmdyy, _, NLmd, _, _, _, 1], + [s, ss, NLmdyy + " " + hmmaa, _, NLmd + " " + hmmaa, _, NLhmmaa, _, 1], + [ms, ss + ".{fff}", NLmdyy + " " + hmmaa, _, NLmd + " " + hmmaa, _, NLhmmaa, _, 1], + ]; + + // the ensures that axis ticks, values & grid are aligned to logical temporal breakpoints and not an arbitrary timestamp + // https://www.timeanddate.com/time/dst/ + // https://www.timeanddate.com/time/dst/2019.html + // https://www.epochconverter.com/timezones + function timeAxisSplits(tzDate) { + return (self, axisIdx, scaleMin, scaleMax, foundIncr, foundSpace) => { + let splits = []; + let isYr = foundIncr >= y; + let isMo = foundIncr >= mo && foundIncr < y; + + // get the timezone-adjusted date + let minDate = tzDate(scaleMin); + let minDateTs = roundDec(minDate * ms, 3); + + // get ts of 12am (this lands us at or before the original scaleMin) + let minMin = mkDate(minDate.getFullYear(), isYr ? 0 : minDate.getMonth(), isMo || isYr ? 1 : minDate.getDate()); + let minMinTs = roundDec(minMin * ms, 3); + + if (isMo || isYr) { + let moIncr = isMo ? foundIncr / mo : 0; + let yrIncr = isYr ? foundIncr / y : 0; + // let tzOffset = scaleMin - minDateTs; // needed? + let split = minDateTs == minMinTs ? minDateTs : roundDec(mkDate(minMin.getFullYear() + yrIncr, minMin.getMonth() + moIncr, 1) * ms, 3); + let splitDate = new Date(round(split / ms)); + let baseYear = splitDate.getFullYear(); + let baseMonth = splitDate.getMonth(); + + for (let i = 0; split <= scaleMax; i++) { + let next = mkDate(baseYear + yrIncr * i, baseMonth + moIncr * i, 1); + let offs = next - tzDate(roundDec(next * ms, 3)); + + split = roundDec((+next + offs) * ms, 3); + + if (split <= scaleMax) + splits.push(split); + } + } + else { + let incr0 = foundIncr >= d ? d : foundIncr; + let tzOffset = floor(scaleMin) - floor(minDateTs); + let split = minMinTs + tzOffset + incrRoundUp(minDateTs - minMinTs, incr0); + splits.push(split); + + let date0 = tzDate(split); + + let prevHour = date0.getHours() + (date0.getMinutes() / m) + (date0.getSeconds() / h); + let incrHours = foundIncr / h; + + let minSpace = self.axes[axisIdx]._space; + let pctSpace = foundSpace / minSpace; + + while (1) { + split = roundDec(split + foundIncr, ms == 1 ? 0 : 3); + + if (split > scaleMax) + break; + + if (incrHours > 1) { + let expectedHour = floor(roundDec(prevHour + incrHours, 6)) % 24; + let splitDate = tzDate(split); + let actualHour = splitDate.getHours(); + + let dstShift = actualHour - expectedHour; + + if (dstShift > 1) + dstShift = -1; + + split -= dstShift * h; + + prevHour = (prevHour + incrHours) % 24; + + // add a tick only if it's further than 70% of the min allowed label spacing + let prevSplit = splits[splits.length - 1]; + let pctIncr = roundDec((split - prevSplit) / foundIncr, 3); + + if (pctIncr * pctSpace >= .7) + splits.push(split); + } + else + splits.push(split); + } + } + + return splits; + } + } + + return [ + timeIncrs, + _timeAxisStamps, + timeAxisSplits, + ]; +} + +const [ timeIncrsMs, _timeAxisStampsMs, timeAxisSplitsMs ] = genTimeStuffs(1); +const [ timeIncrsS, _timeAxisStampsS, timeAxisSplitsS ] = genTimeStuffs(1e-3); + +// base 2 +genIncrs(2, -53, 53, [1]); + +/* +console.log({ + decIncrs, + oneIncrs, + wholeIncrs, + numIncrs, + timeIncrs, + fixedDec, +}); +*/ + +function timeAxisStamps(stampCfg, fmtDate) { + return stampCfg.map(s => s.map((v, i) => + i == 0 || i == 8 || v == null ? v : fmtDate(i == 1 || s[8] == 0 ? v : s[1] + v) + )); +} + +// TODO: will need to accept spaces[] and pull incr into the loop when grid will be non-uniform, eg for log scales. +// currently we ignore this for months since they're *nearly* uniform and the added complexity is not worth it +function timeAxisVals(tzDate, stamps) { + return (self, splits, axisIdx, foundSpace, foundIncr) => { + let s = stamps.find(s => foundIncr >= s[0]) || stamps[stamps.length - 1]; + + // these track boundaries when a full label is needed again + let prevYear; + let prevMnth; + let prevDate; + let prevHour; + let prevMins; + let prevSecs; + + return splits.map(split => { + let date = tzDate(split); + + let newYear = date.getFullYear(); + let newMnth = date.getMonth(); + let newDate = date.getDate(); + let newHour = date.getHours(); + let newMins = date.getMinutes(); + let newSecs = date.getSeconds(); + + let stamp = ( + newYear != prevYear && s[2] || + newMnth != prevMnth && s[3] || + newDate != prevDate && s[4] || + newHour != prevHour && s[5] || + newMins != prevMins && s[6] || + newSecs != prevSecs && s[7] || + s[1] + ); + + prevYear = newYear; + prevMnth = newMnth; + prevDate = newDate; + prevHour = newHour; + prevMins = newMins; + prevSecs = newSecs; + + return stamp(date); + }); + } +} + +// for when axis.values is defined as a static fmtDate template string +function timeAxisVal(tzDate, dateTpl) { + let stamp = fmtDate(dateTpl); + return (self, splits, axisIdx, foundSpace, foundIncr) => splits.map(split => stamp(tzDate(split))); +} + +function mkDate(y, m, d) { + return new Date(y, m, d); +} + +function timeSeriesStamp(stampCfg, fmtDate) { + return fmtDate(stampCfg); +} +const _timeSeriesStamp = '{YYYY}-{MM}-{DD} {h}:{mm}{aa}'; + +function timeSeriesVal(tzDate, stamp) { + return (self, val, seriesIdx, dataIdx) => dataIdx == null ? LEGEND_DISP : stamp(tzDate(val)); +} + +function legendStroke(self, seriesIdx) { + let s = self.series[seriesIdx]; + return s.width ? s.stroke(self, seriesIdx) : s.points.width ? s.points.stroke(self, seriesIdx) : null; +} + +function legendFill(self, seriesIdx) { + return self.series[seriesIdx].fill(self, seriesIdx); +} + +const legendOpts = { + show: true, + live: true, + isolate: false, + mount: noop, + markers: { + show: true, + width: 2, + stroke: legendStroke, + fill: legendFill, + dash: "solid", + }, + idx: null, + idxs: null, + values: [], +}; + +function cursorPointShow(self, si) { + let o = self.cursor.points; + + let pt = placeDiv(); + + let size = o.size(self, si); + setStylePx(pt, WIDTH, size); + setStylePx(pt, HEIGHT, size); + + let mar = size / -2; + setStylePx(pt, "marginLeft", mar); + setStylePx(pt, "marginTop", mar); + + let width = o.width(self, si, size); + width && setStylePx(pt, "borderWidth", width); + + return pt; +} + +function cursorPointFill(self, si) { + let sp = self.series[si].points; + return sp._fill || sp._stroke; +} + +function cursorPointStroke(self, si) { + let sp = self.series[si].points; + return sp._stroke || sp._fill; +} + +function cursorPointSize(self, si) { + let sp = self.series[si].points; + return sp.size; +} + +const moveTuple = [0,0]; + +function cursorMove(self, mouseLeft1, mouseTop1) { + moveTuple[0] = mouseLeft1; + moveTuple[1] = mouseTop1; + return moveTuple; +} + +function filtBtn0(self, targ, handle, onlyTarg = true) { + return e => { + e.button == 0 && (!onlyTarg || e.target == targ) && handle(e); + }; +} + +function filtTarg(self, targ, handle, onlyTarg = true) { + return e => { + (!onlyTarg || e.target == targ) && handle(e); + }; +} + +const cursorOpts = { + show: true, + x: true, + y: true, + lock: false, + move: cursorMove, + points: { + one: false, + show: cursorPointShow, + size: cursorPointSize, + width: 0, + stroke: cursorPointStroke, + fill: cursorPointFill, + }, + + bind: { + mousedown: filtBtn0, + mouseup: filtBtn0, + click: filtBtn0, // legend clicks, not .u-over clicks + dblclick: filtBtn0, + + mousemove: filtTarg, + mouseleave: filtTarg, + mouseenter: filtTarg, + }, + + drag: { + setScale: true, + x: true, + y: false, + dist: 0, + uni: null, + click: (self, e) => { + // e.preventDefault(); + e.stopPropagation(); + e.stopImmediatePropagation(); + }, + _x: false, + _y: false, + }, + + focus: { + dist: (self, seriesIdx, dataIdx, valPos, curPos) => valPos - curPos, + prox: -1, + bias: 0, + }, + + hover: { + skip: [void 0], + prox: null, + bias: 0, + }, + + left: -10, + top: -10, + idx: null, + dataIdx: null, + idxs: null, + + event: null, +}; + +const axisLines = { + show: true, + stroke: "rgba(0,0,0,0.07)", + width: 2, +// dash: [], +}; + +const grid = assign({}, axisLines, { + filter: retArg1, +}); + +const ticks = assign({}, grid, { + size: 10, +}); + +const border = assign({}, axisLines, { + show: false, +}); + +const font = '12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"'; +const labelFont = "bold " + font; +const lineGap = 1.5; // font-size multiplier + +const xAxisOpts = { + show: true, + scale: "x", + stroke: hexBlack, + space: 50, + gap: 5, + size: 50, + labelGap: 0, + labelSize: 30, + labelFont, + side: 2, +// class: "x-vals", +// incrs: timeIncrs, +// values: timeVals, +// filter: retArg1, + grid, + ticks, + border, + font, + lineGap, + rotate: 0, +}; + +const numSeriesLabel = "Value"; +const timeSeriesLabel = "Time"; + +const xSeriesOpts = { + show: true, + scale: "x", + auto: false, + sorted: 1, +// label: "Time", +// value: v => stamp(new Date(v * 1e3)), + + // internal caches + min: inf, + max: -inf, + idxs: [], +}; + +function numAxisVals(self, splits, axisIdx, foundSpace, foundIncr) { + return splits.map(v => v == null ? "" : fmtNum(v)); +} + +function numAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, foundSpace, forceMin) { + let splits = []; + + let numDec = fixedDec.get(foundIncr) || 0; + + scaleMin = forceMin ? scaleMin : roundDec(incrRoundUp(scaleMin, foundIncr), numDec); + + for (let val = scaleMin; val <= scaleMax; val = roundDec(val + foundIncr, numDec)) + splits.push(Object.is(val, -0) ? 0 : val); // coalesces -0 + + return splits; +} + +// this doesnt work for sin, which needs to come off from 0 independently in pos and neg dirs +function logAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, foundSpace, forceMin) { + const splits = []; + + const logBase = self.scales[self.axes[axisIdx].scale].log; + + const logFn = logBase == 10 ? log10 : log2; + + const exp = floor(logFn(scaleMin)); + + foundIncr = pow(logBase, exp); + + // boo: 10 ** -24 === 1.0000000000000001e-24 + // this grabs the proper 1e-24 one + if (logBase == 10) + foundIncr = numIncrs[closestIdx(foundIncr, numIncrs)]; + + let split = scaleMin; + let nextMagIncr = foundIncr * logBase; + + if (logBase == 10) + nextMagIncr = numIncrs[closestIdx(nextMagIncr, numIncrs)]; + + do { + splits.push(split); + split = split + foundIncr; + + if (logBase == 10 && !fixedDec.has(split)) + split = roundDec(split, fixedDec.get(foundIncr)); + + if (split >= nextMagIncr) { + foundIncr = split; + nextMagIncr = foundIncr * logBase; + + if (logBase == 10) + nextMagIncr = numIncrs[closestIdx(nextMagIncr, numIncrs)]; + } + } while (split <= scaleMax); + + return splits; +} + +function asinhAxisSplits(self, axisIdx, scaleMin, scaleMax, foundIncr, foundSpace, forceMin) { + let sc = self.scales[self.axes[axisIdx].scale]; + + let linthresh = sc.asinh; + + let posSplits = scaleMax > linthresh ? logAxisSplits(self, axisIdx, max(linthresh, scaleMin), scaleMax, foundIncr) : [linthresh]; + let zero = scaleMax >= 0 && scaleMin <= 0 ? [0] : []; + let negSplits = scaleMin < -linthresh ? logAxisSplits(self, axisIdx, max(linthresh, -scaleMax), -scaleMin, foundIncr): [linthresh]; + + return negSplits.reverse().map(v => -v).concat(zero, posSplits); +} + +const RE_ALL = /./; +const RE_12357 = /[12357]/; +const RE_125 = /[125]/; +const RE_1 = /1/; + +const _filt = (splits, distr, re, keepMod) => splits.map((v, i) => ((distr == 4 && v == 0) || i % keepMod == 0 && re.test(v.toExponential()[v < 0 ? 1 : 0])) ? v : null); + +function log10AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) { + let axis = self.axes[axisIdx]; + let scaleKey = axis.scale; + let sc = self.scales[scaleKey]; + +// if (sc.distr == 3 && sc.log == 2) +// return splits; + + let valToPos = self.valToPos; + + let minSpace = axis._space; + + let _10 = valToPos(10, scaleKey); + + let re = ( + valToPos(9, scaleKey) - _10 >= minSpace ? RE_ALL : + valToPos(7, scaleKey) - _10 >= minSpace ? RE_12357 : + valToPos(5, scaleKey) - _10 >= minSpace ? RE_125 : + RE_1 + ); + + if (re == RE_1) { + let magSpace = abs(valToPos(1, scaleKey) - _10); + + if (magSpace < minSpace) + return _filt(splits.slice().reverse(), sc.distr, re, ceil(minSpace / magSpace)).reverse(); // max->min skip + } + + return _filt(splits, sc.distr, re, 1); +} + +function log2AxisValsFilt(self, splits, axisIdx, foundSpace, foundIncr) { + let axis = self.axes[axisIdx]; + let scaleKey = axis.scale; + let minSpace = axis._space; + let valToPos = self.valToPos; + + let magSpace = abs(valToPos(1, scaleKey) - valToPos(2, scaleKey)); + + if (magSpace < minSpace) + return _filt(splits.slice().reverse(), 3, RE_ALL, ceil(minSpace / magSpace)).reverse(); // max->min skip + + return splits; +} + +function numSeriesVal(self, val, seriesIdx, dataIdx) { + return dataIdx == null ? LEGEND_DISP : val == null ? "" : fmtNum(val); +} + +const yAxisOpts = { + show: true, + scale: "y", + stroke: hexBlack, + space: 30, + gap: 5, + size: 50, + labelGap: 0, + labelSize: 30, + labelFont, + side: 3, +// class: "y-vals", +// incrs: numIncrs, +// values: (vals, space) => vals, +// filter: retArg1, + grid, + ticks, + border, + font, + lineGap, + rotate: 0, +}; + +// takes stroke width +function ptDia(width, mult) { + let dia = 3 + (width || 1) * 2; + return roundDec(dia * mult, 3); +} + +function seriesPointsShow(self, si) { + let { scale, idxs } = self.series[0]; + let xData = self._data[0]; + let p0 = self.valToPos(xData[idxs[0]], scale, true); + let p1 = self.valToPos(xData[idxs[1]], scale, true); + let dim = abs(p1 - p0); + + let s = self.series[si]; +// const dia = ptDia(s.width, pxRatio); + let maxPts = dim / (s.points.space * pxRatio); + return idxs[1] - idxs[0] <= maxPts; +} + +const facet = { + scale: null, + auto: true, + sorted: 0, + + // internal caches + min: inf, + max: -inf, +}; + +const gaps = (self, seriesIdx, idx0, idx1, nullGaps) => nullGaps; + +const xySeriesOpts = { + show: true, + auto: true, + sorted: 0, + gaps, + alpha: 1, + facets: [ + assign({}, facet, {scale: 'x'}), + assign({}, facet, {scale: 'y'}), + ], +}; + +const ySeriesOpts = { + scale: "y", + auto: true, + sorted: 0, + show: true, + spanGaps: false, + gaps, + alpha: 1, + points: { + show: seriesPointsShow, + filter: null, + // paths: + // stroke: "#000", + // fill: "#fff", + // width: 1, + // size: 10, + }, +// label: "Value", +// value: v => v, + values: null, + + // internal caches + min: inf, + max: -inf, + idxs: [], + + path: null, + clip: null, +}; + +function clampScale(self, val, scaleMin, scaleMax, scaleKey) { +/* + if (val < 0) { + let cssHgt = self.bbox.height / pxRatio; + let absPos = self.valToPos(abs(val), scaleKey); + let fromBtm = cssHgt - absPos; + return self.posToVal(cssHgt + fromBtm, scaleKey); + } +*/ + return scaleMin / 10; +} + +const xScaleOpts = { + time: FEAT_TIME, + auto: true, + distr: 1, + log: 10, + asinh: 1, + min: null, + max: null, + dir: 1, + ori: 0, +}; + +const yScaleOpts = assign({}, xScaleOpts, { + time: false, + ori: 1, +}); + +const syncs = {}; + +function _sync(key, opts) { + let s = syncs[key]; + + if (!s) { + s = { + key, + plots: [], + sub(plot) { + s.plots.push(plot); + }, + unsub(plot) { + s.plots = s.plots.filter(c => c != plot); + }, + pub(type, self, x, y, w, h, i) { + for (let j = 0; j < s.plots.length; j++) + s.plots[j] != self && s.plots[j].pub(type, self, x, y, w, h, i); + }, + }; + + if (key != null) + syncs[key] = s; + } + + return s; +} + +const BAND_CLIP_FILL = 1 << 0; +const BAND_CLIP_STROKE = 1 << 1; + +function orient(u, seriesIdx, cb) { + const mode = u.mode; + const series = u.series[seriesIdx]; + const data = mode == 2 ? u._data[seriesIdx] : u._data; + const scales = u.scales; + const bbox = u.bbox; + + let dx = data[0], + dy = mode == 2 ? data[1] : data[seriesIdx], + sx = mode == 2 ? scales[series.facets[0].scale] : scales[u.series[0].scale], + sy = mode == 2 ? scales[series.facets[1].scale] : scales[series.scale], + l = bbox.left, + t = bbox.top, + w = bbox.width, + h = bbox.height, + H = u.valToPosH, + V = u.valToPosV; + + return (sx.ori == 0 + ? cb( + series, + dx, + dy, + sx, + sy, + H, + V, + l, + t, + w, + h, + moveToH, + lineToH, + rectH, + arcH, + bezierCurveToH, + ) + : cb( + series, + dx, + dy, + sx, + sy, + V, + H, + t, + l, + h, + w, + moveToV, + lineToV, + rectV, + arcV, + bezierCurveToV, + ) + ); +} + +function bandFillClipDirs(self, seriesIdx) { + let fillDir = 0; + + // 2 bits, -1 | 1 + let clipDirs = 0; + + let bands = ifNull(self.bands, EMPTY_ARR); + + for (let i = 0; i < bands.length; i++) { + let b = bands[i]; + + // is a "from" band edge + if (b.series[0] == seriesIdx) + fillDir = b.dir; + // is a "to" band edge + else if (b.series[1] == seriesIdx) { + if (b.dir == 1) + clipDirs |= 1; + else + clipDirs |= 2; + } + } + + return [ + fillDir, + ( + clipDirs == 1 ? -1 : // neg only + clipDirs == 2 ? 1 : // pos only + clipDirs == 3 ? 2 : // both + 0 // neither + ) + ]; +} + +function seriesFillTo(self, seriesIdx, dataMin, dataMax, bandFillDir) { + let mode = self.mode; + let series = self.series[seriesIdx]; + let scaleKey = mode == 2 ? series.facets[1].scale : series.scale; + let scale = self.scales[scaleKey]; + + return ( + bandFillDir == -1 ? scale.min : + bandFillDir == 1 ? scale.max : + scale.distr == 3 ? ( + scale.dir == 1 ? scale.min : + scale.max + ) : 0 + ); +} + +// creates inverted band clip path (from stroke path -> yMax || yMin) +// clipDir is always inverse of fillDir +// default clip dir is upwards (1), since default band fill is downwards/fillBelowTo (-1) (highIdx -> lowIdx) +function clipBandLine(self, seriesIdx, idx0, idx1, strokePath, clipDir) { + return orient(self, seriesIdx, (series, dataX, dataY, scaleX, scaleY, valToPosX, valToPosY, xOff, yOff, xDim, yDim) => { + let pxRound = series.pxRound; + + const dir = scaleX.dir * (scaleX.ori == 0 ? 1 : -1); + const lineTo = scaleX.ori == 0 ? lineToH : lineToV; + + let frIdx, toIdx; + + if (dir == 1) { + frIdx = idx0; + toIdx = idx1; + } + else { + frIdx = idx1; + toIdx = idx0; + } + + // path start + let x0 = pxRound(valToPosX(dataX[frIdx], scaleX, xDim, xOff)); + let y0 = pxRound(valToPosY(dataY[frIdx], scaleY, yDim, yOff)); + // path end x + let x1 = pxRound(valToPosX(dataX[toIdx], scaleX, xDim, xOff)); + // upper or lower y limit + let yLimit = pxRound(valToPosY(clipDir == 1 ? scaleY.max : scaleY.min, scaleY, yDim, yOff)); + + let clip = new Path2D(strokePath); + + lineTo(clip, x1, yLimit); + lineTo(clip, x0, yLimit); + lineTo(clip, x0, y0); + + return clip; + }); +} + +function clipGaps(gaps, ori, plotLft, plotTop, plotWid, plotHgt) { + let clip = null; + + // create clip path (invert gaps and non-gaps) + if (gaps.length > 0) { + clip = new Path2D(); + + const rect = ori == 0 ? rectH : rectV; + + let prevGapEnd = plotLft; + + for (let i = 0; i < gaps.length; i++) { + let g = gaps[i]; + + if (g[1] > g[0]) { + let w = g[0] - prevGapEnd; + + w > 0 && rect(clip, prevGapEnd, plotTop, w, plotTop + plotHgt); + + prevGapEnd = g[1]; + } + } + + let w = plotLft + plotWid - prevGapEnd; + + // hack to ensure we expand the clip enough to avoid cutting off strokes at edges + let maxStrokeWidth = 10; + + w > 0 && rect(clip, prevGapEnd, plotTop - maxStrokeWidth / 2, w, plotTop + plotHgt + maxStrokeWidth); + } + + return clip; +} + +function addGap(gaps, fromX, toX) { + let prevGap = gaps[gaps.length - 1]; + + if (prevGap && prevGap[0] == fromX) // TODO: gaps must be encoded at stroke widths? + prevGap[1] = toX; + else + gaps.push([fromX, toX]); +} + +function findGaps(xs, ys, idx0, idx1, dir, pixelForX, align) { + let gaps = []; + let len = xs.length; + + for (let i = dir == 1 ? idx0 : idx1; i >= idx0 && i <= idx1; i += dir) { + let yVal = ys[i]; + + if (yVal === null) { + let fr = i, to = i; + + if (dir == 1) { + while (++i <= idx1 && ys[i] === null) + to = i; + } + else { + while (--i >= idx0 && ys[i] === null) + to = i; + } + + let frPx = pixelForX(xs[fr]); + let toPx = to == fr ? frPx : pixelForX(xs[to]); + + // if value adjacent to edge null is same pixel, then it's partially + // filled and gap should start at next pixel + let fri2 = fr - dir; + let frPx2 = align <= 0 && fri2 >= 0 && fri2 < len ? pixelForX(xs[fri2]) : frPx; + // if (frPx2 == frPx) + // frPx++; + // else + frPx = frPx2; + + let toi2 = to + dir; + let toPx2 = align >= 0 && toi2 >= 0 && toi2 < len ? pixelForX(xs[toi2]) : toPx; + // if (toPx2 == toPx) + // toPx--; + // else + toPx = toPx2; + + if (toPx >= frPx) + gaps.push([frPx, toPx]); // addGap + } + } + + return gaps; +} + +function pxRoundGen(pxAlign) { + return pxAlign == 0 ? retArg0 : pxAlign == 1 ? round : v => incrRound(v, pxAlign); +} + +function rect(ori) { + let moveTo = ori == 0 ? + moveToH : + moveToV; + + let arcTo = ori == 0 ? + (p, x1, y1, x2, y2, r) => { p.arcTo(x1, y1, x2, y2, r); } : + (p, y1, x1, y2, x2, r) => { p.arcTo(x1, y1, x2, y2, r); }; + + let rect = ori == 0 ? + (p, x, y, w, h) => { p.rect(x, y, w, h); } : + (p, y, x, h, w) => { p.rect(x, y, w, h); }; + + // TODO (pending better browser support): https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/roundRect + return (p, x, y, w, h, endRad = 0, baseRad = 0) => { + if (endRad == 0 && baseRad == 0) + rect(p, x, y, w, h); + else { + endRad = min(endRad, w / 2, h / 2); + baseRad = min(baseRad, w / 2, h / 2); + + // adapted from https://stackoverflow.com/questions/1255512/how-to-draw-a-rounded-rectangle-using-html-canvas/7838871#7838871 + moveTo(p, x + endRad, y); + arcTo(p, x + w, y, x + w, y + h, endRad); + arcTo(p, x + w, y + h, x, y + h, baseRad); + arcTo(p, x, y + h, x, y, baseRad); + arcTo(p, x, y, x + w, y, endRad); + p.closePath(); + } + }; +} + +// orientation-inverting canvas functions +const moveToH = (p, x, y) => { p.moveTo(x, y); }; +const moveToV = (p, y, x) => { p.moveTo(x, y); }; +const lineToH = (p, x, y) => { p.lineTo(x, y); }; +const lineToV = (p, y, x) => { p.lineTo(x, y); }; +const rectH = rect(0); +const rectV = rect(1); +const arcH = (p, x, y, r, startAngle, endAngle) => { p.arc(x, y, r, startAngle, endAngle); }; +const arcV = (p, y, x, r, startAngle, endAngle) => { p.arc(x, y, r, startAngle, endAngle); }; +const bezierCurveToH = (p, bp1x, bp1y, bp2x, bp2y, p2x, p2y) => { p.bezierCurveTo(bp1x, bp1y, bp2x, bp2y, p2x, p2y); }; +const bezierCurveToV = (p, bp1y, bp1x, bp2y, bp2x, p2y, p2x) => { p.bezierCurveTo(bp1x, bp1y, bp2x, bp2y, p2x, p2y); }; + +// TODO: drawWrap(seriesIdx, drawPoints) (save, restore, translate, clip) +function points(opts) { + return (u, seriesIdx, idx0, idx1, filtIdxs) => { + // log("drawPoints()", arguments); + + return orient(u, seriesIdx, (series, dataX, dataY, scaleX, scaleY, valToPosX, valToPosY, xOff, yOff, xDim, yDim) => { + let { pxRound, points } = series; + + let moveTo, arc; + + if (scaleX.ori == 0) { + moveTo = moveToH; + arc = arcH; + } + else { + moveTo = moveToV; + arc = arcV; + } + + const width = roundDec(points.width * pxRatio, 3); + + let rad = (points.size - points.width) / 2 * pxRatio; + let dia = roundDec(rad * 2, 3); + + let fill = new Path2D(); + let clip = new Path2D(); + + let { left: lft, top: top, width: wid, height: hgt } = u.bbox; + + rectH(clip, + lft - dia, + top - dia, + wid + dia * 2, + hgt + dia * 2, + ); + + const drawPoint = pi => { + if (dataY[pi] != null) { + let x = pxRound(valToPosX(dataX[pi], scaleX, xDim, xOff)); + let y = pxRound(valToPosY(dataY[pi], scaleY, yDim, yOff)); + + moveTo(fill, x + rad, y); + arc(fill, x, y, rad, 0, PI * 2); + } + }; + + if (filtIdxs) + filtIdxs.forEach(drawPoint); + else { + for (let pi = idx0; pi <= idx1; pi++) + drawPoint(pi); + } + + return { + stroke: width > 0 ? fill : null, + fill, + clip, + flags: BAND_CLIP_FILL | BAND_CLIP_STROKE, + }; + }); + }; +} + +function _drawAcc(lineTo) { + return (stroke, accX, minY, maxY, inY, outY) => { + if (minY != maxY) { + if (inY != minY && outY != minY) + lineTo(stroke, accX, minY); + if (inY != maxY && outY != maxY) + lineTo(stroke, accX, maxY); + + lineTo(stroke, accX, outY); + } + }; +} + +const drawAccH = _drawAcc(lineToH); +const drawAccV = _drawAcc(lineToV); + +function linear(opts) { + const alignGaps = ifNull(opts?.alignGaps, 0); + + return (u, seriesIdx, idx0, idx1) => { + return orient(u, seriesIdx, (series, dataX, dataY, scaleX, scaleY, valToPosX, valToPosY, xOff, yOff, xDim, yDim) => { + let pxRound = series.pxRound; + + let pixelForX = val => pxRound(valToPosX(val, scaleX, xDim, xOff)); + let pixelForY = val => pxRound(valToPosY(val, scaleY, yDim, yOff)); + + let lineTo, drawAcc; + + if (scaleX.ori == 0) { + lineTo = lineToH; + drawAcc = drawAccH; + } + else { + lineTo = lineToV; + drawAcc = drawAccV; + } + + const dir = scaleX.dir * (scaleX.ori == 0 ? 1 : -1); + + const _paths = {stroke: new Path2D(), fill: null, clip: null, band: null, gaps: null, flags: BAND_CLIP_FILL}; + const stroke = _paths.stroke; + + let minY = inf, + maxY = -inf, + inY, outY, drawnAtX; + + let accX = pixelForX(dataX[dir == 1 ? idx0 : idx1]); + + // data edges + let lftIdx = nonNullIdx(dataY, idx0, idx1, 1 * dir); + let rgtIdx = nonNullIdx(dataY, idx0, idx1, -1 * dir); + let lftX = pixelForX(dataX[lftIdx]); + let rgtX = pixelForX(dataX[rgtIdx]); + + let hasGap = false; + + for (let i = dir == 1 ? idx0 : idx1; i >= idx0 && i <= idx1; i += dir) { + let x = pixelForX(dataX[i]); + let yVal = dataY[i]; + + if (x == accX) { + if (yVal != null) { + outY = pixelForY(yVal); + + if (minY == inf) { + lineTo(stroke, x, outY); + inY = outY; + } + + minY = min(outY, minY); + maxY = max(outY, maxY); + } + else { + if (yVal === null) + hasGap = true; + } + } + else { + if (minY != inf) { + drawAcc(stroke, accX, minY, maxY, inY, outY); + drawnAtX = accX; + } + + if (yVal != null) { + outY = pixelForY(yVal); + lineTo(stroke, x, outY); + minY = maxY = inY = outY; + } + else { + minY = inf; + maxY = -inf; + + if (yVal === null) + hasGap = true; + } + + accX = x; + } + } + + if (minY != inf && minY != maxY && drawnAtX != accX) + drawAcc(stroke, accX, minY, maxY, inY, outY); + + let [ bandFillDir, bandClipDir ] = bandFillClipDirs(u, seriesIdx); + + if (series.fill != null || bandFillDir != 0) { + let fill = _paths.fill = new Path2D(stroke); + + let fillToVal = series.fillTo(u, seriesIdx, series.min, series.max, bandFillDir); + let fillToY = pixelForY(fillToVal); + + lineTo(fill, rgtX, fillToY); + lineTo(fill, lftX, fillToY); + } + + if (!series.spanGaps) { + // console.time('gaps'); + let gaps = []; + + hasGap && gaps.push(...findGaps(dataX, dataY, idx0, idx1, dir, pixelForX, alignGaps)); + + // console.timeEnd('gaps'); + + // console.log('gaps', JSON.stringify(gaps)); + + _paths.gaps = gaps = series.gaps(u, seriesIdx, idx0, idx1, gaps); + + _paths.clip = clipGaps(gaps, scaleX.ori, xOff, yOff, xDim, yDim); + } + + if (bandClipDir != 0) { + _paths.band = bandClipDir == 2 ? [ + clipBandLine(u, seriesIdx, idx0, idx1, stroke, -1), + clipBandLine(u, seriesIdx, idx0, idx1, stroke, 1), + ] : clipBandLine(u, seriesIdx, idx0, idx1, stroke, bandClipDir); + } + + return _paths; + }); + }; +} + +// BUG: align: -1 behaves like align: 1 when scale.dir: -1 +function stepped(opts) { + const align = ifNull(opts.align, 1); + // whether to draw ascenders/descenders at null/gap bondaries + const ascDesc = ifNull(opts.ascDesc, false); + const alignGaps = ifNull(opts.alignGaps, 0); + const extend = ifNull(opts.extend, false); + + return (u, seriesIdx, idx0, idx1) => { + return orient(u, seriesIdx, (series, dataX, dataY, scaleX, scaleY, valToPosX, valToPosY, xOff, yOff, xDim, yDim) => { + let pxRound = series.pxRound; + + let { left, width } = u.bbox; + + let pixelForX = val => pxRound(valToPosX(val, scaleX, xDim, xOff)); + let pixelForY = val => pxRound(valToPosY(val, scaleY, yDim, yOff)); + + let lineTo = scaleX.ori == 0 ? lineToH : lineToV; + + const _paths = {stroke: new Path2D(), fill: null, clip: null, band: null, gaps: null, flags: BAND_CLIP_FILL}; + const stroke = _paths.stroke; + + const dir = scaleX.dir * (scaleX.ori == 0 ? 1 : -1); + + idx0 = nonNullIdx(dataY, idx0, idx1, 1); + idx1 = nonNullIdx(dataY, idx0, idx1, -1); + + let prevYPos = pixelForY(dataY[dir == 1 ? idx0 : idx1]); + let firstXPos = pixelForX(dataX[dir == 1 ? idx0 : idx1]); + let prevXPos = firstXPos; + + let firstXPosExt = firstXPos; + + if (extend && align == -1) { + firstXPosExt = left; + lineTo(stroke, firstXPosExt, prevYPos); + } + + lineTo(stroke, firstXPos, prevYPos); + + for (let i = dir == 1 ? idx0 : idx1; i >= idx0 && i <= idx1; i += dir) { + let yVal1 = dataY[i]; + + if (yVal1 == null) + continue; + + let x1 = pixelForX(dataX[i]); + let y1 = pixelForY(yVal1); + + if (align == 1) + lineTo(stroke, x1, prevYPos); + else + lineTo(stroke, prevXPos, y1); + + lineTo(stroke, x1, y1); + + prevYPos = y1; + prevXPos = x1; + } + + let prevXPosExt = prevXPos; + + if (extend && align == 1) { + prevXPosExt = left + width; + lineTo(stroke, prevXPosExt, prevYPos); + } + + let [ bandFillDir, bandClipDir ] = bandFillClipDirs(u, seriesIdx); + + if (series.fill != null || bandFillDir != 0) { + let fill = _paths.fill = new Path2D(stroke); + + let fillTo = series.fillTo(u, seriesIdx, series.min, series.max, bandFillDir); + let fillToY = pixelForY(fillTo); + + lineTo(fill, prevXPosExt, fillToY); + lineTo(fill, firstXPosExt, fillToY); + } + + if (!series.spanGaps) { + // console.time('gaps'); + let gaps = []; + + gaps.push(...findGaps(dataX, dataY, idx0, idx1, dir, pixelForX, alignGaps)); + + // console.timeEnd('gaps'); + + // console.log('gaps', JSON.stringify(gaps)); + + // expand/contract clips for ascenders/descenders + let halfStroke = (series.width * pxRatio) / 2; + let startsOffset = (ascDesc || align == 1) ? halfStroke : -halfStroke; + let endsOffset = (ascDesc || align == -1) ? -halfStroke : halfStroke; + + gaps.forEach(g => { + g[0] += startsOffset; + g[1] += endsOffset; + }); + + _paths.gaps = gaps = series.gaps(u, seriesIdx, idx0, idx1, gaps); + + _paths.clip = clipGaps(gaps, scaleX.ori, xOff, yOff, xDim, yDim); + } + + if (bandClipDir != 0) { + _paths.band = bandClipDir == 2 ? [ + clipBandLine(u, seriesIdx, idx0, idx1, stroke, -1), + clipBandLine(u, seriesIdx, idx0, idx1, stroke, 1), + ] : clipBandLine(u, seriesIdx, idx0, idx1, stroke, bandClipDir); + } + + return _paths; + }); + }; +} + +function findColWidth(dataX, dataY, valToPosX, scaleX, xDim, xOff, colWid = inf) { + if (dataX.length > 1) { + // prior index with non-undefined y data + let prevIdx = null; + + // scan full dataset for smallest adjacent delta + // will not work properly for non-linear x scales, since does not do expensive valToPosX calcs till end + for (let i = 0, minDelta = Infinity; i < dataX.length; i++) { + if (dataY[i] !== undefined) { + if (prevIdx != null) { + let delta = abs(dataX[i] - dataX[prevIdx]); + + if (delta < minDelta) { + minDelta = delta; + colWid = abs(valToPosX(dataX[i], scaleX, xDim, xOff) - valToPosX(dataX[prevIdx], scaleX, xDim, xOff)); + } + } + + prevIdx = i; + } + } + } + + return colWid; +} + +function bars(opts) { + opts = opts || EMPTY_OBJ; + const size = ifNull(opts.size, [0.6, inf, 1]); + const align = opts.align || 0; + const _extraGap = (opts.gap || 0); + + let ro = opts.radius; + + ro = + // [valueRadius, baselineRadius] + ro == null ? [0, 0] : + typeof ro == 'number' ? [ro, 0] : ro; + + const radiusFn = fnOrSelf(ro); + + const gapFactor = 1 - size[0]; + const _maxWidth = ifNull(size[1], inf); + const _minWidth = ifNull(size[2], 1); + + const disp = ifNull(opts.disp, EMPTY_OBJ); + const _each = ifNull(opts.each, _ => {}); + + const { fill: dispFills, stroke: dispStrokes } = disp; + + return (u, seriesIdx, idx0, idx1) => { + return orient(u, seriesIdx, (series, dataX, dataY, scaleX, scaleY, valToPosX, valToPosY, xOff, yOff, xDim, yDim) => { + let pxRound = series.pxRound; + let _align = align; + + let extraGap = _extraGap * pxRatio; + let maxWidth = _maxWidth * pxRatio; + let minWidth = _minWidth * pxRatio; + + let valRadius, baseRadius; + + if (scaleX.ori == 0) + [valRadius, baseRadius] = radiusFn(u, seriesIdx); + else + [baseRadius, valRadius] = radiusFn(u, seriesIdx); + + const _dirX = scaleX.dir * (scaleX.ori == 0 ? 1 : -1); + // const _dirY = scaleY.dir * (scaleY.ori == 1 ? 1 : -1); + + let rect = scaleX.ori == 0 ? rectH : rectV; + + let each = scaleX.ori == 0 ? _each : (u, seriesIdx, i, top, lft, hgt, wid) => { + _each(u, seriesIdx, i, lft, top, wid, hgt); + }; + + // band where this series is the "from" edge + let band = ifNull(u.bands, EMPTY_ARR).find(b => b.series[0] == seriesIdx); + + let fillDir = band != null ? band.dir : 0; + let fillTo = series.fillTo(u, seriesIdx, series.min, series.max, fillDir); + let fillToY = pxRound(valToPosY(fillTo, scaleY, yDim, yOff)); + + // barWid is to center of stroke + let xShift, barWid, fullGap, colWid = xDim; + + let strokeWidth = pxRound(series.width * pxRatio); + + let multiPath = false; + + let fillColors = null; + let fillPaths = null; + let strokeColors = null; + let strokePaths = null; + + if (dispFills != null && (strokeWidth == 0 || dispStrokes != null)) { + multiPath = true; + + fillColors = dispFills.values(u, seriesIdx, idx0, idx1); + fillPaths = new Map(); + (new Set(fillColors)).forEach(color => { + if (color != null) + fillPaths.set(color, new Path2D()); + }); + + if (strokeWidth > 0) { + strokeColors = dispStrokes.values(u, seriesIdx, idx0, idx1); + strokePaths = new Map(); + (new Set(strokeColors)).forEach(color => { + if (color != null) + strokePaths.set(color, new Path2D()); + }); + } + } + + let { x0, size } = disp; + + if (x0 != null && size != null) { + _align = 1; + dataX = x0.values(u, seriesIdx, idx0, idx1); + + if (x0.unit == 2) + dataX = dataX.map(pct => u.posToVal(xOff + pct * xDim, scaleX.key, true)); + + // assumes uniform sizes, for now + let sizes = size.values(u, seriesIdx, idx0, idx1); + + if (size.unit == 2) + barWid = sizes[0] * xDim; + else + barWid = valToPosX(sizes[0], scaleX, xDim, xOff) - valToPosX(0, scaleX, xDim, xOff); // assumes linear scale (delta from 0) + + colWid = findColWidth(dataX, dataY, valToPosX, scaleX, xDim, xOff, colWid); + + let gapWid = colWid - barWid; + fullGap = gapWid + extraGap; + } + else { + colWid = findColWidth(dataX, dataY, valToPosX, scaleX, xDim, xOff, colWid); + + let gapWid = colWid * gapFactor; + + fullGap = gapWid + extraGap; + barWid = colWid - fullGap; + } + + if (fullGap < 1) + fullGap = 0; + + if (strokeWidth >= barWid / 2) + strokeWidth = 0; + + // for small gaps, disable pixel snapping since gap inconsistencies become noticible and annoying + if (fullGap < 5) + pxRound = retArg0; + + let insetStroke = fullGap > 0; + + let rawBarWid = colWid - fullGap - (insetStroke ? strokeWidth : 0); + + barWid = pxRound(clamp(rawBarWid, minWidth, maxWidth)); + + xShift = (_align == 0 ? barWid / 2 : _align == _dirX ? 0 : barWid) - _align * _dirX * ((_align == 0 ? extraGap / 2 : 0) + (insetStroke ? strokeWidth / 2 : 0)); + + + const _paths = {stroke: null, fill: null, clip: null, band: null, gaps: null, flags: 0}; // disp, geom + + const stroke = multiPath ? null : new Path2D(); + + let dataY0 = null; + + if (band != null) + dataY0 = u.data[band.series[1]]; + else { + let { y0, y1 } = disp; + + if (y0 != null && y1 != null) { + dataY = y1.values(u, seriesIdx, idx0, idx1); + dataY0 = y0.values(u, seriesIdx, idx0, idx1); + } + } + + let radVal = valRadius * barWid; + let radBase = baseRadius * barWid; + + for (let i = _dirX == 1 ? idx0 : idx1; i >= idx0 && i <= idx1; i += _dirX) { + let yVal = dataY[i]; + + if (yVal == null) + continue; + + if (dataY0 != null) { + let yVal0 = dataY0[i] ?? 0; + + if (yVal - yVal0 == 0) + continue; + + fillToY = valToPosY(yVal0, scaleY, yDim, yOff); + } + + let xVal = scaleX.distr != 2 || disp != null ? dataX[i] : i; + + // TODO: all xPos can be pre-computed once for all series in aligned set + let xPos = valToPosX(xVal, scaleX, xDim, xOff); + let yPos = valToPosY(ifNull(yVal, fillTo), scaleY, yDim, yOff); + + let lft = pxRound(xPos - xShift); + let btm = pxRound(max(yPos, fillToY)); + let top = pxRound(min(yPos, fillToY)); + // this includes the stroke + let barHgt = btm - top; + + if (yVal != null) { // && yVal != fillTo (0 height bar) + let rv = yVal < 0 ? radBase : radVal; + let rb = yVal < 0 ? radVal : radBase; + + if (multiPath) { + if (strokeWidth > 0 && strokeColors[i] != null) + rect(strokePaths.get(strokeColors[i]), lft, top + floor(strokeWidth / 2), barWid, max(0, barHgt - strokeWidth), rv, rb); + + if (fillColors[i] != null) + rect(fillPaths.get(fillColors[i]), lft, top + floor(strokeWidth / 2), barWid, max(0, barHgt - strokeWidth), rv, rb); + } + else + rect(stroke, lft, top + floor(strokeWidth / 2), barWid, max(0, barHgt - strokeWidth), rv, rb); + + each(u, seriesIdx, i, + lft - strokeWidth / 2, + top, + barWid + strokeWidth, + barHgt, + ); + } + } + + if (strokeWidth > 0) + _paths.stroke = multiPath ? strokePaths : stroke; + else if (!multiPath) { + _paths._fill = series.width == 0 ? series._fill : series._stroke ?? series._fill; + _paths.width = 0; + } + + _paths.fill = multiPath ? fillPaths : stroke; + + return _paths; + }); + }; +} + +function splineInterp(interp, opts) { + const alignGaps = ifNull(opts?.alignGaps, 0); + + return (u, seriesIdx, idx0, idx1) => { + return orient(u, seriesIdx, (series, dataX, dataY, scaleX, scaleY, valToPosX, valToPosY, xOff, yOff, xDim, yDim) => { + let pxRound = series.pxRound; + + let pixelForX = val => pxRound(valToPosX(val, scaleX, xDim, xOff)); + let pixelForY = val => pxRound(valToPosY(val, scaleY, yDim, yOff)); + + let moveTo, bezierCurveTo, lineTo; + + if (scaleX.ori == 0) { + moveTo = moveToH; + lineTo = lineToH; + bezierCurveTo = bezierCurveToH; + } + else { + moveTo = moveToV; + lineTo = lineToV; + bezierCurveTo = bezierCurveToV; + } + + const dir = scaleX.dir * (scaleX.ori == 0 ? 1 : -1); + + idx0 = nonNullIdx(dataY, idx0, idx1, 1); + idx1 = nonNullIdx(dataY, idx0, idx1, -1); + + let firstXPos = pixelForX(dataX[dir == 1 ? idx0 : idx1]); + let prevXPos = firstXPos; + + let xCoords = []; + let yCoords = []; + + for (let i = dir == 1 ? idx0 : idx1; i >= idx0 && i <= idx1; i += dir) { + let yVal = dataY[i]; + + if (yVal != null) { + let xVal = dataX[i]; + let xPos = pixelForX(xVal); + + xCoords.push(prevXPos = xPos); + yCoords.push(pixelForY(dataY[i])); + } + } + + const _paths = {stroke: interp(xCoords, yCoords, moveTo, lineTo, bezierCurveTo, pxRound), fill: null, clip: null, band: null, gaps: null, flags: BAND_CLIP_FILL}; + const stroke = _paths.stroke; + + let [ bandFillDir, bandClipDir ] = bandFillClipDirs(u, seriesIdx); + + if (series.fill != null || bandFillDir != 0) { + let fill = _paths.fill = new Path2D(stroke); + + let fillTo = series.fillTo(u, seriesIdx, series.min, series.max, bandFillDir); + let fillToY = pixelForY(fillTo); + + lineTo(fill, prevXPos, fillToY); + lineTo(fill, firstXPos, fillToY); + } + + if (!series.spanGaps) { + // console.time('gaps'); + let gaps = []; + + gaps.push(...findGaps(dataX, dataY, idx0, idx1, dir, pixelForX, alignGaps)); + + // console.timeEnd('gaps'); + + // console.log('gaps', JSON.stringify(gaps)); + + _paths.gaps = gaps = series.gaps(u, seriesIdx, idx0, idx1, gaps); + + _paths.clip = clipGaps(gaps, scaleX.ori, xOff, yOff, xDim, yDim); + } + + if (bandClipDir != 0) { + _paths.band = bandClipDir == 2 ? [ + clipBandLine(u, seriesIdx, idx0, idx1, stroke, -1), + clipBandLine(u, seriesIdx, idx0, idx1, stroke, 1), + ] : clipBandLine(u, seriesIdx, idx0, idx1, stroke, bandClipDir); + } + + return _paths; + + // if FEAT_PATHS: false in rollup.config.js + // u.ctx.save(); + // u.ctx.beginPath(); + // u.ctx.rect(u.bbox.left, u.bbox.top, u.bbox.width, u.bbox.height); + // u.ctx.clip(); + // u.ctx.strokeStyle = u.series[sidx].stroke; + // u.ctx.stroke(stroke); + // u.ctx.fillStyle = u.series[sidx].fill; + // u.ctx.fill(fill); + // u.ctx.restore(); + // return null; + }); + }; +} + +function monotoneCubic(opts) { + return splineInterp(_monotoneCubic, opts); +} + +// Monotone Cubic Spline interpolation, adapted from the Chartist.js implementation: +// https://github.com/gionkunz/chartist-js/blob/e7e78201bffe9609915e5e53cfafa29a5d6c49f9/src/scripts/interpolation.js#L240-L369 +function _monotoneCubic(xs, ys, moveTo, lineTo, bezierCurveTo, pxRound) { + const n = xs.length; + + if (n < 2) + return null; + + const path = new Path2D(); + + moveTo(path, xs[0], ys[0]); + + if (n == 2) + lineTo(path, xs[1], ys[1]); + else { + let ms = Array(n), + ds = Array(n - 1), + dys = Array(n - 1), + dxs = Array(n - 1); + + // calc deltas and derivative + for (let i = 0; i < n - 1; i++) { + dys[i] = ys[i + 1] - ys[i]; + dxs[i] = xs[i + 1] - xs[i]; + ds[i] = dys[i] / dxs[i]; + } + + // determine desired slope (m) at each point using Fritsch-Carlson method + // http://math.stackexchange.com/questions/45218/implementation-of-monotone-cubic-interpolation + ms[0] = ds[0]; + + for (let i = 1; i < n - 1; i++) { + if (ds[i] === 0 || ds[i - 1] === 0 || (ds[i - 1] > 0) !== (ds[i] > 0)) + ms[i] = 0; + else { + ms[i] = 3 * (dxs[i - 1] + dxs[i]) / ( + (2 * dxs[i] + dxs[i - 1]) / ds[i - 1] + + (dxs[i] + 2 * dxs[i - 1]) / ds[i] + ); + + if (!isFinite(ms[i])) + ms[i] = 0; + } + } + + ms[n - 1] = ds[n - 2]; + + for (let i = 0; i < n - 1; i++) { + bezierCurveTo( + path, + xs[i] + dxs[i] / 3, + ys[i] + ms[i] * dxs[i] / 3, + xs[i + 1] - dxs[i] / 3, + ys[i + 1] - ms[i + 1] * dxs[i] / 3, + xs[i + 1], + ys[i + 1], + ); + } + } + + return path; +} + +const cursorPlots = new Set(); + +function invalidateRects() { + for (let u of cursorPlots) + u.syncRect(true); +} + +if (domEnv) { + on(resize, win, invalidateRects); + on(scroll, win, invalidateRects, true); + on(dppxchange, win, () => { uPlot.pxRatio = pxRatio; }); +} + +const linearPath = linear() ; +const pointsPath = points() ; + +function setDefaults(d, xo, yo, initY) { + let d2 = initY ? [d[0], d[1]].concat(d.slice(2)) : [d[0]].concat(d.slice(1)); + return d2.map((o, i) => setDefault(o, i, xo, yo)); +} + +function setDefaults2(d, xyo) { + return d.map((o, i) => i == 0 ? {} : assign({}, xyo, o)); // todo: assign() will not merge facet arrays +} + +function setDefault(o, i, xo, yo) { + return assign({}, (i == 0 ? xo : yo), o); +} + +function snapNumX(self, dataMin, dataMax) { + return dataMin == null ? nullNullTuple : [dataMin, dataMax]; +} + +const snapTimeX = snapNumX; + +// this ensures that non-temporal/numeric y-axes get multiple-snapped padding added above/below +// TODO: also account for incrs when snapping to ensure top of axis gets a tick & value +function snapNumY(self, dataMin, dataMax) { + return dataMin == null ? nullNullTuple : rangeNum(dataMin, dataMax, rangePad, true); +} + +function snapLogY(self, dataMin, dataMax, scale) { + return dataMin == null ? nullNullTuple : rangeLog(dataMin, dataMax, self.scales[scale].log, false); +} + +const snapLogX = snapLogY; + +function snapAsinhY(self, dataMin, dataMax, scale) { + return dataMin == null ? nullNullTuple : rangeAsinh(dataMin, dataMax, self.scales[scale].log, false); +} + +const snapAsinhX = snapAsinhY; + +// dim is logical (getClientBoundingRect) pixels, not canvas pixels +function findIncr(minVal, maxVal, incrs, dim, minSpace) { + let intDigits = max(numIntDigits(minVal), numIntDigits(maxVal)); + + let delta = maxVal - minVal; + + let incrIdx = closestIdx((minSpace / dim) * delta, incrs); + + do { + let foundIncr = incrs[incrIdx]; + let foundSpace = dim * foundIncr / delta; + + if (foundSpace >= minSpace && intDigits + (foundIncr < 5 ? fixedDec.get(foundIncr) : 0) <= 17) + return [foundIncr, foundSpace]; + } while (++incrIdx < incrs.length); + + return [0, 0]; +} + +function pxRatioFont(font) { + let fontSize, fontSizeCss; + font = font.replace(/(\d+)px/, (m, p1) => (fontSize = round((fontSizeCss = +p1) * pxRatio)) + 'px'); + return [font, fontSize, fontSizeCss]; +} + +function syncFontSize(axis) { + if (axis.show) { + [axis.font, axis.labelFont].forEach(f => { + let size = roundDec(f[2] * pxRatio, 1); + f[0] = f[0].replace(/[0-9.]+px/, size + 'px'); + f[1] = size; + }); + } +} + +function uPlot(opts, data, then) { + const self = { + mode: ifNull(opts.mode, 1), + }; + + const mode = self.mode; + + // TODO: cache denoms & mins scale.cache = {r, min, } + function getValPct(val, scale) { + let _val = ( + scale.distr == 3 ? log10(val > 0 ? val : scale.clamp(self, val, scale.min, scale.max, scale.key)) : + scale.distr == 4 ? asinh(val, scale.asinh) : + scale.distr == 100 ? scale.fwd(val) : + val + ); + + return (_val - scale._min) / (scale._max - scale._min); + } + + function getHPos(val, scale, dim, off) { + let pct = getValPct(val, scale); + return off + dim * (scale.dir == -1 ? (1 - pct) : pct); + } + + function getVPos(val, scale, dim, off) { + let pct = getValPct(val, scale); + return off + dim * (scale.dir == -1 ? pct : (1 - pct)); + } + + function getPos(val, scale, dim, off) { + return scale.ori == 0 ? getHPos(val, scale, dim, off) : getVPos(val, scale, dim, off); + } + + self.valToPosH = getHPos; + self.valToPosV = getVPos; + + let ready = false; + self.status = 0; + + const root = self.root = placeDiv(UPLOT); + + if (opts.id != null) + root.id = opts.id; + + addClass(root, opts.class); + + if (opts.title) { + let title = placeDiv(TITLE, root); + title.textContent = opts.title; + } + + const can = placeTag("canvas"); + const ctx = self.ctx = can.getContext("2d"); + + const wrap = placeDiv(WRAP, root); + + on("click", wrap, e => { + if (e.target === over) { + let didDrag = mouseLeft1 != mouseLeft0 || mouseTop1 != mouseTop0; + didDrag && drag.click(self, e); + } + }, true); + + const under = self.under = placeDiv(UNDER, wrap); + wrap.appendChild(can); + const over = self.over = placeDiv(OVER, wrap); + + opts = copy(opts); + + const pxAlign = +ifNull(opts.pxAlign, 1); + + const pxRound = pxRoundGen(pxAlign); + + (opts.plugins || []).forEach(p => { + if (p.opts) + opts = p.opts(self, opts) || opts; + }); + + const ms = opts.ms || 1e-3; + + const series = self.series = mode == 1 ? + setDefaults(opts.series || [], xSeriesOpts, ySeriesOpts, false) : + setDefaults2(opts.series || [null], xySeriesOpts); + const axes = self.axes = setDefaults(opts.axes || [], xAxisOpts, yAxisOpts, true); + const scales = self.scales = {}; + const bands = self.bands = opts.bands || []; + + bands.forEach(b => { + b.fill = fnOrSelf(b.fill || null); + b.dir = ifNull(b.dir, -1); + }); + + const xScaleKey = mode == 2 ? series[1].facets[0].scale : series[0].scale; + + const drawOrderMap = { + axes: drawAxesGrid, + series: drawSeries, + }; + + const drawOrder = (opts.drawOrder || ["axes", "series"]).map(key => drawOrderMap[key]); + + function initScale(scaleKey) { + let sc = scales[scaleKey]; + + if (sc == null) { + let scaleOpts = (opts.scales || EMPTY_OBJ)[scaleKey] || EMPTY_OBJ; + + if (scaleOpts.from != null) { + // ensure parent is initialized + initScale(scaleOpts.from); + // dependent scales inherit + scales[scaleKey] = assign({}, scales[scaleOpts.from], scaleOpts, {key: scaleKey}); + } + else { + sc = scales[scaleKey] = assign({}, (scaleKey == xScaleKey ? xScaleOpts : yScaleOpts), scaleOpts); + + sc.key = scaleKey; + + let isTime = sc.time; + + let rn = sc.range; + + let rangeIsArr = isArr(rn); + + if (scaleKey != xScaleKey || (mode == 2 && !isTime)) { + // if range array has null limits, it should be auto + if (rangeIsArr && (rn[0] == null || rn[1] == null)) { + rn = { + min: rn[0] == null ? autoRangePart : { + mode: 1, + hard: rn[0], + soft: rn[0], + }, + max: rn[1] == null ? autoRangePart : { + mode: 1, + hard: rn[1], + soft: rn[1], + }, + }; + rangeIsArr = false; + } + + if (!rangeIsArr && isObj(rn)) { + let cfg = rn; + // this is similar to snapNumY + rn = (self, dataMin, dataMax) => dataMin == null ? nullNullTuple : rangeNum(dataMin, dataMax, cfg); + } + } + + sc.range = fnOrSelf(rn || (isTime ? snapTimeX : scaleKey == xScaleKey ? + (sc.distr == 3 ? snapLogX : sc.distr == 4 ? snapAsinhX : snapNumX) : + (sc.distr == 3 ? snapLogY : sc.distr == 4 ? snapAsinhY : snapNumY) + )); + + sc.auto = fnOrSelf(rangeIsArr ? false : sc.auto); + + sc.clamp = fnOrSelf(sc.clamp || clampScale); + + // caches for expensive ops like asinh() & log() + sc._min = sc._max = null; + } + } + } + + initScale("x"); + initScale("y"); + + // TODO: init scales from facets in mode: 2 + if (mode == 1) { + series.forEach(s => { + initScale(s.scale); + }); + } + + axes.forEach(a => { + initScale(a.scale); + }); + + for (let k in opts.scales) + initScale(k); + + const scaleX = scales[xScaleKey]; + + const xScaleDistr = scaleX.distr; + + let valToPosX, valToPosY; + + if (scaleX.ori == 0) { + addClass(root, ORI_HZ); + valToPosX = getHPos; + valToPosY = getVPos; + /* + updOriDims = () => { + xDimCan = plotWid; + xOffCan = plotLft; + yDimCan = plotHgt; + yOffCan = plotTop; + + xDimCss = plotWidCss; + xOffCss = plotLftCss; + yDimCss = plotHgtCss; + yOffCss = plotTopCss; + }; + */ + } + else { + addClass(root, ORI_VT); + valToPosX = getVPos; + valToPosY = getHPos; + /* + updOriDims = () => { + xDimCan = plotHgt; + xOffCan = plotTop; + yDimCan = plotWid; + yOffCan = plotLft; + + xDimCss = plotHgtCss; + xOffCss = plotTopCss; + yDimCss = plotWidCss; + yOffCss = plotLftCss; + }; + */ + } + + const pendScales = {}; + + // explicitly-set initial scales + for (let k in scales) { + let sc = scales[k]; + + if (sc.min != null || sc.max != null) { + pendScales[k] = {min: sc.min, max: sc.max}; + sc.min = sc.max = null; + } + } + +// self.tz = opts.tz || Intl.DateTimeFormat().resolvedOptions().timeZone; + const _tzDate = (opts.tzDate || (ts => new Date(round(ts / ms)))); + const _fmtDate = (opts.fmtDate || fmtDate); + + const _timeAxisSplits = (ms == 1 ? timeAxisSplitsMs(_tzDate) : timeAxisSplitsS(_tzDate)); + const _timeAxisVals = timeAxisVals(_tzDate, timeAxisStamps((ms == 1 ? _timeAxisStampsMs : _timeAxisStampsS), _fmtDate)); + const _timeSeriesVal = timeSeriesVal(_tzDate, timeSeriesStamp(_timeSeriesStamp, _fmtDate)); + + const activeIdxs = []; + + const legend = (self.legend = assign({}, legendOpts, opts.legend)); + const showLegend = legend.show; + const markers = legend.markers; + + { + legend.idxs = activeIdxs; + + markers.width = fnOrSelf(markers.width); + markers.dash = fnOrSelf(markers.dash); + markers.stroke = fnOrSelf(markers.stroke); + markers.fill = fnOrSelf(markers.fill); + } + + let legendTable; + let legendHead; + let legendBody; + let legendRows = []; + let legendCells = []; + let legendCols; + let multiValLegend = false; + let NULL_LEGEND_VALUES = {}; + + if (legend.live) { + const getMultiVals = series[1] ? series[1].values : null; + multiValLegend = getMultiVals != null; + legendCols = multiValLegend ? getMultiVals(self, 1, 0) : {_: 0}; + + for (let k in legendCols) + NULL_LEGEND_VALUES[k] = LEGEND_DISP; + } + + if (showLegend) { + legendTable = placeTag("table", LEGEND, root); + legendBody = placeTag("tbody", null, legendTable); + + // allows legend to be moved out of root + legend.mount(self, legendTable); + + if (multiValLegend) { + legendHead = placeTag("thead", null, legendTable, legendBody); + + let head = placeTag("tr", null, legendHead); + placeTag("th", null, head); + + for (var key in legendCols) + placeTag("th", LEGEND_LABEL, head).textContent = key; + } + else { + addClass(legendTable, LEGEND_INLINE); + legend.live && addClass(legendTable, LEGEND_LIVE); + } + } + + const son = {show: true}; + const soff = {show: false}; + + function initLegendRow(s, i) { + if (i == 0 && (multiValLegend || !legend.live || mode == 2)) + return nullNullTuple; + + let cells = []; + + let row = placeTag("tr", LEGEND_SERIES, legendBody, legendBody.childNodes[i]); + + addClass(row, s.class); + + if (!s.show) + addClass(row, OFF); + + let label = placeTag("th", null, row); + + if (markers.show) { + let indic = placeDiv(LEGEND_MARKER, label); + + if (i > 0) { + let width = markers.width(self, i); + + if (width) + indic.style.border = width + "px " + markers.dash(self, i) + " " + markers.stroke(self, i); + + indic.style.background = markers.fill(self, i); + } + } + + let text = placeDiv(LEGEND_LABEL, label); + text.textContent = s.label; + + if (i > 0) { + if (!markers.show) + text.style.color = s.width > 0 ? markers.stroke(self, i) : markers.fill(self, i); + + onMouse("click", label, e => { + if (cursor._lock) + return; + + setCursorEvent(e); + + let seriesIdx = series.indexOf(s); + + if ((e.ctrlKey || e.metaKey) != legend.isolate) { + // if any other series is shown, isolate this one. else show all + let isolate = series.some((s, i) => i > 0 && i != seriesIdx && s.show); + + series.forEach((s, i) => { + i > 0 && setSeries(i, isolate ? (i == seriesIdx ? son : soff) : son, true, syncOpts.setSeries); + }); + } + else + setSeries(seriesIdx, {show: !s.show}, true, syncOpts.setSeries); + }, false); + + if (cursorFocus) { + onMouse(mouseenter, label, e => { + if (cursor._lock) + return; + + setCursorEvent(e); + + setSeries(series.indexOf(s), FOCUS_TRUE, true, syncOpts.setSeries); + }, false); + } + } + + for (var key in legendCols) { + let v = placeTag("td", LEGEND_VALUE, row); + v.textContent = "--"; + cells.push(v); + } + + return [row, cells]; + } + + const mouseListeners = new Map(); + + function onMouse(ev, targ, fn, onlyTarg = true) { + const targListeners = mouseListeners.get(targ) || {}; + const listener = cursor.bind[ev](self, targ, fn, onlyTarg); + + if (listener) { + on(ev, targ, targListeners[ev] = listener); + mouseListeners.set(targ, targListeners); + } + } + + function offMouse(ev, targ, fn) { + const targListeners = mouseListeners.get(targ) || {}; + + for (let k in targListeners) { + if (ev == null || k == ev) { + off(k, targ, targListeners[k]); + delete targListeners[k]; + } + } + + if (ev == null) + mouseListeners.delete(targ); + } + + let fullWidCss = 0; + let fullHgtCss = 0; + + let plotWidCss = 0; + let plotHgtCss = 0; + + // plot margins to account for axes + let plotLftCss = 0; + let plotTopCss = 0; + + // previous values for diffing + let _plotLftCss = plotLftCss; + let _plotTopCss = plotTopCss; + let _plotWidCss = plotWidCss; + let _plotHgtCss = plotHgtCss; + + + let plotLft = 0; + let plotTop = 0; + let plotWid = 0; + let plotHgt = 0; + + self.bbox = {}; + + let shouldSetScales = false; + let shouldSetSize = false; + let shouldConvergeSize = false; + let shouldSetCursor = false; + let shouldSetSelect = false; + let shouldSetLegend = false; + + function _setSize(width, height, force) { + if (force || (width != self.width || height != self.height)) + calcSize(width, height); + + resetYSeries(false); + + shouldConvergeSize = true; + shouldSetSize = true; + + commit(); + } + + function calcSize(width, height) { + // log("calcSize()", arguments); + + self.width = fullWidCss = plotWidCss = width; + self.height = fullHgtCss = plotHgtCss = height; + plotLftCss = plotTopCss = 0; + + calcPlotRect(); + calcAxesRects(); + + let bb = self.bbox; + + plotLft = bb.left = incrRound(plotLftCss * pxRatio, 0.5); + plotTop = bb.top = incrRound(plotTopCss * pxRatio, 0.5); + plotWid = bb.width = incrRound(plotWidCss * pxRatio, 0.5); + plotHgt = bb.height = incrRound(plotHgtCss * pxRatio, 0.5); + + // updOriDims(); + } + + // ensures size calc convergence + const CYCLE_LIMIT = 3; + + function convergeSize() { + let converged = false; + + let cycleNum = 0; + + while (!converged) { + cycleNum++; + + let axesConverged = axesCalc(cycleNum); + let paddingConverged = paddingCalc(cycleNum); + + converged = cycleNum == CYCLE_LIMIT || (axesConverged && paddingConverged); + + if (!converged) { + calcSize(self.width, self.height); + shouldSetSize = true; + } + } + } + + function setSize({width, height}) { + _setSize(width, height); + } + + self.setSize = setSize; + + // accumulate axis offsets, reduce canvas width + function calcPlotRect() { + // easements for edge labels + let hasTopAxis = false; + let hasBtmAxis = false; + let hasRgtAxis = false; + let hasLftAxis = false; + + axes.forEach((axis, i) => { + if (axis.show && axis._show) { + let {side, _size} = axis; + let isVt = side % 2; + let labelSize = axis.label != null ? axis.labelSize : 0; + + let fullSize = _size + labelSize; + + if (fullSize > 0) { + if (isVt) { + plotWidCss -= fullSize; + + if (side == 3) { + plotLftCss += fullSize; + hasLftAxis = true; + } + else + hasRgtAxis = true; + } + else { + plotHgtCss -= fullSize; + + if (side == 0) { + plotTopCss += fullSize; + hasTopAxis = true; + } + else + hasBtmAxis = true; + } + } + } + }); + + sidesWithAxes[0] = hasTopAxis; + sidesWithAxes[1] = hasRgtAxis; + sidesWithAxes[2] = hasBtmAxis; + sidesWithAxes[3] = hasLftAxis; + + // hz padding + plotWidCss -= _padding[1] + _padding[3]; + plotLftCss += _padding[3]; + + // vt padding + plotHgtCss -= _padding[2] + _padding[0]; + plotTopCss += _padding[0]; + } + + function calcAxesRects() { + // will accum + + let off1 = plotLftCss + plotWidCss; + let off2 = plotTopCss + plotHgtCss; + // will accum - + let off3 = plotLftCss; + let off0 = plotTopCss; + + function incrOffset(side, size) { + switch (side) { + case 1: off1 += size; return off1 - size; + case 2: off2 += size; return off2 - size; + case 3: off3 -= size; return off3 + size; + case 0: off0 -= size; return off0 + size; + } + } + + axes.forEach((axis, i) => { + if (axis.show && axis._show) { + let side = axis.side; + + axis._pos = incrOffset(side, axis._size); + + if (axis.label != null) + axis._lpos = incrOffset(side, axis.labelSize); + } + }); + } + + const cursor = self.cursor = assign({}, cursorOpts, {drag: {y: mode == 2}}, opts.cursor); + + if (cursor.dataIdx == null) { + let hov = cursor.hover; + + let skip = hov.skip = new Set(hov.skip ?? []); + skip.add(void 0); // alignment artifacts + let prox = hov.prox = fnOrSelf(hov.prox); + let bias = hov.bias ??= 0; + + // TODO: only scan between in-view idxs (i0, i1) + cursor.dataIdx = (self, seriesIdx, cursorIdx, valAtPosX) => { + if (seriesIdx == 0) + return cursorIdx; + + let idx2 = cursorIdx; + + let _prox = prox(self, seriesIdx, cursorIdx, valAtPosX) ?? inf; + let withProx = _prox >= 0 && _prox < inf; + let xDim = scaleX.ori == 0 ? plotWidCss : plotHgtCss; + let cursorLft = cursor.left; + + let xValues = data[0]; + let yValues = data[seriesIdx]; + + if (skip.has(yValues[cursorIdx])) { + idx2 = null; + + let nonNullLft = null, + nonNullRgt = null, + j; + + if (bias == 0 || bias == -1) { + j = cursorIdx; + while (nonNullLft == null && j-- > 0) { + if (!skip.has(yValues[j])) + nonNullLft = j; + } + } + + if (bias == 0 || bias == 1) { + j = cursorIdx; + while (nonNullRgt == null && j++ < yValues.length) { + if (!skip.has(yValues[j])) + nonNullRgt = j; + } + } + + if (nonNullLft != null || nonNullRgt != null) { + if (withProx) { + let lftPos = nonNullLft == null ? -Infinity : valToPosX(xValues[nonNullLft], scaleX, xDim, 0); + let rgtPos = nonNullRgt == null ? Infinity : valToPosX(xValues[nonNullRgt], scaleX, xDim, 0); + + let lftDelta = cursorLft - lftPos; + let rgtDelta = rgtPos - cursorLft; + + if (lftDelta <= rgtDelta) { + if (lftDelta <= _prox) + idx2 = nonNullLft; + } else { + if (rgtDelta <= _prox) + idx2 = nonNullRgt; + } + } + else { + idx2 = + nonNullRgt == null ? nonNullLft : + nonNullLft == null ? nonNullRgt : + cursorIdx - nonNullLft <= nonNullRgt - cursorIdx ? nonNullLft : nonNullRgt; + } + } + } + else if (withProx) { + let dist = abs(cursorLft - valToPosX(xValues[cursorIdx], scaleX, xDim, 0)); + + if (dist > _prox) + idx2 = null; + } + + return idx2; + }; + } + + const setCursorEvent = e => { cursor.event = e; }; + + cursor.idxs = activeIdxs; + + cursor._lock = false; + + let points = cursor.points; + + points.show = fnOrSelf(points.show); + points.size = fnOrSelf(points.size); + points.stroke = fnOrSelf(points.stroke); + points.width = fnOrSelf(points.width); + points.fill = fnOrSelf(points.fill); + + const focus = self.focus = assign({}, opts.focus || {alpha: 0.3}, cursor.focus); + + const cursorFocus = focus.prox >= 0; + const cursorOnePt = cursorFocus && points.one; + + // series-intersection markers + let cursorPts = []; + // position caches in CSS pixels + let cursorPtsLft = []; + let cursorPtsTop = []; + + function initCursorPt(s, si) { + let pt = points.show(self, si); + + if (pt) { + addClass(pt, CURSOR_PT); + addClass(pt, s.class); + elTrans(pt, -10, -10, plotWidCss, plotHgtCss); + over.insertBefore(pt, cursorPts[si]); + + return pt; + } + } + + function initSeries(s, i) { + if (mode == 1 || i > 0) { + let isTime = mode == 1 && scales[s.scale].time; + + let sv = s.value; + s.value = isTime ? (isStr(sv) ? timeSeriesVal(_tzDate, timeSeriesStamp(sv, _fmtDate)) : sv || _timeSeriesVal) : sv || numSeriesVal; + s.label = s.label || (isTime ? timeSeriesLabel : numSeriesLabel); + } + + if (cursorOnePt || i > 0) { + s.width = s.width == null ? 1 : s.width; + s.paths = s.paths || linearPath || retNull; + s.fillTo = fnOrSelf(s.fillTo || seriesFillTo); + s.pxAlign = +ifNull(s.pxAlign, pxAlign); + s.pxRound = pxRoundGen(s.pxAlign); + + s.stroke = fnOrSelf(s.stroke || null); + s.fill = fnOrSelf(s.fill || null); + s._stroke = s._fill = s._paths = s._focus = null; + + let _ptDia = ptDia(max(1, s.width), 1); + let points = s.points = assign({}, { + size: _ptDia, + width: max(1, _ptDia * .2), + stroke: s.stroke, + space: _ptDia * 2, + paths: pointsPath, + _stroke: null, + _fill: null, + }, s.points); + points.show = fnOrSelf(points.show); + points.filter = fnOrSelf(points.filter); + points.fill = fnOrSelf(points.fill); + points.stroke = fnOrSelf(points.stroke); + points.paths = fnOrSelf(points.paths); + points.pxAlign = s.pxAlign; + } + + if (showLegend) { + let rowCells = initLegendRow(s, i); + legendRows.splice(i, 0, rowCells[0]); + legendCells.splice(i, 0, rowCells[1]); + legend.values.push(null); // NULL_LEGEND_VALS not yet avil here :( + } + + if (cursor.show) { + activeIdxs.splice(i, 0, null); + + let pt = null; + + if (cursorOnePt) { + if (i == 0) + pt = initCursorPt(s, i); + } + else if (i > 0) + pt = initCursorPt(s, i); + + cursorPts.splice(i, 0, pt); + cursorPtsLft.splice(i, 0, 0); + cursorPtsTop.splice(i, 0, 0); + } + + fire("addSeries", i); + } + + function addSeries(opts, si) { + si = si == null ? series.length : si; + + opts = mode == 1 ? setDefault(opts, si, xSeriesOpts, ySeriesOpts) : setDefault(opts, si, {}, xySeriesOpts); + + series.splice(si, 0, opts); + initSeries(series[si], si); + } + + self.addSeries = addSeries; + + function delSeries(i) { + series.splice(i, 1); + + if (showLegend) { + legend.values.splice(i, 1); + + legendCells.splice(i, 1); + let tr = legendRows.splice(i, 1)[0]; + offMouse(null, tr.firstChild); + tr.remove(); + } + + if (cursor.show) { + activeIdxs.splice(i, 1); + cursorPts.splice(i, 1)[0].remove(); + cursorPtsLft.splice(i, 1); + cursorPtsTop.splice(i, 1); + } + + // TODO: de-init no-longer-needed scales? + + fire("delSeries", i); + } + + self.delSeries = delSeries; + + const sidesWithAxes = [false, false, false, false]; + + function initAxis(axis, i) { + axis._show = axis.show; + + if (axis.show) { + let isVt = axis.side % 2; + + let sc = scales[axis.scale]; + + // this can occur if all series specify non-default scales + if (sc == null) { + axis.scale = isVt ? series[1].scale : xScaleKey; + sc = scales[axis.scale]; + } + + // also set defaults for incrs & values based on axis distr + let isTime = sc.time; + + axis.size = fnOrSelf(axis.size); + axis.space = fnOrSelf(axis.space); + axis.rotate = fnOrSelf(axis.rotate); + + if (isArr(axis.incrs)) { + axis.incrs.forEach(incr => { + !fixedDec.has(incr) && fixedDec.set(incr, guessDec(incr)); + }); + } + + axis.incrs = fnOrSelf(axis.incrs || ( sc.distr == 2 ? wholeIncrs : (isTime ? (ms == 1 ? timeIncrsMs : timeIncrsS) : numIncrs))); + axis.splits = fnOrSelf(axis.splits || (isTime && sc.distr == 1 ? _timeAxisSplits : sc.distr == 3 ? logAxisSplits : sc.distr == 4 ? asinhAxisSplits : numAxisSplits)); + + axis.stroke = fnOrSelf(axis.stroke); + axis.grid.stroke = fnOrSelf(axis.grid.stroke); + axis.ticks.stroke = fnOrSelf(axis.ticks.stroke); + axis.border.stroke = fnOrSelf(axis.border.stroke); + + let av = axis.values; + + axis.values = ( + // static array of tick values + isArr(av) && !isArr(av[0]) ? fnOrSelf(av) : + // temporal + isTime ? ( + // config array of fmtDate string tpls + isArr(av) ? + timeAxisVals(_tzDate, timeAxisStamps(av, _fmtDate)) : + // fmtDate string tpl + isStr(av) ? + timeAxisVal(_tzDate, av) : + av || _timeAxisVals + ) : av || numAxisVals + ); + + axis.filter = fnOrSelf(axis.filter || ( sc.distr >= 3 && sc.log == 10 ? log10AxisValsFilt : sc.distr == 3 && sc.log == 2 ? log2AxisValsFilt : retArg1)); + + axis.font = pxRatioFont(axis.font); + axis.labelFont = pxRatioFont(axis.labelFont); + + axis._size = axis.size(self, null, i, 0); + + axis._space = + axis._rotate = + axis._incrs = + axis._found = // foundIncrSpace + axis._splits = + axis._values = null; + + if (axis._size > 0) { + sidesWithAxes[i] = true; + axis._el = placeDiv(AXIS, wrap); + } + + // debug + // axis._el.style.background = "#" + Math.floor(Math.random()*16777215).toString(16) + '80'; + } + } + + function autoPadSide(self, side, sidesWithAxes, cycleNum) { + let [hasTopAxis, hasRgtAxis, hasBtmAxis, hasLftAxis] = sidesWithAxes; + + let ori = side % 2; + let size = 0; + + if (ori == 0 && (hasLftAxis || hasRgtAxis)) + size = (side == 0 && !hasTopAxis || side == 2 && !hasBtmAxis ? round(xAxisOpts.size / 3) : 0); + if (ori == 1 && (hasTopAxis || hasBtmAxis)) + size = (side == 1 && !hasRgtAxis || side == 3 && !hasLftAxis ? round(yAxisOpts.size / 2) : 0); + + return size; + } + + const padding = self.padding = (opts.padding || [autoPadSide,autoPadSide,autoPadSide,autoPadSide]).map(p => fnOrSelf(ifNull(p, autoPadSide))); + const _padding = self._padding = padding.map((p, i) => p(self, i, sidesWithAxes, 0)); + + let dataLen; + + // rendered data window + let i0 = null; + let i1 = null; + const idxs = mode == 1 ? series[0].idxs : null; + + let data0 = null; + + let viaAutoScaleX = false; + + function setData(_data, _resetScales) { + data = _data == null ? [] : _data; + + self.data = self._data = data; + + if (mode == 2) { + dataLen = 0; + for (let i = 1; i < series.length; i++) + dataLen += data[i][0].length; + } + else { + if (data.length == 0) + self.data = self._data = data = [[]]; + + data0 = data[0]; + dataLen = data0.length; + + let scaleData = data; + + if (xScaleDistr == 2) { + scaleData = data.slice(); + + let _data0 = scaleData[0] = Array(dataLen); + for (let i = 0; i < dataLen; i++) + _data0[i] = i; + } + + self._data = data = scaleData; + } + + resetYSeries(true); + + fire("setData"); + + // forces x axis tick values to re-generate when neither x scale nor y scale changes + // in ordinal mode, scale range is by index, so will not change if new data has same length, but tick values are from data + if (xScaleDistr == 2) { + shouldConvergeSize = true; + + /* or somewhat cheaper, and uglier: + if (ready) { + // logic extracted from axesCalc() + let i = 0; + let axis = axes[i]; + let _splits = axis._splits.map(i => data0[i]); + let [_incr, _space] = axis._found; + let incr = data0[_splits[1]] - data0[_splits[0]]; + axis._values = axis.values(self, axis.filter(self, _splits, i, _space, incr), i, _space, incr); + } + */ + } + + if (_resetScales !== false) { + let xsc = scaleX; + + if (xsc.auto(self, viaAutoScaleX)) + autoScaleX(); + else + _setScale(xScaleKey, xsc.min, xsc.max); + + shouldSetCursor = shouldSetCursor || cursor.left >= 0; + shouldSetLegend = true; + commit(); + } + } + + self.setData = setData; + + function autoScaleX() { + viaAutoScaleX = true; + + let _min, _max; + + if (mode == 1) { + if (dataLen > 0) { + i0 = idxs[0] = 0; + i1 = idxs[1] = dataLen - 1; + + _min = data[0][i0]; + _max = data[0][i1]; + + if (xScaleDistr == 2) { + _min = i0; + _max = i1; + } + else if (_min == _max) { + if (xScaleDistr == 3) + [_min, _max] = rangeLog(_min, _min, scaleX.log, false); + else if (xScaleDistr == 4) + [_min, _max] = rangeAsinh(_min, _min, scaleX.log, false); + else if (scaleX.time) + _max = _min + round(86400 / ms); + else + [_min, _max] = rangeNum(_min, _max, rangePad, true); + } + } + else { + i0 = idxs[0] = _min = null; + i1 = idxs[1] = _max = null; + } + } + + _setScale(xScaleKey, _min, _max); + } + + let ctxStroke, ctxFill, ctxWidth, ctxDash, ctxJoin, ctxCap, ctxFont, ctxAlign, ctxBaseline; + let ctxAlpha; + + function setCtxStyle(stroke, width, dash, cap, fill, join) { + stroke ??= transparent; + dash ??= EMPTY_ARR; + cap ??= "butt"; // (‿|‿) + fill ??= transparent; + join ??= "round"; + + if (stroke != ctxStroke) + ctx.strokeStyle = ctxStroke = stroke; + if (fill != ctxFill) + ctx.fillStyle = ctxFill = fill; + if (width != ctxWidth) + ctx.lineWidth = ctxWidth = width; + if (join != ctxJoin) + ctx.lineJoin = ctxJoin = join; + if (cap != ctxCap) + ctx.lineCap = ctxCap = cap; + if (dash != ctxDash) + ctx.setLineDash(ctxDash = dash); + } + + function setFontStyle(font, fill, align, baseline) { + if (fill != ctxFill) + ctx.fillStyle = ctxFill = fill; + if (font != ctxFont) + ctx.font = ctxFont = font; + if (align != ctxAlign) + ctx.textAlign = ctxAlign = align; + if (baseline != ctxBaseline) + ctx.textBaseline = ctxBaseline = baseline; + } + + function accScale(wsc, psc, facet, data, sorted = 0) { + if (data.length > 0 && wsc.auto(self, viaAutoScaleX) && (psc == null || psc.min == null)) { + let _i0 = ifNull(i0, 0); + let _i1 = ifNull(i1, data.length - 1); + + // only run getMinMax() for invalidated series data, else reuse + let minMax = facet.min == null ? (wsc.distr == 3 ? getMinMaxLog(data, _i0, _i1) : getMinMax(data, _i0, _i1, sorted)) : [facet.min, facet.max]; + + // initial min/max + wsc.min = min(wsc.min, facet.min = minMax[0]); + wsc.max = max(wsc.max, facet.max = minMax[1]); + } + } + + const AUTOSCALE = {min: null, max: null}; + + function setScales() { + // log("setScales()", arguments); + + // implicitly add auto scales, and unranged scales + for (let k in scales) { + let sc = scales[k]; + + if (pendScales[k] == null && + ( + // scales that have never been set (on init) + sc.min == null || + // or auto scales when the x scale was explicitly set + pendScales[xScaleKey] != null && sc.auto(self, viaAutoScaleX) + ) + ) { + pendScales[k] = AUTOSCALE; + } + } + + // implicitly add dependent scales + for (let k in scales) { + let sc = scales[k]; + + if (pendScales[k] == null && sc.from != null && pendScales[sc.from] != null) + pendScales[k] = AUTOSCALE; + } + + // explicitly setting the x-scale invalidates everything (acts as redraw) + if (pendScales[xScaleKey] != null) + resetYSeries(true); // TODO: only reset series on auto scales? + + let wipScales = {}; + + for (let k in pendScales) { + let psc = pendScales[k]; + + if (psc != null) { + let wsc = wipScales[k] = copy(scales[k], fastIsObj); + + if (psc.min != null) + assign(wsc, psc); + else if (k != xScaleKey || mode == 2) { + if (dataLen == 0 && wsc.from == null) { + let minMax = wsc.range(self, null, null, k); + wsc.min = minMax[0]; + wsc.max = minMax[1]; + } + else { + wsc.min = inf; + wsc.max = -inf; + } + } + } + } + + if (dataLen > 0) { + // pre-range y-scales from y series' data values + series.forEach((s, i) => { + if (mode == 1) { + let k = s.scale; + let psc = pendScales[k]; + + if (psc == null) + return; + + let wsc = wipScales[k]; + + if (i == 0) { + let minMax = wsc.range(self, wsc.min, wsc.max, k); + + wsc.min = minMax[0]; + wsc.max = minMax[1]; + + i0 = closestIdx(wsc.min, data[0]); + i1 = closestIdx(wsc.max, data[0]); + + // don't try to contract same or adjacent idxs + if (i1 - i0 > 1) { + // closest indices can be outside of view + if (data[0][i0] < wsc.min) + i0++; + if (data[0][i1] > wsc.max) + i1--; + } + + s.min = data0[i0]; + s.max = data0[i1]; + } + else if (s.show && s.auto) + accScale(wsc, psc, s, data[i], s.sorted); + + s.idxs[0] = i0; + s.idxs[1] = i1; + } + else { + if (i > 0) { + if (s.show && s.auto) { + // TODO: only handles, assumes and requires facets[0] / 'x' scale, and facets[1] / 'y' scale + let [ xFacet, yFacet ] = s.facets; + let xScaleKey = xFacet.scale; + let yScaleKey = yFacet.scale; + let [ xData, yData ] = data[i]; + + let wscx = wipScales[xScaleKey]; + let wscy = wipScales[yScaleKey]; + + // null can happen when only x is zoomed, but y has static range and doesnt get auto-added to pending + wscx != null && accScale(wscx, pendScales[xScaleKey], xFacet, xData, xFacet.sorted); + wscy != null && accScale(wscy, pendScales[yScaleKey], yFacet, yData, yFacet.sorted); + + // temp + s.min = yFacet.min; + s.max = yFacet.max; + } + } + } + }); + + // range independent scales + for (let k in wipScales) { + let wsc = wipScales[k]; + let psc = pendScales[k]; + + if (wsc.from == null && (psc == null || psc.min == null)) { + let minMax = wsc.range( + self, + wsc.min == inf ? null : wsc.min, + wsc.max == -inf ? null : wsc.max, + k + ); + wsc.min = minMax[0]; + wsc.max = minMax[1]; + } + } + } + + // range dependent scales + for (let k in wipScales) { + let wsc = wipScales[k]; + + if (wsc.from != null) { + let base = wipScales[wsc.from]; + + if (base.min == null) + wsc.min = wsc.max = null; + else { + let minMax = wsc.range(self, base.min, base.max, k); + wsc.min = minMax[0]; + wsc.max = minMax[1]; + } + } + } + + let changed = {}; + let anyChanged = false; + + for (let k in wipScales) { + let wsc = wipScales[k]; + let sc = scales[k]; + + if (sc.min != wsc.min || sc.max != wsc.max) { + sc.min = wsc.min; + sc.max = wsc.max; + + let distr = sc.distr; + + sc._min = distr == 3 ? log10(sc.min) : distr == 4 ? asinh(sc.min, sc.asinh) : distr == 100 ? sc.fwd(sc.min) : sc.min; + sc._max = distr == 3 ? log10(sc.max) : distr == 4 ? asinh(sc.max, sc.asinh) : distr == 100 ? sc.fwd(sc.max) : sc.max; + + changed[k] = anyChanged = true; + } + } + + if (anyChanged) { + // invalidate paths of all series on changed scales + series.forEach((s, i) => { + if (mode == 2) { + if (i > 0 && changed.y) + s._paths = null; + } + else { + if (changed[s.scale]) + s._paths = null; + } + }); + + for (let k in changed) { + shouldConvergeSize = true; + fire("setScale", k); + } + + if (cursor.show && cursor.left >= 0) + shouldSetCursor = shouldSetLegend = true; + } + + for (let k in pendScales) + pendScales[k] = null; + } + + // grabs the nearest indices with y data outside of x-scale limits + function getOuterIdxs(ydata) { + let _i0 = clamp(i0 - 1, 0, dataLen - 1); + let _i1 = clamp(i1 + 1, 0, dataLen - 1); + + while (ydata[_i0] == null && _i0 > 0) + _i0--; + + while (ydata[_i1] == null && _i1 < dataLen - 1) + _i1++; + + return [_i0, _i1]; + } + + function drawSeries() { + if (dataLen > 0) { + series.forEach((s, i) => { + if (i > 0 && s.show) { + cacheStrokeFill(i, false); + cacheStrokeFill(i, true); + + if (s._paths == null) { + if (ctxAlpha != s.alpha) + ctx.globalAlpha = ctxAlpha = s.alpha; + + let _idxs = mode == 2 ? [0, data[i][0].length - 1] : getOuterIdxs(data[i]); + s._paths = s.paths(self, i, _idxs[0], _idxs[1]); + + if (ctxAlpha != 1) + ctx.globalAlpha = ctxAlpha = 1; + } + } + }); + + series.forEach((s, i) => { + if (i > 0 && s.show) { + if (ctxAlpha != s.alpha) + ctx.globalAlpha = ctxAlpha = s.alpha; + + s._paths != null && drawPath(i, false); + + { + let _gaps = s._paths != null ? s._paths.gaps : null; + + let show = s.points.show(self, i, i0, i1, _gaps); + let idxs = s.points.filter(self, i, show, _gaps); + + if (show || idxs) { + s.points._paths = s.points.paths(self, i, i0, i1, idxs); + drawPath(i, true); + } + } + + if (ctxAlpha != 1) + ctx.globalAlpha = ctxAlpha = 1; + + fire("drawSeries", i); + } + }); + } + } + + function cacheStrokeFill(si, _points) { + let s = _points ? series[si].points : series[si]; + + s._stroke = s.stroke(self, si); + s._fill = s.fill(self, si); + } + + function drawPath(si, _points) { + let s = _points ? series[si].points : series[si]; + + let { + stroke, + fill, + clip: gapsClip, + flags, + + _stroke: strokeStyle = s._stroke, + _fill: fillStyle = s._fill, + _width: width = s.width, + } = s._paths; + + width = roundDec(width * pxRatio, 3); + + let boundsClip = null; + let offset = (width % 2) / 2; + + if (_points && fillStyle == null) + fillStyle = width > 0 ? "#fff" : strokeStyle; + + let _pxAlign = s.pxAlign == 1 && offset > 0; + + _pxAlign && ctx.translate(offset, offset); + + if (!_points) { + let lft = plotLft - width / 2, + top = plotTop - width / 2, + wid = plotWid + width, + hgt = plotHgt + width; + + boundsClip = new Path2D(); + boundsClip.rect(lft, top, wid, hgt); + } + + // the points pathbuilder's gapsClip is its boundsClip, since points dont need gaps clipping, and bounds depend on point size + if (_points) + strokeFill(strokeStyle, width, s.dash, s.cap, fillStyle, stroke, fill, flags, gapsClip); + else + fillStroke(si, strokeStyle, width, s.dash, s.cap, fillStyle, stroke, fill, flags, boundsClip, gapsClip); + + _pxAlign && ctx.translate(-offset, -offset); + } + + function fillStroke(si, strokeStyle, lineWidth, lineDash, lineCap, fillStyle, strokePath, fillPath, flags, boundsClip, gapsClip) { + let didStrokeFill = false; + + // for all bands where this series is the top edge, create upwards clips using the bottom edges + // and apply clips + fill with band fill or dfltFill + flags != 0 && bands.forEach((b, bi) => { + // isUpperEdge? + if (b.series[0] == si) { + let lowerEdge = series[b.series[1]]; + let lowerData = data[b.series[1]]; + + let bandClip = (lowerEdge._paths || EMPTY_OBJ).band; + + if (isArr(bandClip)) + bandClip = b.dir == 1 ? bandClip[0] : bandClip[1]; + + let gapsClip2; + + let _fillStyle = null; + + // hasLowerEdge? + if (lowerEdge.show && bandClip && hasData(lowerData, i0, i1)) { + _fillStyle = b.fill(self, bi) || fillStyle; + gapsClip2 = lowerEdge._paths.clip; + } + else + bandClip = null; + + strokeFill(strokeStyle, lineWidth, lineDash, lineCap, _fillStyle, strokePath, fillPath, flags, boundsClip, gapsClip, gapsClip2, bandClip); + + didStrokeFill = true; + } + }); + + if (!didStrokeFill) + strokeFill(strokeStyle, lineWidth, lineDash, lineCap, fillStyle, strokePath, fillPath, flags, boundsClip, gapsClip); + } + + const CLIP_FILL_STROKE = BAND_CLIP_FILL | BAND_CLIP_STROKE; + + function strokeFill(strokeStyle, lineWidth, lineDash, lineCap, fillStyle, strokePath, fillPath, flags, boundsClip, gapsClip, gapsClip2, bandClip) { + setCtxStyle(strokeStyle, lineWidth, lineDash, lineCap, fillStyle); + + if (boundsClip || gapsClip || bandClip) { + ctx.save(); + boundsClip && ctx.clip(boundsClip); + gapsClip && ctx.clip(gapsClip); + } + + if (bandClip) { + if ((flags & CLIP_FILL_STROKE) == CLIP_FILL_STROKE) { + ctx.clip(bandClip); + gapsClip2 && ctx.clip(gapsClip2); + doFill(fillStyle, fillPath); + doStroke(strokeStyle, strokePath, lineWidth); + } + else if (flags & BAND_CLIP_STROKE) { + doFill(fillStyle, fillPath); + ctx.clip(bandClip); + doStroke(strokeStyle, strokePath, lineWidth); + } + else if (flags & BAND_CLIP_FILL) { + ctx.save(); + ctx.clip(bandClip); + gapsClip2 && ctx.clip(gapsClip2); + doFill(fillStyle, fillPath); + ctx.restore(); + doStroke(strokeStyle, strokePath, lineWidth); + } + } + else { + doFill(fillStyle, fillPath); + doStroke(strokeStyle, strokePath, lineWidth); + } + + if (boundsClip || gapsClip || bandClip) + ctx.restore(); + } + + function doStroke(strokeStyle, strokePath, lineWidth) { + if (lineWidth > 0) { + if (strokePath instanceof Map) { + strokePath.forEach((strokePath, strokeStyle) => { + ctx.strokeStyle = ctxStroke = strokeStyle; + ctx.stroke(strokePath); + }); + } + else + strokePath != null && strokeStyle && ctx.stroke(strokePath); + } + } + + function doFill(fillStyle, fillPath) { + if (fillPath instanceof Map) { + fillPath.forEach((fillPath, fillStyle) => { + ctx.fillStyle = ctxFill = fillStyle; + ctx.fill(fillPath); + }); + } + else + fillPath != null && fillStyle && ctx.fill(fillPath); + } + + function getIncrSpace(axisIdx, min, max, fullDim) { + let axis = axes[axisIdx]; + + let incrSpace; + + if (fullDim <= 0) + incrSpace = [0, 0]; + else { + let minSpace = axis._space = axis.space(self, axisIdx, min, max, fullDim); + let incrs = axis._incrs = axis.incrs(self, axisIdx, min, max, fullDim, minSpace); + incrSpace = findIncr(min, max, incrs, fullDim, minSpace); + } + + return (axis._found = incrSpace); + } + + function drawOrthoLines(offs, filts, ori, side, pos0, len, width, stroke, dash, cap) { + let offset = (width % 2) / 2; + + pxAlign == 1 && ctx.translate(offset, offset); + + setCtxStyle(stroke, width, dash, cap, stroke); + + ctx.beginPath(); + + let x0, y0, x1, y1, pos1 = pos0 + (side == 0 || side == 3 ? -len : len); + + if (ori == 0) { + y0 = pos0; + y1 = pos1; + } + else { + x0 = pos0; + x1 = pos1; + } + + for (let i = 0; i < offs.length; i++) { + if (filts[i] != null) { + if (ori == 0) + x0 = x1 = offs[i]; + else + y0 = y1 = offs[i]; + + ctx.moveTo(x0, y0); + ctx.lineTo(x1, y1); + } + } + + ctx.stroke(); + + pxAlign == 1 && ctx.translate(-offset, -offset); + } + + function axesCalc(cycleNum) { + // log("axesCalc()", arguments); + + let converged = true; + + axes.forEach((axis, i) => { + if (!axis.show) + return; + + let scale = scales[axis.scale]; + + if (scale.min == null) { + if (axis._show) { + converged = false; + axis._show = false; + resetYSeries(false); + } + return; + } + else { + if (!axis._show) { + converged = false; + axis._show = true; + resetYSeries(false); + } + } + + let side = axis.side; + let ori = side % 2; + + let {min, max} = scale; // // should this toggle them ._show = false + + let [_incr, _space] = getIncrSpace(i, min, max, ori == 0 ? plotWidCss : plotHgtCss); + + if (_space == 0) + return; + + // if we're using index positions, force first tick to match passed index + let forceMin = scale.distr == 2; + + let _splits = axis._splits = axis.splits(self, i, min, max, _incr, _space, forceMin); + + // tick labels + // BOO this assumes a specific data/series + let splits = scale.distr == 2 ? _splits.map(i => data0[i]) : _splits; + let incr = scale.distr == 2 ? data0[_splits[1]] - data0[_splits[0]] : _incr; + + let values = axis._values = axis.values(self, axis.filter(self, splits, i, _space, incr), i, _space, incr); + + // rotating of labels only supported on bottom x axis + axis._rotate = side == 2 ? axis.rotate(self, values, i, _space) : 0; + + let oldSize = axis._size; + + axis._size = ceil(axis.size(self, values, i, cycleNum)); + + if (oldSize != null && axis._size != oldSize) // ready && ? + converged = false; + }); + + return converged; + } + + function paddingCalc(cycleNum) { + let converged = true; + + padding.forEach((p, i) => { + let _p = p(self, i, sidesWithAxes, cycleNum); + + if (_p != _padding[i]) + converged = false; + + _padding[i] = _p; + }); + + return converged; + } + + function drawAxesGrid() { + for (let i = 0; i < axes.length; i++) { + let axis = axes[i]; + + if (!axis.show || !axis._show) + continue; + + let side = axis.side; + let ori = side % 2; + + let x, y; + + let fillStyle = axis.stroke(self, i); + + let shiftDir = side == 0 || side == 3 ? -1 : 1; + + // axis label + if (axis.label) { + let shiftAmt = axis.labelGap * shiftDir; + let baseLpos = round((axis._lpos + shiftAmt) * pxRatio); + + setFontStyle(axis.labelFont[0], fillStyle, "center", side == 2 ? TOP : BOTTOM); + + ctx.save(); + + if (ori == 1) { + x = y = 0; + + ctx.translate( + baseLpos, + round(plotTop + plotHgt / 2), + ); + ctx.rotate((side == 3 ? -PI : PI) / 2); + + } + else { + x = round(plotLft + plotWid / 2); + y = baseLpos; + } + + ctx.fillText(axis.label, x, y); + + ctx.restore(); + } + + let [_incr, _space] = axis._found; + + if (_space == 0) + continue; + + let scale = scales[axis.scale]; + + let plotDim = ori == 0 ? plotWid : plotHgt; + let plotOff = ori == 0 ? plotLft : plotTop; + + let axisGap = round(axis.gap * pxRatio); + + let _splits = axis._splits; + + // tick labels + // BOO this assumes a specific data/series + let splits = scale.distr == 2 ? _splits.map(i => data0[i]) : _splits; + let incr = scale.distr == 2 ? data0[_splits[1]] - data0[_splits[0]] : _incr; + + let ticks = axis.ticks; + let border = axis.border; + let tickSize = ticks.show ? round(ticks.size * pxRatio) : 0; + + // rotating of labels only supported on bottom x axis + let angle = axis._rotate * -PI/180; + + let basePos = pxRound(axis._pos * pxRatio); + let shiftAmt = (tickSize + axisGap) * shiftDir; + let finalPos = basePos + shiftAmt; + y = ori == 0 ? finalPos : 0; + x = ori == 1 ? finalPos : 0; + + let font = axis.font[0]; + let textAlign = axis.align == 1 ? LEFT : + axis.align == 2 ? RIGHT : + angle > 0 ? LEFT : + angle < 0 ? RIGHT : + ori == 0 ? "center" : side == 3 ? RIGHT : LEFT; + let textBaseline = angle || + ori == 1 ? "middle" : side == 2 ? TOP : BOTTOM; + + setFontStyle(font, fillStyle, textAlign, textBaseline); + + let lineHeight = axis.font[1] * axis.lineGap; + + let canOffs = _splits.map(val => pxRound(getPos(val, scale, plotDim, plotOff))); + + let _values = axis._values; + + for (let i = 0; i < _values.length; i++) { + let val = _values[i]; + + if (val != null) { + if (ori == 0) + x = canOffs[i]; + else + y = canOffs[i]; + + val = "" + val; + + let _parts = val.indexOf("\n") == -1 ? [val] : val.split(/\n/gm); + + for (let j = 0; j < _parts.length; j++) { + let text = _parts[j]; + + if (angle) { + ctx.save(); + ctx.translate(x, y + j * lineHeight); // can this be replaced with position math? + ctx.rotate(angle); // can this be done once? + ctx.fillText(text, 0, 0); + ctx.restore(); + } + else + ctx.fillText(text, x, y + j * lineHeight); + } + } + } + + // ticks + if (ticks.show) { + drawOrthoLines( + canOffs, + ticks.filter(self, splits, i, _space, incr), + ori, + side, + basePos, + tickSize, + roundDec(ticks.width * pxRatio, 3), + ticks.stroke(self, i), + ticks.dash, + ticks.cap, + ); + } + + // grid + let grid = axis.grid; + + if (grid.show) { + drawOrthoLines( + canOffs, + grid.filter(self, splits, i, _space, incr), + ori, + ori == 0 ? 2 : 1, + ori == 0 ? plotTop : plotLft, + ori == 0 ? plotHgt : plotWid, + roundDec(grid.width * pxRatio, 3), + grid.stroke(self, i), + grid.dash, + grid.cap, + ); + } + + if (border.show) { + drawOrthoLines( + [basePos], + [1], + ori == 0 ? 1 : 0, + ori == 0 ? 1 : 2, + ori == 1 ? plotTop : plotLft, + ori == 1 ? plotHgt : plotWid, + roundDec(border.width * pxRatio, 3), + border.stroke(self, i), + border.dash, + border.cap, + ); + } + } + + fire("drawAxes"); + } + + function resetYSeries(minMax) { + // log("resetYSeries()", arguments); + + series.forEach((s, i) => { + if (i > 0) { + s._paths = null; + + if (minMax) { + if (mode == 1) { + s.min = null; + s.max = null; + } + else { + s.facets.forEach(f => { + f.min = null; + f.max = null; + }); + } + } + } + }); + } + + let queuedCommit = false; + let deferHooks = false; + let hooksQueue = []; + + function flushHooks() { + deferHooks = false; + + for (let i = 0; i < hooksQueue.length; i++) + fire(...hooksQueue[i]); + + hooksQueue.length = 0; + } + + function commit() { + if (!queuedCommit) { + microTask(_commit); + queuedCommit = true; + } + } + + // manual batching (aka immediate mode), skips microtask queue + function batch(fn, _deferHooks = false) { + queuedCommit = true; + deferHooks = _deferHooks; + + fn(self); + _commit(); + + if (_deferHooks && hooksQueue.length > 0) + queueMicrotask(flushHooks); + } + + self.batch = batch; + + function _commit() { + // log("_commit()", arguments); + + if (shouldSetScales) { + setScales(); + shouldSetScales = false; + } + + if (shouldConvergeSize) { + convergeSize(); + shouldConvergeSize = false; + } + + if (shouldSetSize) { + setStylePx(under, LEFT, plotLftCss); + setStylePx(under, TOP, plotTopCss); + setStylePx(under, WIDTH, plotWidCss); + setStylePx(under, HEIGHT, plotHgtCss); + + setStylePx(over, LEFT, plotLftCss); + setStylePx(over, TOP, plotTopCss); + setStylePx(over, WIDTH, plotWidCss); + setStylePx(over, HEIGHT, plotHgtCss); + + setStylePx(wrap, WIDTH, fullWidCss); + setStylePx(wrap, HEIGHT, fullHgtCss); + + // NOTE: mutating this during print preview in Chrome forces transparent + // canvas pixels to white, even when followed up with clearRect() below + can.width = round(fullWidCss * pxRatio); + can.height = round(fullHgtCss * pxRatio); + + axes.forEach(({ _el, _show, _size, _pos, side }) => { + if (_el != null) { + if (_show) { + let posOffset = (side === 3 || side === 0 ? _size : 0); + let isVt = side % 2 == 1; + + setStylePx(_el, isVt ? "left" : "top", _pos - posOffset); + setStylePx(_el, isVt ? "width" : "height", _size); + setStylePx(_el, isVt ? "top" : "left", isVt ? plotTopCss : plotLftCss); + setStylePx(_el, isVt ? "height" : "width", isVt ? plotHgtCss : plotWidCss); + + remClass(_el, OFF); + } + else + addClass(_el, OFF); + } + }); + + // invalidate ctx style cache + ctxStroke = ctxFill = ctxWidth = ctxJoin = ctxCap = ctxFont = ctxAlign = ctxBaseline = ctxDash = null; + ctxAlpha = 1; + + syncRect(true); + + if ( + plotLftCss != _plotLftCss || + plotTopCss != _plotTopCss || + plotWidCss != _plotWidCss || + plotHgtCss != _plotHgtCss + ) { + resetYSeries(false); + + let pctWid = plotWidCss / _plotWidCss; + let pctHgt = plotHgtCss / _plotHgtCss; + + if (cursor.show && !shouldSetCursor && cursor.left >= 0) { + cursor.left *= pctWid; + cursor.top *= pctHgt; + + vCursor && elTrans(vCursor, round(cursor.left), 0, plotWidCss, plotHgtCss); + hCursor && elTrans(hCursor, 0, round(cursor.top), plotWidCss, plotHgtCss); + + for (let i = 0; i < cursorPts.length; i++) { + let pt = cursorPts[i]; + + if (pt != null) { + cursorPtsLft[i] *= pctWid; + cursorPtsTop[i] *= pctHgt; + elTrans(pt, ceil(cursorPtsLft[i]), ceil(cursorPtsTop[i]), plotWidCss, plotHgtCss); + } + } + } + + if (select.show && !shouldSetSelect && select.left >= 0 && select.width > 0) { + select.left *= pctWid; + select.width *= pctWid; + select.top *= pctHgt; + select.height *= pctHgt; + + for (let prop in _hideProps) + setStylePx(selectDiv, prop, select[prop]); + } + + _plotLftCss = plotLftCss; + _plotTopCss = plotTopCss; + _plotWidCss = plotWidCss; + _plotHgtCss = plotHgtCss; + } + + fire("setSize"); + + shouldSetSize = false; + } + + if (fullWidCss > 0 && fullHgtCss > 0) { + ctx.clearRect(0, 0, can.width, can.height); + fire("drawClear"); + drawOrder.forEach(fn => fn()); + fire("draw"); + } + + if (select.show && shouldSetSelect) { + setSelect(select); + shouldSetSelect = false; + } + + if (cursor.show && shouldSetCursor) { + updateCursor(null, true, false); + shouldSetCursor = false; + } + + if (legend.show && legend.live && shouldSetLegend) { + setLegend(); + shouldSetLegend = false; // redundant currently + } + + if (!ready) { + ready = true; + self.status = 1; + + fire("ready"); + } + + viaAutoScaleX = false; + + queuedCommit = false; + } + + self.redraw = (rebuildPaths, recalcAxes) => { + shouldConvergeSize = recalcAxes || false; + + if (rebuildPaths !== false) + _setScale(xScaleKey, scaleX.min, scaleX.max); + else + commit(); + }; + + // redraw() => setScale('x', scales.x.min, scales.x.max); + + // explicit, never re-ranged (is this actually true? for x and y) + function setScale(key, opts) { + let sc = scales[key]; + + if (sc.from == null) { + if (dataLen == 0) { + let minMax = sc.range(self, opts.min, opts.max, key); + opts.min = minMax[0]; + opts.max = minMax[1]; + } + + if (opts.min > opts.max) { + let _min = opts.min; + opts.min = opts.max; + opts.max = _min; + } + + if (dataLen > 1 && opts.min != null && opts.max != null && opts.max - opts.min < 1e-16) + return; + + if (key == xScaleKey) { + if (sc.distr == 2 && dataLen > 0) { + opts.min = closestIdx(opts.min, data[0]); + opts.max = closestIdx(opts.max, data[0]); + + if (opts.min == opts.max) + opts.max++; + } + } + + // log("setScale()", arguments); + + pendScales[key] = opts; + + shouldSetScales = true; + commit(); + } + } + + self.setScale = setScale; + +// INTERACTION + + let xCursor; + let yCursor; + let vCursor; + let hCursor; + + // starting position before cursor.move + let rawMouseLeft0; + let rawMouseTop0; + + // starting position + let mouseLeft0; + let mouseTop0; + + // current position before cursor.move + let rawMouseLeft1; + let rawMouseTop1; + + // current position + let mouseLeft1; + let mouseTop1; + + let dragging = false; + + const drag = cursor.drag; + + let dragX = drag.x; + let dragY = drag.y; + + if (cursor.show) { + if (cursor.x) + xCursor = placeDiv(CURSOR_X, over); + if (cursor.y) + yCursor = placeDiv(CURSOR_Y, over); + + if (scaleX.ori == 0) { + vCursor = xCursor; + hCursor = yCursor; + } + else { + vCursor = yCursor; + hCursor = xCursor; + } + + mouseLeft1 = cursor.left; + mouseTop1 = cursor.top; + } + + const select = self.select = assign({ + show: true, + over: true, + left: 0, + width: 0, + top: 0, + height: 0, + }, opts.select); + + const selectDiv = select.show ? placeDiv(SELECT, select.over ? over : under) : null; + + function setSelect(opts, _fire) { + if (select.show) { + for (let prop in opts) { + select[prop] = opts[prop]; + + if (prop in _hideProps) + setStylePx(selectDiv, prop, opts[prop]); + } + + _fire !== false && fire("setSelect"); + } + } + + self.setSelect = setSelect; + + function toggleDOM(i, onOff) { + let s = series[i]; + let label = showLegend ? legendRows[i] : null; + + if (s.show) + label && remClass(label, OFF); + else { + label && addClass(label, OFF); + let pt = cursorOnePt ? cursorPts[0] : cursorPts[i]; + elTrans(pt, -10, -10, plotWidCss, plotHgtCss); + } + } + + function _setScale(key, min, max) { + setScale(key, {min, max}); + } + + function setSeries(i, opts, _fire, _pub) { + // log("setSeries()", arguments); + + if (opts.focus != null) + setFocus(i); + + if (opts.show != null) { + series.forEach((s, si) => { + if (si > 0 && (i == si || i == null)) { + s.show = opts.show; + toggleDOM(si, opts.show); + + if (mode == 2) { + _setScale(s.facets[0].scale, null, null); + _setScale(s.facets[1].scale, null, null); + } + else + _setScale(s.scale, null, null); + + commit(); + } + }); + } + + _fire !== false && fire("setSeries", i, opts); + + _pub && pubSync("setSeries", self, i, opts); + } + + self.setSeries = setSeries; + + function setBand(bi, opts) { + assign(bands[bi], opts); + } + + function addBand(opts, bi) { + opts.fill = fnOrSelf(opts.fill || null); + opts.dir = ifNull(opts.dir, -1); + bi = bi == null ? bands.length : bi; + bands.splice(bi, 0, opts); + } + + function delBand(bi) { + if (bi == null) + bands.length = 0; + else + bands.splice(bi, 1); + } + + self.addBand = addBand; + self.setBand = setBand; + self.delBand = delBand; + + function setAlpha(i, value) { + series[i].alpha = value; + + if (cursor.show && cursorPts[i]) + cursorPts[i].style.opacity = value; + + if (showLegend && legendRows[i]) + legendRows[i].style.opacity = value; + } + + // y-distance + let closestDist; + let closestSeries; + let focusedSeries; + const FOCUS_TRUE = {focus: true}; + + function setFocus(i) { + if (i != focusedSeries) { + // log("setFocus()", arguments); + + let allFocused = i == null; + + let _setAlpha = focus.alpha != 1; + + series.forEach((s, i2) => { + if (mode == 1 || i2 > 0) { + let isFocused = allFocused || i2 == 0 || i2 == i; + s._focus = allFocused ? null : isFocused; + _setAlpha && setAlpha(i2, isFocused ? 1 : focus.alpha); + } + }); + + focusedSeries = i; + _setAlpha && commit(); + } + } + + if (showLegend && cursorFocus) { + onMouse(mouseleave, legendTable, e => { + if (cursor._lock) + return; + + setCursorEvent(e); + + if (focusedSeries != null) + setSeries(null, FOCUS_TRUE, true, syncOpts.setSeries); + }); + } + + function posToVal(pos, scale, can) { + let sc = scales[scale]; + + if (can) + pos = pos / pxRatio - (sc.ori == 1 ? plotTopCss : plotLftCss); + + let dim = plotWidCss; + + if (sc.ori == 1) { + dim = plotHgtCss; + pos = dim - pos; + } + + if (sc.dir == -1) + pos = dim - pos; + + let _min = sc._min, + _max = sc._max, + pct = pos / dim; + + let sv = _min + (_max - _min) * pct; + + let distr = sc.distr; + + return ( + distr == 3 ? pow(10, sv) : + distr == 4 ? sinh(sv, sc.asinh) : + distr == 100 ? sc.bwd(sv) : + sv + ); + } + + function closestIdxFromXpos(pos, can) { + let v = posToVal(pos, xScaleKey, can); + return closestIdx(v, data[0], i0, i1); + } + + self.valToIdx = val => closestIdx(val, data[0]); + self.posToIdx = closestIdxFromXpos; + self.posToVal = posToVal; + self.valToPos = (val, scale, can) => ( + scales[scale].ori == 0 ? + getHPos(val, scales[scale], + can ? plotWid : plotWidCss, + can ? plotLft : 0, + ) : + getVPos(val, scales[scale], + can ? plotHgt : plotHgtCss, + can ? plotTop : 0, + ) + ); + + self.setCursor = (opts, _fire, _pub) => { + mouseLeft1 = opts.left; + mouseTop1 = opts.top; + // assign(cursor, opts); + updateCursor(null, _fire, _pub); + }; + + function setSelH(off, dim) { + setStylePx(selectDiv, LEFT, select.left = off); + setStylePx(selectDiv, WIDTH, select.width = dim); + } + + function setSelV(off, dim) { + setStylePx(selectDiv, TOP, select.top = off); + setStylePx(selectDiv, HEIGHT, select.height = dim); + } + + let setSelX = scaleX.ori == 0 ? setSelH : setSelV; + let setSelY = scaleX.ori == 1 ? setSelH : setSelV; + + function syncLegend() { + if (showLegend && legend.live) { + for (let i = mode == 2 ? 1 : 0; i < series.length; i++) { + if (i == 0 && multiValLegend) + continue; + + let vals = legend.values[i]; + + let j = 0; + + for (let k in vals) + legendCells[i][j++].firstChild.nodeValue = vals[k]; + } + } + } + + function setLegend(opts, _fire) { + if (opts != null) { + if (opts.idxs) { + opts.idxs.forEach((didx, sidx) => { + activeIdxs[sidx] = didx; + }); + } + else if (!isUndef(opts.idx)) + activeIdxs.fill(opts.idx); + + legend.idx = activeIdxs[0]; + } + + if (showLegend && legend.live) { + for (let sidx = 0; sidx < series.length; sidx++) { + if (sidx > 0 || mode == 1 && !multiValLegend) + setLegendValues(sidx, activeIdxs[sidx]); + } + + syncLegend(); + } + + shouldSetLegend = false; + + _fire !== false && fire("setLegend"); + } + + self.setLegend = setLegend; + + function setLegendValues(sidx, idx) { + let s = series[sidx]; + let src = sidx == 0 && xScaleDistr == 2 ? data0 : data[sidx]; + let val; + + if (multiValLegend) + val = s.values(self, sidx, idx) ?? NULL_LEGEND_VALUES; + else { + val = s.value(self, idx == null ? null : src[idx], sidx, idx); + val = val == null ? NULL_LEGEND_VALUES : {_: val}; + } + + legend.values[sidx] = val; + } + + function updateCursor(src, _fire, _pub) { + // ts == null && log("updateCursor()", arguments); + + rawMouseLeft1 = mouseLeft1; + rawMouseTop1 = mouseTop1; + + [mouseLeft1, mouseTop1] = cursor.move(self, mouseLeft1, mouseTop1); + + cursor.left = mouseLeft1; + cursor.top = mouseTop1; + + if (cursor.show) { + vCursor && elTrans(vCursor, round(mouseLeft1), 0, plotWidCss, plotHgtCss); + hCursor && elTrans(hCursor, 0, round(mouseTop1), plotWidCss, plotHgtCss); + } + + let idx; + + // when zooming to an x scale range between datapoints the binary search + // for nearest min/max indices results in this condition. cheap hack :D + let noDataInRange = i0 > i1; // works for mode 1 only + + closestDist = inf; + closestSeries = null; + + // TODO: extract + let xDim = scaleX.ori == 0 ? plotWidCss : plotHgtCss; + let yDim = scaleX.ori == 1 ? plotWidCss : plotHgtCss; + + // if cursor hidden, hide points & clear legend vals + if (mouseLeft1 < 0 || dataLen == 0 || noDataInRange) { + idx = cursor.idx = null; + + for (let i = 0; i < series.length; i++) { + let pt = cursorPts[i]; + pt != null && elTrans(pt, -10, -10, plotWidCss, plotHgtCss); + } + + if (cursorFocus) + setSeries(null, FOCUS_TRUE, true, src == null && syncOpts.setSeries); + + if (legend.live) { + activeIdxs.fill(idx); + shouldSetLegend = true; + } + } + else { + // let pctY = 1 - (y / rect.height); + + let mouseXPos, valAtPosX, xPos; + + if (mode == 1) { + mouseXPos = scaleX.ori == 0 ? mouseLeft1 : mouseTop1; + valAtPosX = posToVal(mouseXPos, xScaleKey); + idx = cursor.idx = closestIdx(valAtPosX, data[0], i0, i1); + xPos = valToPosX(data[0][idx], scaleX, xDim, 0); + } + + // closest pt values + let _ptLft = -10; + let _ptTop = -10; + let _ptWid = 0; + let _ptHgt = 0; + let _centered = true; + let _ptFill = ''; + let _ptStroke = ''; + + for (let i = mode == 2 ? 1 : 0; i < series.length; i++) { + let s = series[i]; + + let idx1 = activeIdxs[i]; + let yVal1 = idx1 == null ? null : (mode == 1 ? data[i][idx1] : data[i][1][idx1]); + + let idx2 = cursor.dataIdx(self, i, idx, valAtPosX); + let yVal2 = idx2 == null ? null : (mode == 1 ? data[i][idx2] : data[i][1][idx2]); + + shouldSetLegend = shouldSetLegend || yVal2 != yVal1 || idx2 != idx1; + + activeIdxs[i] = idx2; + + let xPos2 = idx2 == idx ? xPos : valToPosX(mode == 1 ? data[0][idx2] : data[i][0][idx2], scaleX, xDim, 0); + + if (i > 0 && s.show) { + // this doesnt really work for state timeline, heatmap, status history (where the value maps to color, not y coords) + let yPos = yVal2 == null ? -10 : valToPosY(yVal2, mode == 1 ? scales[s.scale] : scales[s.facets[1].scale], yDim, 0); + + if (cursorFocus && yVal2 != null) { + let mouseYPos = scaleX.ori == 1 ? mouseLeft1 : mouseTop1; + let dist = abs(focus.dist(self, i, idx2, yPos, mouseYPos)); + + if (dist < closestDist) { + let bias = focus.bias; + + if (bias != 0) { + let mouseYVal = posToVal(mouseYPos, s.scale); + + let seriesYValSign = yVal2 >= 0 ? 1 : -1; + let mouseYValSign = mouseYVal >= 0 ? 1 : -1; + + // with a focus bias, we will never cross zero when prox testing + // it's either closest towards zero, or closest away from zero + if (mouseYValSign == seriesYValSign && ( + mouseYValSign == 1 ? + (bias == 1 ? yVal2 >= mouseYVal : yVal2 <= mouseYVal) : // >= 0 + (bias == 1 ? yVal2 <= mouseYVal : yVal2 >= mouseYVal) // < 0 + )) { + closestDist = dist; + closestSeries = i; + } + } + else { + closestDist = dist; + closestSeries = i; + } + } + } + + if (shouldSetLegend || cursorOnePt) { + let hPos, vPos; + + if (scaleX.ori == 0) { + hPos = xPos2; + vPos = yPos; + } + else { + hPos = yPos; + vPos = xPos2; + } + + let ptWid, ptHgt, ptLft, ptTop, + ptStroke, ptFill, + centered = true, + getBBox = points.bbox; + + if (getBBox != null) { + centered = false; + + let bbox = getBBox(self, i); + + ptLft = bbox.left; + ptTop = bbox.top; + ptWid = bbox.width; + ptHgt = bbox.height; + } + else { + ptLft = hPos; + ptTop = vPos; + ptWid = ptHgt = points.size(self, i); + } + + ptFill = points.fill(self, i); + ptStroke = points.stroke(self, i); + + if (cursorOnePt) { + if (i == closestSeries && closestDist <= focus.prox) { + _ptLft = ptLft; + _ptTop = ptTop; + _ptWid = ptWid; + _ptHgt = ptHgt; + _centered = centered; + _ptFill = ptFill; + _ptStroke = ptStroke; + } + } + else { + let pt = cursorPts[i]; + + if (pt != null) { + cursorPtsLft[i] = ptLft; + cursorPtsTop[i] = ptTop; + + elSize(pt, ptWid, ptHgt, centered); + elColor(pt, ptFill, ptStroke); + elTrans(pt, ceil(ptLft), ceil(ptTop), plotWidCss, plotHgtCss); + } + } + } + } + } + + // if only using single hover point (at cursorPts[0]) + // we have trigger styling at last visible series (once closestSeries is settled) + if (cursorOnePt) { + // some of this logic is similar to series focus below, since it matches the behavior by design + + let p = focus.prox; + + let focusChanged = focusedSeries == null ? closestDist <= p : (closestDist > p || closestSeries != focusedSeries); + + if (shouldSetLegend || focusChanged) { + let pt = cursorPts[0]; + + cursorPtsLft[0] = _ptLft; + cursorPtsTop[0] = _ptTop; + + elSize(pt, _ptWid, _ptHgt, _centered); + elColor(pt, _ptFill, _ptStroke); + elTrans(pt, ceil(_ptLft), ceil(_ptTop), plotWidCss, plotHgtCss); + } + } + } + + // nit: cursor.drag.setSelect is assumed always true + if (select.show && dragging) { + if (src != null) { + let [xKey, yKey] = syncOpts.scales; + let [matchXKeys, matchYKeys] = syncOpts.match; + let [xKeySrc, yKeySrc] = src.cursor.sync.scales; + + // match the dragX/dragY implicitness/explicitness of src + let sdrag = src.cursor.drag; + dragX = sdrag._x; + dragY = sdrag._y; + + if (dragX || dragY) { + let { left, top, width, height } = src.select; + + let sori = src.scales[xKeySrc].ori; + let sPosToVal = src.posToVal; + + let sOff, sDim, sc, a, b; + + let matchingX = xKey != null && matchXKeys(xKey, xKeySrc); + let matchingY = yKey != null && matchYKeys(yKey, yKeySrc); + + if (matchingX && dragX) { + if (sori == 0) { + sOff = left; + sDim = width; + } + else { + sOff = top; + sDim = height; + } + + sc = scales[xKey]; + + a = valToPosX(sPosToVal(sOff, xKeySrc), sc, xDim, 0); + b = valToPosX(sPosToVal(sOff + sDim, xKeySrc), sc, xDim, 0); + + setSelX(min(a,b), abs(b-a)); + } + else + setSelX(0, xDim); + + if (matchingY && dragY) { + if (sori == 1) { + sOff = left; + sDim = width; + } + else { + sOff = top; + sDim = height; + } + + sc = scales[yKey]; + + a = valToPosY(sPosToVal(sOff, yKeySrc), sc, yDim, 0); + b = valToPosY(sPosToVal(sOff + sDim, yKeySrc), sc, yDim, 0); + + setSelY(min(a,b), abs(b-a)); + } + else + setSelY(0, yDim); + } + else + hideSelect(); + } + else { + let rawDX = abs(rawMouseLeft1 - rawMouseLeft0); + let rawDY = abs(rawMouseTop1 - rawMouseTop0); + + if (scaleX.ori == 1) { + let _rawDX = rawDX; + rawDX = rawDY; + rawDY = _rawDX; + } + + dragX = drag.x && rawDX >= drag.dist; + dragY = drag.y && rawDY >= drag.dist; + + let uni = drag.uni; + + if (uni != null) { + // only calc drag status if they pass the dist thresh + if (dragX && dragY) { + dragX = rawDX >= uni; + dragY = rawDY >= uni; + + // force unidirectionality when both are under uni limit + if (!dragX && !dragY) { + if (rawDY > rawDX) + dragY = true; + else + dragX = true; + } + } + } + else if (drag.x && drag.y && (dragX || dragY)) + // if omni with no uni then both dragX / dragY should be true if either is true + dragX = dragY = true; + + let p0, p1; + + if (dragX) { + if (scaleX.ori == 0) { + p0 = mouseLeft0; + p1 = mouseLeft1; + } + else { + p0 = mouseTop0; + p1 = mouseTop1; + } + + setSelX(min(p0, p1), abs(p1 - p0)); + + if (!dragY) + setSelY(0, yDim); + } + + if (dragY) { + if (scaleX.ori == 1) { + p0 = mouseLeft0; + p1 = mouseLeft1; + } + else { + p0 = mouseTop0; + p1 = mouseTop1; + } + + setSelY(min(p0, p1), abs(p1 - p0)); + + if (!dragX) + setSelX(0, xDim); + } + + // the drag didn't pass the dist requirement + if (!dragX && !dragY) { + setSelX(0, 0); + setSelY(0, 0); + } + } + } + + drag._x = dragX; + drag._y = dragY; + + if (src == null) { + if (_pub) { + if (syncKey != null) { + let [xSyncKey, ySyncKey] = syncOpts.scales; + + syncOpts.values[0] = xSyncKey != null ? posToVal(scaleX.ori == 0 ? mouseLeft1 : mouseTop1, xSyncKey) : null; + syncOpts.values[1] = ySyncKey != null ? posToVal(scaleX.ori == 1 ? mouseLeft1 : mouseTop1, ySyncKey) : null; + } + + pubSync(mousemove, self, mouseLeft1, mouseTop1, plotWidCss, plotHgtCss, idx); + } + + if (cursorFocus) { + let shouldPub = _pub && syncOpts.setSeries; + let p = focus.prox; + + if (focusedSeries == null) { + if (closestDist <= p) + setSeries(closestSeries, FOCUS_TRUE, true, shouldPub); + } + else { + if (closestDist > p) + setSeries(null, FOCUS_TRUE, true, shouldPub); + else if (closestSeries != focusedSeries) + setSeries(closestSeries, FOCUS_TRUE, true, shouldPub); + } + } + } + + if (shouldSetLegend) { + legend.idx = idx; + setLegend(); + } + + _fire !== false && fire("setCursor"); + } + + let rect = null; + + Object.defineProperty(self, 'rect', { + get() { + if (rect == null) + syncRect(false); + + return rect; + }, + }); + + function syncRect(defer = false) { + if (defer) + rect = null; + else { + rect = over.getBoundingClientRect(); + fire("syncRect", rect); + } + } + + function mouseMove(e, src, _l, _t, _w, _h, _i) { + if (cursor._lock) + return; + + // Chrome on Windows has a bug which triggers a stray mousemove event after an initial mousedown event + // when clicking into a plot as part of re-focusing the browser window. + // we gotta ignore it to avoid triggering a phantom drag / setSelect + // However, on touch-only devices Chrome-based browsers trigger a 0-distance mousemove before mousedown + // so we don't ignore it when mousedown has set the dragging flag + if (dragging && e != null && e.movementX == 0 && e.movementY == 0) + return; + + cacheMouse(e, src, _l, _t, _w, _h, _i, false, e != null); + + if (e != null) + updateCursor(null, true, true); + else + updateCursor(src, true, false); + } + + function cacheMouse(e, src, _l, _t, _w, _h, _i, initial, snap) { + if (rect == null) + syncRect(false); + + setCursorEvent(e); + + if (e != null) { + _l = e.clientX - rect.left; + _t = e.clientY - rect.top; + } + else { + if (_l < 0 || _t < 0) { + mouseLeft1 = -10; + mouseTop1 = -10; + return; + } + + let [xKey, yKey] = syncOpts.scales; + + let syncOptsSrc = src.cursor.sync; + let [xValSrc, yValSrc] = syncOptsSrc.values; + let [xKeySrc, yKeySrc] = syncOptsSrc.scales; + let [matchXKeys, matchYKeys] = syncOpts.match; + + let rotSrc = src.axes[0].side % 2 == 1; + + let xDim = scaleX.ori == 0 ? plotWidCss : plotHgtCss, + yDim = scaleX.ori == 1 ? plotWidCss : plotHgtCss, + _xDim = rotSrc ? _h : _w, + _yDim = rotSrc ? _w : _h, + _xPos = rotSrc ? _t : _l, + _yPos = rotSrc ? _l : _t; + + if (xKeySrc != null) + _l = matchXKeys(xKey, xKeySrc) ? getPos(xValSrc, scales[xKey], xDim, 0) : -10; + else + _l = xDim * (_xPos/_xDim); + + if (yKeySrc != null) + _t = matchYKeys(yKey, yKeySrc) ? getPos(yValSrc, scales[yKey], yDim, 0) : -10; + else + _t = yDim * (_yPos/_yDim); + + if (scaleX.ori == 1) { + let __l = _l; + _l = _t; + _t = __l; + } + } + + if (snap) { + if (_l <= 1 || _l >= plotWidCss - 1) + _l = incrRound(_l, plotWidCss); + + if (_t <= 1 || _t >= plotHgtCss - 1) + _t = incrRound(_t, plotHgtCss); + } + + if (initial) { + rawMouseLeft0 = _l; + rawMouseTop0 = _t; + + [mouseLeft0, mouseTop0] = cursor.move(self, _l, _t); + } + else { + mouseLeft1 = _l; + mouseTop1 = _t; + } + } + + const _hideProps = { + width: 0, + height: 0, + left: 0, + top: 0, + }; + + function hideSelect() { + setSelect(_hideProps, false); + } + + let downSelectLeft; + let downSelectTop; + let downSelectWidth; + let downSelectHeight; + + function mouseDown(e, src, _l, _t, _w, _h, _i) { + dragging = true; + dragX = dragY = drag._x = drag._y = false; + + cacheMouse(e, src, _l, _t, _w, _h, _i, true, false); + + if (e != null) { + onMouse(mouseup, doc, mouseUp, false); + pubSync(mousedown, self, mouseLeft0, mouseTop0, plotWidCss, plotHgtCss, null); + } + + let { left, top, width, height } = select; + + downSelectLeft = left; + downSelectTop = top; + downSelectWidth = width; + downSelectHeight = height; + + // hideSelect(); + } + + function mouseUp(e, src, _l, _t, _w, _h, _i) { + dragging = drag._x = drag._y = false; + + cacheMouse(e, src, _l, _t, _w, _h, _i, false, true); + + let { left, top, width, height } = select; + + let hasSelect = width > 0 || height > 0; + let chgSelect = ( + downSelectLeft != left || + downSelectTop != top || + downSelectWidth != width || + downSelectHeight != height + ); + + hasSelect && chgSelect && setSelect(select); + + if (drag.setScale && hasSelect && chgSelect) { + // if (syncKey != null) { + // dragX = drag.x; + // dragY = drag.y; + // } + + let xOff = left, + xDim = width, + yOff = top, + yDim = height; + + if (scaleX.ori == 1) { + xOff = top, + xDim = height, + yOff = left, + yDim = width; + } + + if (dragX) { + _setScale(xScaleKey, + posToVal(xOff, xScaleKey), + posToVal(xOff + xDim, xScaleKey) + ); + } + + if (dragY) { + for (let k in scales) { + let sc = scales[k]; + + if (k != xScaleKey && sc.from == null && sc.min != inf) { + _setScale(k, + posToVal(yOff + yDim, k), + posToVal(yOff, k) + ); + } + } + } + + hideSelect(); + } + else if (cursor.lock) { + cursor._lock = !cursor._lock; + updateCursor(null, true, false); + } + + if (e != null) { + offMouse(mouseup, doc); + pubSync(mouseup, self, mouseLeft1, mouseTop1, plotWidCss, plotHgtCss, null); + } + } + + function mouseLeave(e, src, _l, _t, _w, _h, _i) { + if (cursor._lock) + return; + + setCursorEvent(e); + + let _dragging = dragging; + + if (dragging) { + // handle case when mousemove aren't fired all the way to edges by browser + let snapH = true; + let snapV = true; + let snapProx = 10; + + let dragH, dragV; + + if (scaleX.ori == 0) { + dragH = dragX; + dragV = dragY; + } + else { + dragH = dragY; + dragV = dragX; + } + + if (dragH && dragV) { + // maybe omni corner snap + snapH = mouseLeft1 <= snapProx || mouseLeft1 >= plotWidCss - snapProx; + snapV = mouseTop1 <= snapProx || mouseTop1 >= plotHgtCss - snapProx; + } + + if (dragH && snapH) + mouseLeft1 = mouseLeft1 < mouseLeft0 ? 0 : plotWidCss; + + if (dragV && snapV) + mouseTop1 = mouseTop1 < mouseTop0 ? 0 : plotHgtCss; + + updateCursor(null, true, true); + + dragging = false; + } + + mouseLeft1 = -10; + mouseTop1 = -10; + + // passing a non-null timestamp to force sync/mousemove event + updateCursor(null, true, true); + + if (_dragging) + dragging = _dragging; + } + + function dblClick(e, src, _l, _t, _w, _h, _i) { + if (cursor._lock) + return; + + setCursorEvent(e); + + autoScaleX(); + + hideSelect(); + + if (e != null) + pubSync(dblclick, self, mouseLeft1, mouseTop1, plotWidCss, plotHgtCss, null); + } + + function syncPxRatio() { + axes.forEach(syncFontSize); + _setSize(self.width, self.height, true); + } + + on(dppxchange, win, syncPxRatio); + + // internal pub/sub + const events = {}; + + events.mousedown = mouseDown; + events.mousemove = mouseMove; + events.mouseup = mouseUp; + events.dblclick = dblClick; + events["setSeries"] = (e, src, idx, opts) => { + let seriesIdxMatcher = syncOpts.match[2]; + idx = seriesIdxMatcher(self, src, idx); + idx != -1 && setSeries(idx, opts, true, false); + }; + + if (cursor.show) { + onMouse(mousedown, over, mouseDown); + onMouse(mousemove, over, mouseMove); + onMouse(mouseenter, over, e => { + setCursorEvent(e); + syncRect(false); + }); + onMouse(mouseleave, over, mouseLeave); + + onMouse(dblclick, over, dblClick); + + cursorPlots.add(self); + + self.syncRect = syncRect; + } + + // external on/off + const hooks = self.hooks = opts.hooks || {}; + + function fire(evName, a1, a2) { + if (deferHooks) + hooksQueue.push([evName, a1, a2]); + else { + if (evName in hooks) { + hooks[evName].forEach(fn => { + fn.call(null, self, a1, a2); + }); + } + } + } + + (opts.plugins || []).forEach(p => { + for (let evName in p.hooks) + hooks[evName] = (hooks[evName] || []).concat(p.hooks[evName]); + }); + + const seriesIdxMatcher = (self, src, srcSeriesIdx) => srcSeriesIdx; + + const syncOpts = assign({ + key: null, + setSeries: false, + filters: { + pub: retTrue, + sub: retTrue, + }, + scales: [xScaleKey, series[1] ? series[1].scale : null], + match: [retEq, retEq, seriesIdxMatcher], + values: [null, null], + }, cursor.sync); + + if (syncOpts.match.length == 2) + syncOpts.match.push(seriesIdxMatcher); + + cursor.sync = syncOpts; + + const syncKey = syncOpts.key; + + const sync = _sync(syncKey); + + function pubSync(type, src, x, y, w, h, i) { + if (syncOpts.filters.pub(type, src, x, y, w, h, i)) + sync.pub(type, src, x, y, w, h, i); + } + + sync.sub(self); + + function pub(type, src, x, y, w, h, i) { + if (syncOpts.filters.sub(type, src, x, y, w, h, i)) + events[type](null, src, x, y, w, h, i); + } + + self.pub = pub; + + function destroy() { + sync.unsub(self); + cursorPlots.delete(self); + mouseListeners.clear(); + off(dppxchange, win, syncPxRatio); + root.remove(); + legendTable?.remove(); // in case mounted outside of root + fire("destroy"); + } + + self.destroy = destroy; + + function _init() { + fire("init", opts, data); + + setData(data || opts.data, false); + + if (pendScales[xScaleKey]) + setScale(xScaleKey, pendScales[xScaleKey]); + else + autoScaleX(); + + shouldSetSelect = select.show && (select.width > 0 || select.height > 0); + shouldSetCursor = shouldSetLegend = true; + + _setSize(opts.width, opts.height); + } + + series.forEach(initSeries); + + axes.forEach(initAxis); + + if (then) { + if (then instanceof HTMLElement) { + then.appendChild(root); + _init(); + } + else + then(self, _init); + } + else + _init(); + + return self; +} + +uPlot.assign = assign; +uPlot.fmtNum = fmtNum; +uPlot.rangeNum = rangeNum; +uPlot.rangeLog = rangeLog; +uPlot.rangeAsinh = rangeAsinh; +uPlot.orient = orient; +uPlot.pxRatio = pxRatio; + +{ + uPlot.join = join; +} + +{ + uPlot.fmtDate = fmtDate; + uPlot.tzDate = tzDate; +} + +uPlot.sync = _sync; + +{ + uPlot.addGap = addGap; + uPlot.clipGaps = clipGaps; + + let paths = uPlot.paths = { + points, + }; + + (paths.linear = linear); + (paths.stepped = stepped); + (paths.bars = bars); + (paths.spline = monotoneCubic); +} + +export { uPlot as default }; diff --git a/demo/dist/uPlot/uPlot.min.css b/demo/dist/uPlot/uPlot.min.css new file mode 100644 index 0000000..a030d63 --- /dev/null +++ b/demo/dist/uPlot/uPlot.min.css @@ -0,0 +1 @@ +.uplot, .uplot *, .uplot *::before, .uplot *::after {box-sizing: border-box;}.uplot {font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height: 1.5;width: min-content;}.u-title {text-align: center;font-size: 18px;font-weight: bold;}.u-wrap {position: relative;user-select: none;}.u-over, .u-under {position: absolute;}.u-under {overflow: hidden;}.uplot canvas {display: block;position: relative;width: 100%;height: 100%;}.u-axis {position: absolute;}.u-legend {font-size: 14px;margin: auto;text-align: center;}.u-inline {display: block;}.u-inline * {display: inline-block;}.u-inline tr {margin-right: 16px;}.u-legend th {font-weight: 600;}.u-legend th > * {vertical-align: middle;display: inline-block;}.u-legend .u-marker {width: 1em;height: 1em;margin-right: 4px;background-clip: padding-box !important;}.u-inline.u-live th::after {content: ":";vertical-align: middle;}.u-inline:not(.u-live) .u-value {display: none;}.u-series > * {padding: 4px;}.u-series th {cursor: pointer;}.u-legend .u-off > * {opacity: 0.3;}.u-select {background: rgba(0,0,0,0.07);position: absolute;pointer-events: none;}.u-cursor-x, .u-cursor-y {position: absolute;left: 0;top: 0;pointer-events: none;will-change: transform;}.u-hz .u-cursor-x, .u-vt .u-cursor-y {height: 100%;border-right: 1px dashed #607D8B;}.u-hz .u-cursor-y, .u-vt .u-cursor-x {width: 100%;border-bottom: 1px dashed #607D8B;}.u-cursor-pt {position: absolute;top: 0;left: 0;border-radius: 50%;border: 0 solid;pointer-events: none;will-change: transform;/*this has to be !important since we set inline "background" shorthand */background-clip: padding-box !important;}.u-axis.u-off, .u-select.u-off, .u-cursor-x.u-off, .u-cursor-y.u-off, .u-cursor-pt.u-off {display: none;} \ No newline at end of file diff --git a/demo/dist/worker-with-import-map/EventHandler.js b/demo/dist/worker-with-import-map/EventHandler.js new file mode 100644 index 0000000..332c93c --- /dev/null +++ b/demo/dist/worker-with-import-map/EventHandler.js @@ -0,0 +1,32 @@ +class EventHandler { + /** @type {Function|null} */ + onclick = null; + /** @type {Function|null} */ + onmessage = null; + /** @type {Record>} */ + events = {}; + /** + * @param {string} type - The event type. + * @param {Function} cb - The callback. + */ + addEventListener(type, cb) { + this.events[type] ??= new Set(); + this.events[type].add(cb); + } + /** + * @param {string} type - The event type. + * @param {Function} cb - The callback. + */ + removeEventListener(type, cb) { + this.events[type]?.delete(cb); + } + /** + * @param {Event} event - The event. + */ + dispatchEvent(event) { + const {type} = event; + this['on' + type]?.(event); + this.events[type]?.forEach(listener => listener(event)); + } +} +export {EventHandler}; diff --git a/demo/dist/worker-with-import-map/Worker.js b/demo/dist/worker-with-import-map/Worker.js new file mode 100644 index 0000000..fd53734 --- /dev/null +++ b/demo/dist/worker-with-import-map/Worker.js @@ -0,0 +1,2 @@ +import {WorkerWithImportMapViaBedfordsShim as Worker} from './WorkerWithImportMapViaBedfordsShim.js'; +export {Worker}; diff --git a/demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.js b/demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.js new file mode 100644 index 0000000..5801e78 --- /dev/null +++ b/demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.js @@ -0,0 +1,24 @@ +import {getImportMap} from "./getImportMap.js"; +class WorkerWithImportMapViaBedfordsShim extends Worker { + /** + * @param {string | URL} scriptURL - The URL. + * @param {WorkerOptions & {importMap?: 'inherit', debug?: boolean}} [options] - The options. + */ + constructor(scriptURL, options = {}) { + if (!options.importMap || options.importMap === 'inherit') { + const shimURL = new URL('./WorkerWithImportMapViaBedfordsShim.worker.js', import.meta.url) + ""; + super(shimURL); + const importMap = getImportMap(); + const baseURL = document.baseURI.split('/').slice(0, -1).join('/'); + if (options.debug) { + console.log("WorkerWithImportMapViaBedfordsShim debug information", {importMap, shimURL, baseURL, options}); + } + // Prevent error: URL object could not be cloned. + scriptURL += ''; + this.postMessage({type: 'init-worker-with-import-map', importMap, scriptURL, baseURL, options}); + } else { + super(scriptURL, options); + } + } +} +export {WorkerWithImportMapViaBedfordsShim}; diff --git a/demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.worker.js b/demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.worker.js new file mode 100644 index 0000000..5521704 --- /dev/null +++ b/demo/dist/worker-with-import-map/WorkerWithImportMapViaBedfordsShim.worker.js @@ -0,0 +1,50 @@ +const shimCodeUrl = "https://ga.jspm.io/npm:es-module-shims@1.6.2/dist/es-module-shims.wasm.js"; +/** + * @param {string} baseURL - The base URL based on `document.baseURI` + * @param {string} path - The path that may be relative. + * @param {boolean} debug - Whether to print debug output. + * @returns {string} - The new absolute path. + */ +function makeRelativePath(baseURL, path, debug) { + if (path[0] !== '.') { + return path; + } + const ret = baseURL + '/' + path; + if (debug) { + console.log(`makeRelativePath> Update path from ${path} to ${ret}`); + } + return ret; +} +self.addEventListener('message', function(e) { + if (e.data.type && e.data.type === 'init-worker-with-import-map') { + const {scriptURL, importMap, baseURL, options} = e.data; + if (options.debug) { + console.log('Got init-worker-with-import-map message'); + } + /** @param {string} path - Relative path */ + const fixPath = (path) => makeRelativePath(baseURL, path, options.debug); + if (importMap?.imports) { + const {imports} = importMap; + for (const key in imports) { + imports[key] = fixPath(imports[key]); + } + } + importScripts(shimCodeUrl); + importShim.addImportMap(importMap); + const absoluteScriptURL = fixPath(scriptURL); + importShim(absoluteScriptURL) + .then(() => { + if (options.debug) { + console.log(`${absoluteScriptURL} worker has been loaded`); + } + }) + .catch(e => { + if (options.debug) { + debugger; + } + setTimeout(() => { + throw e; + }) + }); + } +}); diff --git a/demo/dist/worker-with-import-map/WorkerWithImportMapViaInlineFrame.js b/demo/dist/worker-with-import-map/WorkerWithImportMapViaInlineFrame.js new file mode 100644 index 0000000..4a6297e --- /dev/null +++ b/demo/dist/worker-with-import-map/WorkerWithImportMapViaInlineFrame.js @@ -0,0 +1,72 @@ +import {EventHandler} from './EventHandler.js'; +import {getImportMap} from './getImportMap.js'; +window.workersReady = {}; +class WorkerWithImportMapViaInlineFrame extends EventHandler { + debug = false; + iframe = document.createElement('iframe'); + callbackId = `cb${Math.floor(Math.random()*1000000000)}`; + terminateId = `tm${Math.floor(Math.random()*1000000000)}`; + /** + * @param {URL | string} script - The worker URL. + * @param {object} [options] - The options. + * @param {object|'inherit'} [options.importMap] - The import map or simply `inherit`. + * @returns + */ + constructor(script, options = {}) { + super(); + const {iframe, callbackId, terminateId} = this; + if (options.importMap === 'inherit') { + options.importMap = getImportMap(); + } + if (!options.importMap) { + return new window.Worker(script, options); + } + window.workersReady[terminateId] = function(window) { + iframe.remove(); + }; + this.ready = new Promise((resolve, reject) => { + window.workersReady[callbackId] = function(window) { + resolve(); + }; + }); + const html = ` + + + + + + + + +`; + if (!this.debug) { + iframe.style.display = 'none'; + } + document.body.appendChild(iframe); + iframe.contentWindow.document.open(); + iframe.contentWindow.document.write(html); + iframe.contentWindow.document.close(); + window.onmessage = (e) => { + this.dispatchEvent(e); + }; + } + postMessage(data) { + this.iframe.contentWindow.postMessage(data, '*'); + } + terminate() { + window.workersReady[this.terminateId](); + } +} +export {WorkerWithImportMapViaInlineFrame}; diff --git a/demo/dist/worker-with-import-map/getImportMap.js b/demo/dist/worker-with-import-map/getImportMap.js new file mode 100644 index 0000000..d72d54b --- /dev/null +++ b/demo/dist/worker-with-import-map/getImportMap.js @@ -0,0 +1,12 @@ +/** + * @returns {object | undefined} + */ +function getImportMap() { + /** @type {HTMLScriptElement|null} */ + const e = document.querySelector('script[type="importmap"]'); + if (!e?.textContent) { + return; + } + return JSON.parse(e.textContent); +} +export {getImportMap}; diff --git a/demo/dist/worker-with-import-map/index.js b/demo/dist/worker-with-import-map/index.js new file mode 100644 index 0000000..72f0000 --- /dev/null +++ b/demo/dist/worker-with-import-map/index.js @@ -0,0 +1,5 @@ +export * from './EventHandler.js'; +export * from './getImportMap.js'; +export * from './Worker.js'; +export * from './WorkerWithImportMapViaInlineFrame.js'; +export * from './WorkerWithImportMapViaBedfordsShim.js'; diff --git a/demo/dist/worker-with-import-map/node.js b/demo/dist/worker-with-import-map/node.js new file mode 100644 index 0000000..294326e --- /dev/null +++ b/demo/dist/worker-with-import-map/node.js @@ -0,0 +1,21 @@ +import {isBrowser, isJsDom} from 'browser-or-node'; +import * as mod from 'module'; +let internalRequire = null; +const ensureRequire = () => (!internalRequire) && ( + internalRequire = mod.createRequire(import.meta.url) +); +let ThisWorker = null; +if (isBrowser || isJsDom) { + ThisWorker = (await import('./WorkerFrame.js')).WorkerFrame; +} else { + ensureRequire(); + const NodeWorker = internalRequire('web-worker'); + function Worker(incomingPath, options = {}) { + const filePath = incomingPath[0] === '.' + ? new URL(incomingPath, options.root || import.meta.url).pathname + : incomingPath; + return new NodeWorker(filePath, options); + }; + ThisWorker = Worker; +} +export const Worker = ThisWorker; diff --git a/demo/helpers.js b/demo/helpers.js new file mode 100644 index 0000000..eba3858 --- /dev/null +++ b/demo/helpers.js @@ -0,0 +1,6 @@ +export function getSize() { + return { + width: Math.min(window.innerWidth - 100, 1100), + height: window.innerHeight / 4, + }; +} diff --git a/demo/index.html b/demo/index.html new file mode 100644 index 0000000..112d635 --- /dev/null +++ b/demo/index.html @@ -0,0 +1,284 @@ + + + + + + + augurs demo + + + + + + + +

  • ww^q*IC-pDT;jUGES~yncc1YC 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©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—fO&c_;gInRJ0G0rl=&vGr z_?fsvj=-q^HUpTdRz3!Uo*$t{suPP{gwVeczY{>l;|XuJ-W6Z@rB7hZGt*}BOw8m{ z)d*awl+UEv#A25tgKL1t?*cH3zzYDL0x(-I##eq*6~%)djIzxH53vcZ3KMK|mQAo2 zKzf3+_3|)jFY%^Kju0^3wt#5AjP8qfT36cvn^+eG-e~5v&-Kj@;{N{0FcpcD4uV5$r{3z zm;6fD(MJZB;*80MtPnJCkC^zuJA~yenvtFjcoJSS_H?| z`XIcheue@_SN%Mqsq~tJBvhha+RhHdinN1iKF+X}BYw@D9pBm6Nl&6d`sNUmxbb(B z@X8)STjoBE52cYrQj(23k}Td$OKlFtT}d`>CD{(>?YJw+#$8D^?n<(8E6Mg?6f4Od zM%YRtSa5i8SCWmpl5E^cvZR2xl|~HgNF#Aql8w8PY}}P(9D~KFb&C3x)&J`~aL?l*9 z5b+AI>Pa7ob)dPs@cZ*eN;s({u|_xX zJ)p5Dc>?~TCCSR6mSh!B(UN3QOH!q7!I%&$8`&Kw74w{oW(aAuf_23BW-`Ktzi3uY z`X)jhKc0b9WD_AD0B4f41J7~H9DU$X>!!g_c%){InPB_>+$`V>gqN9PEP&c(j>Xh~ zG^}T=eAW@kDHs!R&q7DNv}q*XC<-&?yI=+opM^AQ&L(kZHc9M;MwK57gZ2iTOO;)^ zt~A@36|&t~A={l5vhA$!H|WT+-B}^qofWd(Ss~lb3iBDo&I+pt+gag9!tSh)?am6> zc2*!+WZPN6z|O3Y?am6>?yQjQ&I;M?tdQ-_3fb?yQh)X9X#m zofQn6(v@a&Qg{-zwdxJ}<5~i7kV%0K?xe7`nwK*vY!xq=6eLz^QV``=xYC>;a=$mf zX>y*hRs_d1!7DynQuD-9up)R=(FR=g^aDK=$%l_z^@d|caw&10pO^xb*@Xx+35Tup zW}JaNozc3(0dKLG=dvd&#)_Li`{1#=>w)^+@bq2J^n|a(Vdj}Q>)09BHK+#yeLP+q zxIsO~1eXVzCU$Ny8sZT>IdcDbpkGCuQrM{cB=+|}&&hVN{_wlbyyEq+3iOM+c%FT) zTD8v^kA;tyb0NMe=S+P4oGbCwIb-pS^u{-lbLvqM zFC%9pzL`1C;l=B$oEPxT&bbfYIywE|UN@%%-+DQ-5WarSgZMVcc^=jIGX?k&7iNGD}WAUq8J7SJG^ z=GBk?59vsL*i+RN-76tGKjV`Hwm4_BJ$m|#e>>Xi5p_5mM)GjzGd?d7Zm}4=qZ^bA z!2gN>ANhLnbTt<@dE$6oXX~)oJMj)Uyx{i~2b@m5ho@Ix^e+OQzZEH5!rO44lN7qQ zLJlt&e_jvMec*XGc+dCc=1P&epAH;X@q22X;6p{!Um);}zI#W7THyQfNk~n2^uqvZ zNc)j$(tZRy`$Gh*!Lt*P_P4+z#k1o-fyWwY->Z2@BnoN2AqpxyyDNZno;^0g(=lC< zgj(V^xY2j{v|8n-OY0Fx>$f0@nk+ivvgjuu=JA&Z0q;%gg0Z{73o05sibh{1Hv_a7 ze}V1SWvV%j<~*Y2o^Shgnc{i$7BhfLzb;er&`W)VGNc=qspsJEh`I_Pq@$OqJ<(4e z!OpeE1orcXs-NxWdU8tnV>R94ad{nnjd~dPR|p@e?2I+sTE!vReLku<4Z2#jT=80_ z?puJ%G31Y=$lco@Ke;K{;;VqmUDfZ)lZV~!LzPNE*vjJX02TnC`=Jpj`roi=XZBM|sPRH+LC{|&%C66R1h%+Uyw zf#|~-rVoHq>3gI9w>BAJrk*ASCeGaG~t;O%vMSZS7h8RCyyEGr1S*w=uM8BX$#_9cctskV9 z=D@jz!-QxCX$108BLxvCv}g7z@4Z zjQ~_Q6T!|U(ECa}nns`;z(fKsT&2BR2poO2_UE`+YWJjrRUQU>ble1UB5DJ>A%S{`p$u)dDUBX`QtWN8wCgRlz^mLXleg%0nq@ z@2m9A`$BhMXHH{_eW{CDA(}=P7wsFyPcOqil4Upw0e+_p)5A2>sPXO&XLKm|vbyU1)9$aNm-VMME%CrV)qmrfRFzI(oa~Xov-XiIw*;eUv z(kx&$U1gBm{`=Xi-Og; za3g@^6<>ub;qqX$c#mT!Jp;GArcC)=V6QRqW&lehs8CT?c&b}LMWZmzgo*|MsD+AV zC_fxmzaYf#(DdMm+t}-xiWs8ZP2&U zQa_%l{|%|{0e?v&Rn$fp=v!+P^(mw}7=b0#FTzwS0hn$|E8BA_NR}shVyic1 z`^am$UyVssG8;o)yCRKb>1&_K&);S?>4l$>O7$k2s>_OMPkiMz6HjNfcUP~&J*lSp z>G$hUjJaL9w?+>nnl~{bPol;D8gN#a@;M=p%=G^vF#3sBrf%VimMD_2ckSswgyi}0Z~FlFtuW7@!5u|nBFZD19nSZ&}d zgsnDkHR0dY2C_z>HqgL-N^PJN&1wS;?CcSVI`A%3*Qx^(xxQtH6BblvMf3yWl7s*aKs_afE*=7cv?R?lyW2QIUlnuXcqA>NRu`cFg7 z>LIF`4B3ct`6-Vgp@*nfLhx+7$D$r{fyD9h{@ zQI@wD*(U#%Bu`U9_15e?aaF%0FCof#qp%5FF3B5L(GCb$dfr_q>5?q4gi5&zTD`xb z6`zGV0NPyj;a+)!C*q|W^&WGqRHA73z`&wZSk8f1sYIc$Y`~=fV7aQ#!lDSV@Dl8s zC<{xM*)*$QPa38_;L;Qp*uP6L15AwTC@n5B@zta_5>6z0sj{pi~n?r82E2E$6S|urtK+jt1Lbx0;Y84Yw zQbIV#cvsh`+y}4YcEm2xwV$O_IR5TIq6p=;MV~DlWEv;~7y3~f7-HihY>&7)t(cU^ z(X2+nfPly4*(vHwARIirNKuXEFr<04iG7Hdc_WhgJEo?3S?4pvTL91FFm!eNg}`Y4 zY$Ewy8S^ira@s46C$}-e8)Qo(+G~Sl8m*XgYfw9HF!Ax8+*#O27||WbUn4_sfheBb zt}{h7$MF1m7zi(c`&OZ7ACBfxS@Gf}P_&OGoZYJUD$Ijp3D+r_qIyF!{||+V)$3Ed z7a~leNBu!l)I7v!dL=eO8XRAI22}ZX(WBvo#V0{oKZ|hAjl~&oe}-_Q8O7s~(CdVo zJdDfZgTO>?x~O;s5_*pw%|0zY8i54P-84SZmm2}hp@pX=L>@t~PZ_LbQ((7aGeFAQ zYHwgSBbpQ}{~%zyhV^QF6tIEtz)>dJovWz@%QCKSR7-Q8H0bXSf9>%e55xp$^F26;nxY63Vu!CCutu34X_0Kq+~;45l{jAo`Hip zqA{?&fC+^h-3HjRXr&%Z^O!Ec4nqG)D;+xk*mb}TqTjILzz#-Pq;-d12CQ9(9d{G3 zw~&gE=SdF&>jA&R8E?eXz&=A+q+}!40J{j7^z^Ae0J{`rk-DE24<N%qn*mR^K@yg49-306`#yj&OVCA3}Y3p;Z2Npp*$$j)JU>84S z>v!Huz=k6~X{C#nBEKIIQrh$KweUL*Atk@@n}Z}18inwUllz?^Yocp*T9{^OSc5dI zc^XzP4a-WyTBTui(y-QPSWX&NHw~+whBZmUa?`MuX;@wwwo4k;A`NTg>1&~o=P7o- zX`sg}^Ds5s32d@r(+u=Rb^)i)eHbphiz{aM9({GLCy!(ZY@eGn zu=CucZiDAKE=0Qimx$2;&voo!pU==mIaAbu*izvXtUEQGqV{>nyqKXox0s?9V8`eq zOf7oX{M3Ulx(iqRhih+2o^46N?aYl^yb zzVGe*6K>qvyHD{;nEgJ8!b6^$)cZ_PMQ{4vH;mR3(ZN{)c1kMZ-vqdmSaOcT8Yj2jK0Gb6`Ws8^Lw)@l(`Tlwtu>>wWSR_3M4Mczs5C zWkV6(J~tV0p2&^3Pvl1I6S=HMgiqw&41mu~#&8h*Hc3F9n~a**>Sn_w3Syb0UI1hW z1P^%42QuPy2`$e}2H8{8)42YPSFi_lP_MA5gSx2l(kFbG|AKmPc}Rsx1@-fB$?Jzl zLWF6>+Ng30!G0^!LVp?v`K?%eBhvc$l(7-MAuoaM=!Eac@Se94@>#m|TwfnMz0j)t zKX8Sa+$Zmnv~o#$=bLmG6aVoSRF@_f4B=8Fj*%M8Bpq9;>46Zxjl-~Ou@2~u13uBr zV(dRnRh6*InF->JW+!Ar)~k3JF0mO1_B4R_QvhBDFjeh$Q^K2zkg=QwvG14)@Ysbn z!O{Xiyy+C|Y!KKNzy$>E0B|LNw*cHgU=x7b3G_g$`vFW<-{HF&iN>=V$J)SELB$Xo zg>YE_yuA1?@VW!;k29KgGmHXPrR3&}nd0LKt`74b(9xa(Hz3YZMd70s0P8fT{DZlROu)V>~G@AZfr(ZSMkqN?)Ls4@p2UZ>%>bG z|KgQW{O4w1`lGU~&Y3EyZS#1EK)TF(2j;}W-%@iT>0^Q4hngU3uUob^oKB%mZlOLG z)1$vHtmBfvu+09dJ7Q#$X(h`7@F8o2l6 z0;y76h%+sIKjXd|Oz8YWScOW_BKpOwY3axZ;CvtpVFmj>BxZA$gWuamg$mmLi-CvZ zJsE$015;-ohPfBZI{yIUPHnc|pEk5+55gZ{G~QHe`h(4DKpa>Gmg^+^gXT(27EDBv zB_bA217ae7#g?iDSUFV-6F#^^$4bR4ED8au&?v6dYG6BDFY1%wX>h3eYj$^c$ji8!#X z&FEl8Dp6brSj|gDs`0v9ykw+GEN7%nhZjd`#2KkZb3RQ!1wW;d>ZsgBzYXuV3j7RYO;K=3NciLWHF2==}f;9||7IVn?>&sY({@W^-r)Y+8-QJHbumE*Sj zcI-j;U1`NzO3QA454zeRxtkfbGER195bQRu#tx(3T$RhXZq5MZG6p5fatYd;Lv0(| z5h{HXd)D?!*88~0{%LIMQI5w9SB;~cmZ81(tuHc_-wkRH{8fDe-TM91 zenTN_~d#S8-FZCHn8QHy5F4fiTJzEQHNn(KN2BSf4!(md1nwD7U-_;1DLJ) zUK&8XSOypt+iG1;?ZsoW)x>dBI?^@n4Ic$$7{;|*$Y2THj-P*s60UuZN2YP7=0%icp1mhNdgbu za0uK_H5=cTQ{K05IY+#OxA5%3Y3g8p4U zO_QS8A!J}@2+6Z)pP?D-5MltYY_mAX5Tb)SgzBe;ka#&ms8ebPiC1a}eWkA;?e-DU zHCA1H7{r*z^dYg93lSSoXxM;4!Uhxy7O+&NmVVKI41XgDZvg48QVHQ%_)glg3^eY1 zy;KciHkC?<_Fw}GFcO)9d2 zwXj&kSXiuJEG)y|P!nE;${_}(bYapdm614v$-|800#2^;7>3w+b5WPKO^oYVuf+xy z>y&qB5Q0Dy&(#tl5=Z<#as58!!?`KHU+7n<#QNn|re`F4l_`vYs8|f`ZPC#1gp6s7 z7pfq@8F^@LD}{;W!Yx|dhPht2({jU|9wawdE+hRBRSr+-NaN6bPvFwW=2+EGp@NSM zix4tcEpYdx2q$f|N|7vw3i~ieov!pL50p?I$n$mVr`c9cFz(~&j<=;l#aMd~iZ`8( z?fuN6$7g77IvfgD16WL8(B0ZwN#H{Ocx}il-1Q#qeMjJ80FcYP!g~N@5qJwgQvwa{ z)m{OCqX2XzFbTlE1QtJH4u;(*#Y8&tQ&UwW_7%KDq^agNLnVuQqd)#0=*H|%y{0l^ z8K~gRaC}scF~1-7e~@9S1zoBVu^VmB*uDU!BT#%c0EUjQ1n@qidF_i)t*6)`MSh|v z_ddK61&0Um{Iv(09+!!3AykR01XJd4WJc)pQ>;Gg}|@}aR7zDy#R^{#Aj)55P`N2<4G$5 zyRrEIq$w!XHOaO!g5q-4>}DNXg`}milUl&SQAqL}B;e(3M4-ZHK*uoQCjd~jR=5Vh zGyr+=t-!J#f>6xhUS2-&j=&!Wo=Wf_xXhCfDYtXrwis@OF9BGY7CZ+P_@Y|yd*Jqi zxFyEfj{m<6j1Ozk6=D>BiJHJasc9G;lJ-^*kNJhl$4=z^h2-(>8m5p_i)=VyKZT2y zLUOk%)%a1nNa<|w6M@T2Qe^P!fD04uWM&QFF|ygZLp`vKMc)mLF+_YLGoFkBT8T2W z1bYhJUs`V~K{kUZ`R%nZp&}s1*1H18hIOVY0kDi-{X(FB2$Y7vfDjl6;7rCkOugar zzv}As_IqFsP%&llyRWV!L|0Jc)`++r0%B10O^Su9K$IZPCs7AGRJ~x7$ zA8oo}_$x0bydks%j(874(>%GH z)1IGA%90n${03K`FjiaF*l6o`zSwV0G0DrF2;YBa0r>++Y6lmPbx`GS0l5odyMXLN z*p+^3RgfhZ$|}eV>`1?V9tD{c%}T!pHaA-E)~ z0^YTnmm>l96E9grO01LwTy`?NhHy)Mp}r3{9Qb+1gKH^6J9*SRi`6!q0V2$1Slajn zT>aTF1*tFv62>b4JFG^rpJii2a?$2UU?EqP zae0zlRW{Rrgem9Y>r%%Lg1rVG5^U0OD`rWs;T5yH5OxUm_pg{`kAzpu z8rUJ&KhG7jQZ$EPeRl)Kr$)C1#j>j`#mWW@lQ0x3eN|>CHsvK0YrOg)s8xGNtQ5tr z)o1d0fdWk{F4bQQ)C+Dv@cweVpa7R9c;!Ms1!QvGXcE_GlGQ@pfeM4>oJDQK=BbFy zQxQd(h~QBMZzP0j@@bR`-Y6B^JSDtV_Z)=ad77s#Z1Q=j@Oi25c~UN~7=^1gPFjMq zPYcXAd0cUpP&uL9IE}7T>X>kn^a^UG@&ZO%cGRSDpPyTTNwtBuHWki3S=KLr(SZ#H zPx&p>y?7cWQ*_tmvgMgcJ2JB%&Sb$wjjb}tg6tWGZ1x+5p{zG^=us+%J{rn^98QNB zU>hhz83*Txi}1m+$^Jr_sXg$b+y91V)CgP+;4cK8hVau5K;ffsIUGPrf<5ptOqujL z1^`u9_~qiiZPZV7<2M4YrS}tN);n!I8LC>FADM}>_||)^?#({T(8j7wXe&dQlgM21 z_?%nMRNd;CD%U@Sg(y26pAiQWJPZGAhPK(;#&A(f%=8XJ@V8KxbCE1>bU_h-hwhY? zY~}EZfZJ-Z&RFnBi!}kj7OS-l2L0%JgKVahsM3qHD51SkHHvf?*UlM2&E~k0w1hoe zlf~kts$a)czb?B2YBPLB^v7o#z1-WD`9WTA;Z?BI6a69hdfrL+U#)}sqro1xrCX>k za~f(aZv3?kr6_TmHsdynk}1+2{s~B*<{En?aIH@OU#Bg;|JhSq{kh_)e1RjCfY z9<5_v21wiwSU6;I;8v+OKmejOX~Aunqz4XkA!lXzV?oa_L;O_*S%qbDa8m%?sz>O` zq83bbgLlGxC2EeiB(6lu%g;SK6jp+4#~dH(0w_JtePV@^!#oQ(ro$gLc#u2=GW_;S zb*vrYd;R8nUpgJjP!l7=ux+o}Y17iGopj)H_s~s1sd~F)qbmU`)%CpprURX^^gj(- zoc=4y=+ykzXrJt@)e$CK$1)H0xT+)F=y9mjkrX9y12(viu6ta4 z=>43W*`&2Ty#~##-PadoD$yTcI0auFo)H$)Q$dT^-_bO&A+%w{El>>r#D9THD*|Ot zXm1w+&jQ#3K=3&};m?1~7wbD+@io2H40OD9iN@<8PSZiWMyMUWBhgoSn-95b+|kt@ z;pL95o&b(Rl-MBv(k|-?ijHvd_`nZ-c8k+B3cY4SgoxjQh^-hj=;cP}#@7}P7nk(X zu4;_6NXme5QmU+3HSHHsR^-Ey+DGS+O6dBFN`at5>b3;q=5J!ym)giT{7aa{TF8-6h}Xv$WBIC8(l zrzg&QM4wRCMY`hqgqj3?zZK3vyz9kny}Dtn@9ohO=F4zfuLeW^U!27HVcCC(#gKn3 z!qFWN4BpK!1FaVCtol%rTJO(-8pCu33R5T3#154)#X0ZcV3L>faDe@QocVx#FSjpp z=lK=BS3Ur+J-_0c^DFfA?fDgf?fDf0JLgw?_xy_Qo?r3Z^DDl4e#LjsulVly72iF- z;&*Y*ulVWbSN!zzD}H!>g|oZw8vFa9vA_6)=T`)A&#(CQ{K^K*9KL&g#kc2IxaH`} z`4!(ezv8>+SA6&Uil26V#dpuI`1brt8<36fo?r3Z^DBOD=lqJ#^DCQB1bco(JLgxl zdwxaR^DC@}=J}OfkqOVQ1USF4JK&_T{}k2nR^^=x%^+X7TB|p3o}Xu?tp36f=iQ0$ zMrxAnrApNUCw0`zoa0LGp8zI0|2u>zl|`O_m8vcdrm9zD`YM9~9ga!i!yyyMkipjs znU~-UghK{@QbUGrsUc&qaL5pYD2w5NT5N&1m!n$B0V|e5wesZfjDcwuW)DlLJW%T> z%+f5j%EM`^ZWuM3LR5Y|%pzw~WNK%HJDK+}KTVp8K|YGrFmq0Hln4YA?u@gUpQ7bb z(=GaRN{GAKM0R!NC#)7k;`3AUlb@QO42Z`67!scnby>;I@D-~C^1g-mQ)<)pc zvvB504a`G}ZPJ&}`L0dI^5zMwE=7cyB~9R+M`AheW)!dNHhgmL!>2ng?F?ptRW`-f z^!qb#27-R4o9Xv?=oq@0et$cOvESEP3~7JEv^V23;%9u`*Uv+1S}zuxqHY3k{*yT5 z!4qR+flv(*OT-bT6vdCk>rPSk1Gw&DY-ZJi0h)dUjgv6%r5jl!>c}F|lq_PLZC|^x zNYu(A(NGro78X#^CoQo&nIe`aErGoBAlhyZOCWoQzbqsTC~NaQY|vLxgDAE?Ijo|O z2rYS|LHX6>u@AuLTV)$YzfoTWf>o`Vf)!?4r{qm>E|<;{u>YG#S+y?1V5(Fid$y(Q z>6M)Zml0>;V;k3Z8rOFl*GJ#y|$BR5C*B?!NSkz_m`#=QhIpYumjDG+(V-*0jZ)1$FG~ zU4#;Hj*VcBrONmn)aR05mu+B!7X93ZoTK}0+@RXap>3NCfIrU=U0`t zAIT^(TTwwcS(O4CliZG*qng1ioRYAL&Q{G}Od5uG!|xS%-YTd-RmL2(46Ge}=c#z^ zWc=xH2Ntz+!MOABHH`aSI0FIWHg1%0-?wg0h>ZJL5+mdO)?zeX;}|pf#({AjPGPB1 zqaiV@WW4woFAbz8s$fGl%ATpFZ+NC!U^`w6?2MN`*_mn%gxb$ki;pXl)_SHI_psD{ zrkanq{lRCd*D*a;BOx8pn%|@nWPoIe;2uq-4?{ z6Z8Yy5w9A1O+Z0+biJMI)%SL?SBG41M>#}+vEX9CK30mR=p5`rsZ?Z-U>_qdb9N67 zFta`tc|m^z(||2>=gmifJ;6g^#kfP@9RLG>z={Uvad}gAKR&r6Y|6S3k#+GkEE6&c zoha+#PfFIMTT0e7SSaffgRD!9LKzfp-iSCpRve2u;#kxb$D$C&j3zP`Y9eDs6KO=< zisq~z(w2O;o$*f z)GGC`HsvAA38&013Ucvzf2xljxMiN9vViEKUN;f24U@pJoFKY zu)XpS>ml+`Gh`CVL#+UBLmoPX_k0)%jhe;SLjCyPFv8pste-~$rMyxlh*6nWDfgoU zVu@g=H3-ZImceP^x3N$U_U00(QpsqJGR!7@D3tp_7mQ>X*4^lcfktIS?pyfOGKkl} znS*l22k}yj3G)j#HWK7dastrWpb3xa#~OC%i_e9>f!7R76lT8w6)*6@{Q;at;A{Zr z6Sx_`SOTvBxE{cF`aXR5YqyUDhy<~Q_zu8A*-oH#Sf11n)}0M^4$JLWru@G;EEnp% zNT+FokW-l*Np|GP0J6`EbIUA{5r(a3TwfQ+uDltvff=-kSCM3<8K_&XMR0lYFq~5B z8IS&)Yg?L8Dfy~7%o%?@DPE`08l)yU8^J$LetjC@Cu4thb|drpS1@Z3!B3{ zdk}pKj&Z~Ez~$8HOyg3^cEsPXLapD(3gn1v*-dEa@fP?^mu-7bgZIE~dl$m{bnAUJ zs*}#k=Hoo~1nWyO;cvaZc82fm4=9LcZP1vJpf~~-Y?Cf(tme#WRWAZtQNzIhy`siv ztaojymoj?%v7$zEbl8rF8tk;PFHw%|l{Z)!kvG~Sr%>LYN^TqSMlO5Ts^ike{tX}y z^9yI{2af=|N^o?x8-!2z3o;X)HxdrjR;9TZ1fMtFxhmbcDs5U_>1PNnF!JqM{n0Ea z_l@m=D(74om3g+D^J7%3mt@+E#;E7RBvF&r9)^N>VAGwnwv*Os(3;l>?8&kwYtTjk zpkK3;yx$dEYJoWqf;&$>*o8Ns$YJEcxGx|`VnYJ`W-DTHa^&1VU$8H+BXOykx+Ktp z@{@k!0)3JANh;$5-Cg`7S+>#;XXv*wBUz|#1PM}{)o=)CjkwouM(p*QOe#`8Ke>mpQ9nNy zTa2=JQRQ;#OJHv+0-9eaHca>s0UL5LGwd&rrf01sx&YEel{yW$?2J}7yj%p2r*Nl< zv9T-|l1voRQ+`3wm+(GO+>$1iRVsTP_8?zHoc7EsJx+(VMMdy7aj;8U!n8ZnHrU$5 zc76o~G8WC9uh2M6A}4U=pj&?_ac7oTE*Vvw*~#Vd+JFS8RJ+}dRnKl_y>>O$Wg#q2 zZFXZerA>c8UR^E*H?bxHU1{FGN#}42_^nNP;+=@Lc#}RBuLG(joAe<5UA9RdNIS__ zy;DwZ9`nlHMj1vd#piv^LUmpl}AS-4ua&NVhzc0S@@Jt1-G6iiWl9``-gv2NYM zDe9WAIQ2St!x^LzDqb%$rT2juT2L|WDAaBRsm+?@iV6FQUSDK{2M@(MT0+cJr=#nn zKUVM%kEn@sh4jjbhG6dE5UJn=uxbVSW+R?4UF^y0m8;lpRcanm5X;|>m}ixWy@XW~ zJL(e_u}U2ad;pZ)A+F|YPdarC?aHfEKj31~^D!;%tJHG~>}!#$S@9~h4!9gEko5DO z!UD8=*M)e$>uuzrWM9&os^+8gtKp?KX2vc_DTMgWqQm&gVU^Oq>MY_1ldZWtyB)DK;fz}10GCmE&&fU~vycOIFUcOL#% zTeDrL@f=02k&JfNmAG6%_8D}b4|yM5A0nSR!1q=1~2hb9-qpixHKqLc~%M>Bb zl}heH5dD_tVF*;uIPs(J<+Lyvf36oV_Pv{)K$>}zBUNOCbLA0M)lvriTs0U843+Wt zlH#!+uk1*;jG&db<&3_=8GV;C`YvbmUC!vcoY8kVqwjJ?-{p+H%Nc!_Gx{!P^j*&A zgEP7|;o%A9;n>xB!8XBtMyhO^`YSSL2P-ue8L9CNe-OCsWo)QiJr(VAA{syixSk!I zWsV|G(`UmC7b%4IQ??(d2tl;+5vfSUxeRYd6D%HdGSI3p}a^n zsZ|99=DPMNa53^Ch0)211Os{TJ|H6=l+fFj7uklj%8N{j^5R0B#i_ofIjAN=P|IB} z#66KRTeoEOE5+v4NP3m(MzC*{&sn)r^`_lyYtFC`Bk*xGovpnkPr(4cC0GWu1mQ1v z?JBQTiB_EZ62!d5xD~(~Hu+7+5V*_Fq8|X2H;BYngpi;@UT1F1(^69+W7LbdBttdf zZBjQy>V+BDzhfSxXH)DM(UT_e&hLt=@H&NRM$eK*kPn{&P`NBc$rhlyuoUeDEqV)k zT0}btdIiu^I|D5g^f90x?gn%hqTZV-3x7Vv@-C~@yub_UjS%OJ@Nyfbr8lfOZhdW) zTHdnEDfufD%MYR1a)hU-tq3MpIiws^g-G?{P!f9^r^?XGD*7%Gt5QRN4}uB5%H$$lyGpeMek5imCHo{*>O|m|vZG}}s8W9iF6XQ=82(!w;fWtg zd~(P;3c;4X^ivQ?A>iSEdYwrNTwFlcmB%NX+{H(olLQ zw`mWlFfX03ztWe&08nL~gczz^XgJg4wT1+k&Gagjlu6E&RVukIsV+MOjPQCaPV1=z zjNxG!BY7uK5C&%emB1{=@CM0(W&B{MzEw+A-eN5O?)FREE5Gz5RM3Eue@mug*2Dr< zs?H42+7#u(|3Soj19zjlh2NvQ4bvUhZmK*J<{B<(Eqv_!5UyoF_aGyYZkeghN4rZ| z1Q%kr{cHmqgiD4>lKon8EYN$|UR~IZC8N>y3n3y}^x6;2aUg?Msje$+FBcoqz8tu$ zbb1^7;E%xNShf9Fg(`J6@ON1~i%$Xmv4dx>(%$|~_@Th1mrge6-3xpT&9hH2_>aJ4 z=uD)Ec9rV;vG&A3`Fhjy2cySS8N;R>by8hpW@nE_oeFP56Ukwx4*~S2OLH{B5df;i z>J}@U1s@5!9)N@`K?~IqcDGpJ%kYt~5wx0wJsyAwdlOT)KlK;CD6&F(j{)!46th)5 z-bS_Yx8LeE7YInb))gZ*fND}mt0g;sTHd+H$k1CZX@q-eHy~&4N}Jg7vBt; z!D@(iY%S+%=!ryZFZl9$t=K>Sa%a|c0OZcBZvdD(v%EWTTU`3!{vRl)uBbM+Q?r&F zUOR$g@39L}oH^>UXMC?emOyIp9QEv>zIQO;&u6OUpIOS6a3z<23erI#)tti-ph|rR zT9YXy0_quS8zAK_NNxr zFZvPzW=jC|EWJ9cLt-Nt``36;UFH85Rzy1nUF+o+R6s+A8`d&6_(8p`ki6?j%|GD}poLHq$O_{db#S2PQa%EwV}y%czmqfe6aPY_SSY zO^Z66QCGWBr9`Y*;iEQY;W8UVZXi%nNdXfTtf(htc!~*qA_*xeL(z|jCFxuTfDKdF z5`-!3aR2~DEi402OT(;n(lJdW30-32OXhy69C0Z}VMUl&hbNHsVixGjSkd=zeT#Wr z_XS>V0f2`1lz8cv(9{Cxus=TQ7d;$cC})DlO6-Zqgzheq~yWd~c%Y zYPe>A_L)keq7k6NN8lt{CQqu{iy{9JE1HPWJ|8iQ-T@%>zH@zgy&GY~v)<{nXi6A0 zlMe3Lq*&7wJEz$`sG@c>X$BGWx2(2jaqB8jR zVbdM>6}TDz({eKzZbPhSE4-!U-U1*kSMs%Kxx(=Pgl6tRT1lFD-B!2m2Hy`S%Q3xL zBx@d2kdO*nBRAH(unGX{DD{q}ngEJudcOs4sd)x+lbX*0AT>|#s=I}lqL%$gUnRRJ zQNiwz9O9_~l5GZR0UI#&&8F-{83;;8*#PbMdF}EZ~;| z@H)t3p&2Sx^a5PXM3F5MMS6al>lEFAd5!s9Gw9b4kVSPOy>JoQ8_{hsm#Pg zC#3QcCqT*W8hm>&+;?4zdLi5`z>69Hm;s>h%Wq-c1wfd|Q4IE=WhT|eK|TTsHS_@> z6h9Jx5WuwngtyEFAe68a012S5F^WNwKn71Emody>bF63|)Z$es2Y`22j!OZo1mH=% zrb&5YMaLq#)T=nG*XXcb=`FP-R#> z3{t5MMnTm<2L6`ry$yUA-TM$m+4f~UCrjB(nv>~a(iE^#N!**9xHlVE@|tR3$?Fya zf6A&%BU~!0i78ASuV8aAb}OBcZ3kvM-Dwhm`%85NER}`f3={Pirg*nW{W~Uek4LztlNBxYQfCdl4^!z_YxC0^W3SOB15f$g>wk{I#oj}5%{D#u z^56V>{Ypst;?NWh@A`6+{ZefD`}s>T^vy5S<*k^GHqPZbZKj$Eo*_$r!AoWVl?HD0 z9O6`|^}s&^KT~;Zv65C>a5?i)P*=9(9p5FRfC}vkN<|!AnMo?*TA`JainvxR!UArxthIK$tzR{n^3AUcZSBONF&viqPpf0F))|HrRql;%{`Ke8zl`~9|B+mg zKCNy+Lx@j{>95bdWx^fT{Pv=HTCGHTiEGQ39=iYCt7iT3%l>eLencEweQ@`kTb{jj z@^=h+7lwnl=DojS%Kg`knf1y3HJfnxL@<}u%yFigg;tOz6ujgmpwfhGd!xEl%KyPO zVLLWql{y5tY;P5CJzS+m1D8g$_nOt7+D7ImQEl1Cb89s6 zy_wqEuXVa2%%Pa(LNTd2LTbhq(mpx{;NU6e=^E^-wiwzGkY%B(H9 ze94IjZfIy96s43GKB!g%OUA(Gv>Sou!JGCq1?*Q;qk!b#tMsH1ze00b4c3sHUSr%p$#AZIb;?ly-vVo&%pW*2R?$cp5T?zHD;S9I?mNiP!6m@ zKGoRmn08Q?vt_U-do3gOM2x>iK7n(-Qd!0CfgMj^Ve68)D;PJiDjd&> z#!alZLE_%{$ZC{IuzDVzss9$btO`c0A6KxN8US#zx&_~Q$z9XgiouO5xbJN>dUHl2 zSTfndBBuOm_U0`x;ZiM_)J!!Nts_iE@G3P8xb&vzdaKlO;4)w4o8J8exNwzLrnUF| z#c~mgKLK214~uUGF7vjO9hLY)%cQAA#fiiozjyQ%ne;G!+w zleias(WRw>KuZ~^-U+AfZlI;dleDxnq@^rO-5)@DHnj8}oF@tCL?JgDY60n-@)GvT zNk?_##UzzC(YdN#z2e~z?$#2n-$SVH8^Sr0NPP_)>TBpyU&FXJA@V4uE}B57rjz0f z-FS-n2gF>-qX|Nnh8Z@2AQDpE3PcEM&?8+lL9>_R?_@=646s=aCXXnjPthxKu_9}m zK6})p)j`;qQO%7^QI5V5S{1xXT?JfdwWXoWmw^kdSbQCD>1%nKyGm^ZE`8g=bYaeK zmh)J=BXHq77ViaIXy2xH1aP4}i;n^>v}ePQ1ukR5;`ad;^AL+a2V7{|;$Hz5&Lp_y zOj6c#&Qt_yx&w__jWfLiYC73A;ClT-NKNUS=_i*nU4lfmgEJXkMEeQ_&XnXuHl z5nO~={4cTLWmz-1p#aEG^@ zg^Ei-x|xDR!-5E2jkooyowxl2YHVB(&XX7n7Kc0Mu@D?q4Ah`>%P-98SRN=w5<%Iy$6IM15xmjPl1Zy zosUH==G5IHc3ieGeD`GFLYE?^SE)+iVkq0%h~KXOmz9UbzW^@d#NydO#H>Ut-VM0W zsm1#OmvLb6VZa|5iq)dU&jlWtLvh~ZcMEVC*A{;kxX2(D{}^}_=V(oMitqW(@-iQD zUs8O}|Nq##5;!S}tKU66vpWk5A}FA!;Egv6EQhzqDhsFxo-t-zmH`&`at{`aQ4?oNj!^qH;If6i{rP`?^_lDMedFCjR!69L z89Dl%4}S3Oa}Rv$4IsaV%?n2E*tz2M^KN|njn{yrc4y>vtL}IaP5SDCvW-qCIq&?DgKpa?(LIObGb$0~p0nEw=&;9bN1S`g9?CmgjW}-uj8#49Z-{fx*z4eXYwX>OHTG`0r|}wlH|lA-W>}I( zM&dx-)6?E}j-wsD?MP?(vdMNdaD8rLe7%dhIVGA`jTq5m-wWv;#E`akR@(nH;&=WC z8Fp3L{|n-*Z5 z_(zCyYcsw3(!|(-be3dw(xnOfZpEJ-lHy!J~O^GX0)B z;t7Yg7ptL2+p!nZ#?uoHZ7nh;ipM}`OOYcnL}(|GBPEDzA(2uud z2HKDR{^mPBxpu=x2VWf>AlP#I>C3OZ@#b^C{xYx^J*KCbLH4S zglp`lZXS>#{3?2)`tiUl&V#yo^LPb5C<^1aA)l=O{g)IKosu1$il?Zq|dciC5%i|uA4A#awWgRw~O{n0@qamnTAAoHf? z1`OQ0J^e9rIzNTRXN;x{hdxqCCkON?YVzXEIfN;C?Al>^KnKUajSD0u<@s%<7EUK1y1J?9XVt;G)e9Em+NVgRgQxbm@3tc-U7Tu z+ESf|sK?R{+t#r*=o+tgwx>I&4#}x!O@a2Qu}38Fk+n8T#ycCyE|>>#elj2T@$> zonfW-!L0YY?lJT}Xo%MPgTTg@L*4HaumQk-h>qNo!G?Q68Ya_wm1K0v$>y-qNon?A)!Do80#|K>m_X}zD|IZuehtG)-&@no;KQqIQqySuZM;2`C3trBqI-|EQEuzkZb z=+@W$_KKUo|L9LX!BXo{K@Qi*^ABAeSu4m9&p+|Z$4}pL-z7kPN01{mKRP|a6oA*QdrJw z0kAS30>E;<3V`MO2LL7K+oT<7is>cvp_6#|1L}(>)(8Ocf!jo_X$0&D;3xvB0Gv!f z2Y@61%iW?!42|D_6fXNw0Nju-0$?FN2H?|>M-Gi|v8}G<1OQyi69I57RZ~1mO)+C= z>1{xB6&nC>F)IOZF^>S?VqOE_Q_ReP@sE(gEih`7F6IybTuj+H7> z|7IK>)1npN>c~s7b28%ZKfmLeZ+D)1^`rLc$PKa`GxD|-e|ha+Ywmsh;MI|3vh%X_ zN58rIR_wg|fkW6TQ&c(Q>pjy+1b=EFCH|^ zI~5GW#my9dGA7NAl=!bp=_77?_~FO?d&QbNNTye%QX}8K=?53x{nj5pf%sn%H+}1` zKC<>L_-XGE>9?g)!+-Smt1kXw&x_AP`~!0kKP{#{3D+WHCiQB3Ej0eal*pHgwc6vn zmAC!%!Z)s^4J?`**aGgV7CYyD>+sc)I+1NpLTa-(=w?m1*XvKdeeqM*JlTEldglQ0 zM)~~)THpJS|E3;m*@t|GSu4@Q?Q!&;`dJ^qH&!5da{C#c+H`_Zh?Wv_o4 z9hbMdwH=&5YYMzlmOL^IvmG5z9-e-5hw*TUsQFjgJE3@E(Oj7^J!j(R}Bs za~&Q$-)c^bVTZ%ckE`X2i>e6^b=jxB9c={@#JAlSnZ#Fv3!bx4*MF(_A) z<^{3+cF01<`U>$1UViX2M2hIRTp#ChE7^snp`wRrub)4LGAm@Y5s_}hr@ zjG9Y)!!CM}s?zVWH{d~6dvA0l%ljGlO1rewL3VniCB8cVev)Mo0Dh9?O858WPsaD< zKh@NwyYC$32VguOnvWj@ykF*JD5?u-{PfH`ojLwv09@wV0ol$+whfYP57dkwx~T)8 zvH?&J-K^opTxnCc+$uGIRLuGWNRL&2ERGj0>XBm@<$Z7c;E9V@l2JBH{eCY#aly~O z`aO@SANT1ePe1bgho2@>UoQ5);+-Gd{oGp*|KP44!dCuBHbusN((~xAR^Rr|53%{3 znick0N4xPnE39`;riYOx@-js&W*AlmNrC&u(8T=3kS?3M2j39rve~X`n5PI0^F=0g zi@+KV3+DDKcg9%h@fZ%nfbMnfx#x;snKGbzuYKy0U#`6DuD4K&lu_Q(&nWMP?DQj} z{8O26_5nh&$HXY_`?ue(c>m_LPd#_Q>d5ml3+)F=L4Mk$&G)#+SAF&NoB#IvN2a=b z)kx=cuu#gLcH3)r(L6hQ;%uU)kcpmAvAf}|zTm#c@A7yNQ?9tJQHU*SgMiG%|(?cK;_|fBrA;{PI6nfb=IaTn>2QgPZ<-!z(|0;Sqbi zbJ%KB>>y)gFsw!fgL()YLZ=IO8!akiYnX?FhPj;>cAbaF(zARpE_LiBOHcCAcbOEc*rw6X&n!Ah9|F!G@}*_Pgxf!6?p3E$oaAtdcfo6qNH zJwem_TgTRbr8v}BwvSlH4jJPQTNfcS!tk_pY!ethd|iZ00mIYRu?1kbYF&f|KEp@2 z#=FzmLYpi6PVH{{&lnNxVpLN_c)Ul{qy5#iE5Pqcit&IyicTjez9z;a{wOj4J@!*z zz(ek6HR5;JOAk36pN2ROQ5|21I1fRNt6hg#XTuuIB30N7YTeFOx@7~PVcr+kFzZ~y zY%~}yJB#OO@LFMKx!`#dsCvII@dk0pWnW@j5PGb{s&ZI~)PNx?p&Dx)8wZAuT*nIw zhG(o}OTcjTIv)QF&s@jDp5a;RB1>h!%*MI5n1iF={pyo9Uigcfen|u7QW-|aTy))! zo_*kgt1mxrb>u-AMRRVt>YMLg_T;@kp#k$x8Aiuma^Fku-1fB}ZrFdla|zuPKEW6y z468xHpf({Vsn%n&p7+U!Y@IUPYQ)>iSySJ?OdSw#|Ept8E+llB?gg4dLB;DA=|c zvA5pSH~;{zs1pEq;eH+fpFNFz%S*49Opi#W*CbPHAIap})4*=cD5UU${}2GY;I9S1 z>->uV@Setv0Mwp_EBA!*(tDA@xql6SbN>eb=N`SU&Rq#W<#uf^O&M4^3n{#F(*%HP zxe5T+@_qn5n=l8Im;MYXT;vA;xX7*d(?w1Nzycowz(?SN%1e_-;oO%1;M{isV1b_l zz`5T9pmMvmaE|cX!ub@myoEDtoZiBj41l+A>Hw%M99O+(42`cq3Rib60Iu$f0F2$3 zkx|UX)k8~nt;wS6-I$^AcBF7I*8|{U9s%H^)!75%zeEZb z@DTtmV9Z8y$-)h$1sOKBOU3^E|9<6*7 zzL&0HzPYF2^ex0LdjYB=eAozS8a6^2=2fkR`39nf`Dj|hyxtZ(ye^S}Coz@{mFc9) z9I1}5_+0!*614Hz+o6afRpt43e5R70WzaCoreQ8u!(6V0`6#@a&QrSVKhsSO4fAxU zVcyYVdY}6ymv33v+tUQ&%IWB!50f%o?Y#&$5`(OB8Fd_kdf5@TaG z7>V|MZsM2_+lqLX3gWMS_5)>Or=Y2hqr#T}IE{dB0H`P6768i#co4w(1pE%b6$C`4 zM6GWTFcLsF0S5xWgFE#52L3#*&PljfbHF}oHhKs#>4*Ke6;z#a}^DHeojl`RO_SQ6f5naPP9ch}^uu8Kv zeBc8RjcM>Tm#>ic_mU8P7X`mR3|(deRj%9q2?iOj)pUF=;;asiS2iQcW;?<+-YUO^ z_&H=`9Gj|J`3B;w30uVnPt|5z)3+dgJ(+DyKl9+I^*Z&0V{MYIaw+265;Ii%D#Q=} z5o$G8#lMR<_mFB8{~hA|+Nxtze83@5i(hp$N5#h?ekA3esp1O|f0N2n@ts{0Mcl?- z4jruWMZ=w3bHNsNsT;Aqot{Q2??knD7TJM|u|_Y$WKsE3V0o?>%X{tr7jZo&w5MHe zxyvtAFde{t z1T+IUfPilSIFf*$0GLO>8vqgnL=TEurxUOffDQr<1#lh#^#Jf*Ld;hHZXn=30JjnF z0)Tr7_z(bg@vX5tprO|Tuy&(QpIt!??g@6;URR(!{|v-lM*#Q-5xxarAa+E?ZgnUG zCty5)oe4M-zxvP0fgQ}3~6hKJl4 zQd2KwXjU1lvRg|~5PoUkj~e6iYIJs^-=S$ouSR)vzeDy1F9<|M*`NLk5%}bueGi7x zS;}&>P18@voJAwK+ui|jHb`d?GtA(KvvK2ik9{TLY^2U6db}44akexZPie5nKKSsc z#RhDpB3yzv+Xx-M7;&}<9EY4g$DhYLcnA;9kJ(qegC85$ZjC2Yo~8@JL+Jil>gl^d za0XIO-wjqz-`xfF_7+3fhoFIF51a9tGsfQ1@F9jG8@=3{Cyb%Et($Tv=(a9RUn&I$ zOmd1yXWFHyi&ac*_lpgzi#JSP=1%-OcVF+c-b_eHnB=>%=>pkL<%U%~=y6REL zHAC=7eC`T~(_7HALbjUjQpk8jl|rs%h0H-btq?q1k2o)c^yksI)ACiPYzm_5WxZDr z+2#TjbP)CekB8khx4W|Rn5DD@rxo-qw}Kw@DCjpH1^sn%P|%~$q@rw*N_uO-T6J2y5;4jf4_h)zn+a8r3XY#!KNw{VaDJP0qb2BOrn zB7?iYrN{mf;?%PuJk(}<4N>Y$ks(wFt}#UPl}ut5kt>d_ipzQgNwCpNAQ>ahnLp-06anj7%m zRm6ED3?|les-^GovZa%IyfhWS@4+wAq#ceCe7{HdEFJU%S^((|+K9pplXe-Rrb&BH zWZjfaTBbsrL5{UMR?}u{W>Ls(#)$o$TOpr#6teA+rb*jGZF~oMiDw$$0~al?)f&O~ zFzNmyza3iN4`Nuo94bn^Qdg{$wsz=NP_|b(t5c$qqp5FNkEe^)_qf~fb%5V_+9G)* z$TA1f_h>y7oBlTJ1dUajp4S?wy{ocIfruS*B^ig`&5By5K8GsAj^p?ai1QVa7`@XR zFL{}*=b7?Bf2I-kbHw>Yn*)c!9`xAFN9lv>ZK#+Yd*;!45O5r|&!|K-F5~Pr-rb>+ zdx7jrRN}u+#BwE;S)bWGkg<&FV^)F@-S!D{bS28@D+t~8zaa!yqD)ny9_cLf7C&W| za`3S-d8(JH(}Kip!@jg3Vl{b$%oOTAJlAAL-Adkr-z@bgZ5r%pippf&_WLNB-!sd7 zquag^aTYbIL@k-CMH@i+opA)BTT|QZJq7s+-^KSN|Pq_b^TfHQiuBu z;nfej7FOpEiG1%K`!V!P&aw|t_1Lc>&bv+fl1+@APjBJXKYQN+*V@re!tj@_e?#l) z{UW=55n{;?-wm+J=zCxM`?u3_6+ZiQRD^Ej%}xEYu1U!ve$XK_KaaMaLN<>Te|LMw zI((usLwGWWzOGVEqS-T>>1{0Kry$GB?{np8Nz!Fs{vC)l=t8_{yUX6N2Jql71GWY( zMC!2^FitdiI>1HE`1fmP7MMgMczE(Q04vTcgFl6#c^RiYf?JA1qNS_ss{ky$AEL#v zRQnntufaS;%jms?YY>Z#CwjYa1vVdI6R2d%x*LCPQ`J(6SMF50?df{wLb`V7aD^Jj z(VXm%X>5G1htLeN)p2NGV9%8l?QW`+S^uHx$3uEB89Q!?4$P031x1GXPWr z82bYNrxEZs0LKBq?F6)%TjFZmL0s*T_!;Nyk04qcZ(*bhxA7y8v+-+;8u&OWo}2~5 zs1xz;$Ood9Q)mC$*$=?E5xkh~32fKU33P;BeD(1ywne5hG6tW%IR~z!io~bAa(Be~ zF^$$8;S(;Dgq^Sy{-b2s30v@|V>f}b>^5@RHb0A4zoIO=Z#Qk#oe}E;g2#@T_6hEI zmZMscJ@DBt`o0!t*mLYE`;FVwrzazO?LCdYSWVT4>^*K8eX&}>6Ia=5(Iu#5BKu5P zW$$pA&CMPef8Z+nw|JX3r%XI_m3>BI#CqjzkWHGt%03?sJ*P~WvC7^XcV}rNMyAeQ zWe-IPsVK7loK^NWAq>rNkpoUzW#1%~Jmib3>~o<@COh=BRrd7DC9-(hi1iUA+O+0r zJE!2bRdxiW3@66Zms!c5qU!(T{Of|Bj%C{=2Fy3(v`P=I_V_pS2}4+ zXzia4$)R!)G?(gSxG=o?`Tn!$1;Z$XKWk=na<>>pWn;oc>5j~~ z(jD1?A1(b$dd4?!7w*x?s)N1moKBwtiaE5Pwi|g9Cq^IiYvhxl*l7S~Dua9s2{?*o zBATirn5s_$d^~;S@^xnwaT&l*GHNaZ(p(0lxeQ<~Rz=z&)T@aBBk=wBDehjs-r1`Q zZ23JZ`je15uRxhSoQD->n6V3@+&PEr z2fjV_48(b5wI%VhlGJ6brTFvsjjs*I=PIVEQM2CJkw!}iO;dUdmdw1mOb?L~T3o6j zQj!EC?Pd)i>RDf=)8IIvt%2k*@;E3@4Fik%zo+EC@8DQ}(uCmLdvEQ3W{lt$Y3;F4++Wli?M19iWx=8vMrx&KeOcYQ;bOLEMP(L0sPNYeR45 z^^^HQ+=%`lF0qPiX}oUaFd#gFuP(!D^7a>%9g2y_cAkKewaT1VX7P1wT#K+{1Y3MC z=wWiJ<5+v*ppW*UUU$~eeWMur7sMRNTa>?8^{xK z$d5q1-#ihKxK82j8>bZY#oqX<7nFfBx|f&xr`VF+^FUGFr%zGWQB3q&W&p2ctQL$M zEtsAp&iGHnI#1^WU;d>xLfBRN#~x_P7};dK-|@nI;2)#jueOQeAV`RuLj_2*q zH{y|DW$~dWIMxc_;*$VePe3z()dXAxU@ZYZ2k;1hHO>q8Pro(J|7j@pcU~c>A|hk9 zjeh~eBhCU@tm*i4(UEc6lsa;R<{BTcvDssdws;1tre)ix&r5A$N)xcdC zIp`(?@yJPdfg=H<0Q`uE_Z9LU`w-yxh-e7epx9U*Nt)M|Wu>Phc@}W-;{lw&iDieO zz3Ep5U%~@?K`=DO(XT88v<70V>!UBN!cus0YE90obKFqBKDx(MNZ2zY0Vf+LfxElc z-STO~y6+&>U%7Dn`*Vi*e;#+V>;bydRnY)u+gf(AWC8EnGk7m7!D~MccJog6Xqj4e zqm@5@BCp#%4+`Ur{q!gE>`vBnls=L;<2I!8sYA)vQCg4v65`!h$*Ir!mF=d*q2mZ_ z{?bMyA4g<<+wSTNVK0TS$Ak(yk%VPWu-mRVSqrPqN6rBz{vD)W%So~G{%MT3tz-0n`^dGxy%%{H|KooG z(I7Q3B$!1Q!NO3B|!jFF`!1}lI7pNdIhMzY~Z&RfqOvMY4Yo(0|%!*(FJ`1}( z@ff_^E3gYeE^&;!+@(+qO+Ybtx$;bI5^Df!6t<+;$&m@|K9pOFf`OyS&u=CEDdxu;KES zm@aRL>GGDCE^mqH@|Kt`Z;9#hmY6PYiRto|m@aRL>GGCnmzPD;F0XP6p% zCv#8aX@`J#@44U3J?%wT?wwT8g0CUX1uj4^f=$*RX#Z<8?q;>Dfpg1026u$nM+= zVChxBO#<*<AW0Z{4tQ<#*}4m@_@#_e>=a1 z%#qo~NTyFN8Y4N0vlD9+J^e)6Ib?@rVnSR#cBi%raKg9FI|RJVy0+B%Md~cvP@49;4=XjGE&yYL3UKIUb|tc#N9k zF=~#-s5u^^=6H;n<1wnoBa5cTqk@g`7^U$@yUcn#5`mTcHY0dE62csh*h&CxI>{K1 zFK`l%N6ux8$69dpIPI&@*DsnTB9Vzdi>0ZuAj)}=^?Ogk*>g0IBhw%RQ{^<8vdwO4vQY)kAP8;tQXvP^e$ z>=;||ofbLPAONwaew-c`182w9IKR+{HO_A|6f2{zNa@P2ShK7*z*}Pdd5e14aATISPO#b=*5Wf>tz0lSo}bsKL!wcg-4z$DDtlz;=3Wi zIvethzJjvfhiJ)DpmTZj8@4OG2?^}cUm3Za$VJqcJuLoDq&-f^^CGK|cMTXt2HIQ3 zoSTB^)dLh0YRtK7b zmk#5=jF%2e0H~#ddqFS@-?AQPd`L2K#;DS7fOaI|uCez=OFc`HpRrZ^QYd>aHQ|#0 zz69VJ`^uTPA&%q$C4)-;j9i_F$LAyYaR6?04Ja)yy$LC-F1$QC;##K+vIjvYS4Lb7 zzKtErXz{b4)$A>9#eQxy#lV{F;^pXaZ!oTG7TT45Wk(4BehLHG6p+H4CzuNa$dYuC zrr}k`Oj?foBV*O^Z|5{DQk{rl&{H(XN9&abFs7Wd(%9s;!FN;-{*i?rl(O*UhJ`OT zEqu9Y;mfs!ABo{zZd&+q)54dV7QS3t_&q3#w(!#l))qcNuxa7TO$%SHEj(F)a&6%i zY*_em)54dV7QWoH@a3k3FE=fGxoP3cO$%RcTKIC)!k3#CzFb>)7EN1t1sfK=oGkqI zsIIo~L|`TNWdxgXLYNl5+LL5h_ywHA7M^n%7XC1B^;r0cC3wHkbg}SsglNwst8O>a zA)bP@{jO2=`>0GNpMc4hRl?*eyt3piY_<6xHFio$s5<&nwxvX4@rRM!F4lP?9P4Dw zk0|K(A5sbb*u|Pe`;t-K;yJYygN|o}C|#QCwogTz_wb{%hd*NqqP&k^s?NEwMAciG ztz|3#aa~~#q+Nc`E@k^oz$I7X->9|trw_D_r-NB*AIzj4WqyE%krGFU9=6{KYE+w0 z>U_+hgNnwRUxwt2?y`Al$y@({Di%v*k|L&EF51liQgKB0 z3?jQceY6@~54_sDXSBX2@GP+UV>~59jS~sp!5hM3 z$ZDhU)czuflE1~jQE%WM8O5@cOA8!x+HONNl5g#c1cL|xOPbtY#7D3>5{}vmn3ewByrOviJM(NZn`9K z(AB2f{m^pCzs@8R972CBCwLUMg;`bbsIvMM)3kql3^6F zzk*!sl5noHQFJZyqMa3F0k@;0vu^uxbS%EOyPdkYTZ#CWutQ^SN5yyB^ANwD#s$ZD zqs38|XttyN)nlIl0zMDjfimb<5NP<61~3}K8!iVuoL(f^V7 zhiM9@Wc%1DW_)n8^dk_S30&+CN2S-0rB6pnx2kunkASSyU^v3~LdK7>q0N#tVYm!~QCWHv>9ZU9F0umajV=o3k61&idJ6o5;-v#OIgo~{=Q-(WO<-V#hKJ(ao?AyIjE!OJ#XZq(c zD`F1j&)|mJrZA7~gmLbf$9@Wz`01I_Gqxs|SluR2Q$fje^jPf&$CV#k4a}(H@vk?2 z@Dt?7nkGMDn*4}q@*~>hzd%{E$)_8~;s*~vrNaGSs)zW&3N}psrsD^*Xxii}*f9C* z2V?hJOg<4<$(I%H4%sZK&=($6z9 z?9J;vGT7brJvgo7TV+wY647m6k2w1e>|=D>FC%WO|Jo2$>pyHCp|hpef3cV7;GE7<6!}-%S=nh1)zG)??KO0jy$3^hv*JVmR%_Wm zgge%k5!9R3myU4@hVEPF5uJ>8$4`a+EHnoguoQwQje)H{wR!OA%Fd zS0}e8A)c;(YuP1+eAfW>tbZ+Bm-Wc^7`)04v&%PyW^ulD;yV7I>ucTi`H(;zj8bpu z#^n|{7^N;2`?|3~Xm7a#H3Y7%UI#4irG5uM{3&F)8$j%DXB!i9>7deYBEiBn`}i6F z!|A@gRrZ3eVc9zxz!Clx*a3)KmD>4|BmCrtAQ|;v{3Fv-=n+RfsmwGz;YS=_p)A_; zTt~3>Ht!|a^fpsR9Hc8b;vl`s5r={e)3fOuajf&&Edh#aFA1@V{c1;MtTON-m>Yr~F%Cx330}?7_cL_u(IP>u72bmEYyj zT~O6LFOODI7TvA!WPIxK=;;KT-P-r^D2XnYM-^;z>rLnKD2t}MwStXq&6h{_Ky`Ju zCITzDKO?wX6TOF-lStU?Ib`9a58N5E6l#u=%hlHY28bQn3d zA~xcrv{;c-o!Fa3di3@PRxBHUiSLSX2QX>ujpL0R35Vq`>3k1Z*U~MrM@hUIxkh5` zrI&7)6!g+@~zy6g@A;Bjw zCU#tNIw8`CHj2y#CcXhVmjNg_(nyb&ZezJKH0=UTlmXqXfhc2RPB!?p;eBe>(ZH<5 zXPXhkThYOq0L1Pzx=Pt0rB_7H`4cd%^>^9sWfw-yp$3Z|gKT=;?dnvKv(=RftMl*Z zSfJ+q^(Rns|8h6iIdm}0&E@WPmu2mCJ755$yWQ_YyWK?4bGNGoz}@ak0J3zuRTksTj;tdNqlGGt z9z@mFO@}V$HVe09n1%R`4~soW4}dD*c0`-TW*Z$Parf7>+B3EfCTpd}wiW9z3tHo;z}iTBMXCbdjM8`-2USI^(zQUV zLE#!?_eW%~SY`Xen$s@@;MlAEFd&mh;NPgZ_*eN&+Zu4Ey&^gi|L?P}xY)K90*weh z&PTX+?aSeoJ^r@By=%`sD`Nd36|1Jp>pF%#+#8Aa&BXg|{5t?Qt_Iu(-sA9J@%|C< zzK?hlPVt_2K!kCM_q0@uc+b%>RALO~L-*3@u&o^H(>d-*&$W!SJ3pj-Kc4gS(nL*j zc*@3#t*uGh61%Ld^v6)>Pl1cS1mHyg??qmt=vN-WBn99a`=0qYUL@_$8qd3W40e~tma#~!5kJ9+J#VBtw@2b9BjZ097rWIoZYP(b9bY74W;So> z9O^k_65Y12^w<)QE&MU~X4t|~e_L3ZwuN2DCbrO3@Z5C2ij6Sq^aW3y&|}|D)d_v? zr{p-}mjciUlg|M;>J|K>{uk%|hySXN&_k(+Q2#@a?tg?!_dgYr{zozVcE*2?zkiei z-)64(`(M7DoSp!!awpDXkxSs z$N9x=O(5d?iRkfP29HJO;@__wVmdB@Cv|VZ%~zt0(5Lsl{FJRCB}jR-M@LHWdV!x} zKrmSx5Ap7b$9XwYhKG3n0FgK{V5?O&jT?>(#HVNIa;NliAZsgYH~a3gELrYquI_7497 z3BRQVZw>EG!;J>~D?Ep+XrM8^P_ADf!U?QONU|nlV1E_2P5#I1#u*KJmUPR2L0No8Hk^S(;@W+h#vbE#QBAu2dh^QK8W~lzY1w|JpLx<3=$&SYK{-Okq&9UK3FFp1WD zOl6VyYk0vJc3iI-O6&<_-SkNtJTxqsh5&Cz4ujyU&!9e*0}C8RtZ{}bXn z(Mn=ekLjE_;*#4>w?*@tI~8Hd^pTV5;COegzDJ`|XDK zzhGnRf0gd{IN%{R;EzjEtB#YmCT=A*E2HcbZB2ZDQza<{(7RLVS4NlM8Av5Pr!joV zGyOy{R2=I(=_jb-Tq;j>A_a0MVsKW?Zz0ifToHb=+wo^&bnHsP%g;VB9{c(p#zFHb zgW~%_dv`N#h3zV_q_c$%?33vd704wr*lo8VGryoTNvc;8EK+^tflDCGVn(wxb(zwf z?vdupgW^|;G}qYlx$!Ba^{>$VbuQmefox5r9??V#G7aCciJRlf7i>HSD=&`_AJPj}? zRrLFqFBzZSn_}u1Iho>83=myKJw4upk4&|kkT%8OgbPG}JO(x88Bf=gVYU6v&b4}f z+(0@W&Q`q+B=^30j}Vs}W}2?l6oOF}?WA$PSNR|HD};Xdx_X7s*CW-y<8$g6syG&n z{klgL=~;492i;#sf!Tm6yu6h?J{eB*dCx*f(S4 zj<^Sx%6K3>z2K0%dM05Q79uUGo{1J?q4r;$4~hJ9*&3(w%Ow6CJn6C!4Ephk;d!}f zCugx+PUi*mCc5vYc`@k6>u7rRE<3O5iPuAEUJP2+pVCu|UijRN2Q+?W@R~6q^_7&v z$(_+UQq7sJyqJ*#X&E$wl-X?$8lc~Q%JCk1FU0vv95aa#KHY;jyXLdid*s^@=Pz>T z_#=q3ldR)!BhFvu(DAJY>KEA0QcKgr5a%y+=y(!w{z`|YKM!$!or#WjA|N2Q_r5oceHl8maqc8KzQ-22lj!*Ih^N1#)nk7Zaqbj4y%TZnG}WpT z{TgxZBs%>ch;t{=>BENTHq-G6#JP!>-rY%NyE@6CA)RDXH zorDoR_7frj_o^Oy;Fh|RaNOu5^N_%ugg>v2ThEB|Rt?9|GH0e6R$IJ3;(O2684XLl zJU!?!0_@IHut9C_qhuept8P4w^Q$YkyY9CLoO|p&ko*VQiW;Zd@?OOGHeLmPH1W)b zk*0t4!FUm>btN!3GP@B${3sB26L1EA?-6hjfX4{95x_G5teA_%jG;L2;JoWJr4_sC zQKO9Nq48IdazAi!XE%J6g@D}w{DP?5%x0#T9Rva@*24@R-J6FLX4WChZV+Z=NooBR zwtQit9jHj^EfyARqD+li`xRLEe2`81PUkOD%b;%i=smUe+5P|6aaP_ml+{0I6j;xw zN3!znD-i9m*C5W?FDLDH@lw+sM5Dcn_iYp$`{84T#zqdfAv#3bNWx!%0FZ#n2YI}a41dmN^U0=e73vTYzG|43sb)=C>k5{Aa~mtOtW zk<9QB3mQ;}>A z9A|=S;J7;VK{Rmgq@Mg$gFx>g9YwZiO0e`d3&5AaZZN0^m;2};%Nj{{V%f*&Y%tY@<+*y;Q_OOW+yu0IXuRH!Y>f@t59e)NPcO2**Lc64fP#L{eLn|ap*B?)+>h+e?GUAd;*FO{z zc^vvTx5i7gz9eIo&F8U$E9qT(O9&3Dg`1aX3$2!|)LjMCIGz?DS5ujo2{R;MT57&Wn(!<#` z^E;h&G`%^=4IlN%VrJDw7T+oLG|Is5o@PJx`~#J@H6SGIf9`s$-xdePp=F%Nn-uhF`)+%Nl%cI)CeQETRh0*y zmhL)Ka(WC(Kr4&zPqcWF$+he!o{6L&r4H0gX;WG?Av@HkSEvqJ+3n`45{<8 zBOL4IKweVkLukh=rrP8tkuMfh=W<+Hc`KCXB-&S-u6W)jJf{cMc_jR!edY)0k?Y(} z_InI5RCOK`)XqJqb88?ksq?{HXVoUphW>9GpNoVVw_vG zS?k=!bxyalt~1RN?(uxxNXI%dkeAf?5~?$g-){Sh)!Jt0_`e`8yOey1Fjn?|#sUae z6K9H4%CbER z-f5}S!RKS-ctWJbp#2&SLQCHOk$D1Y-JT&vEA;c1Kruu=UnBkSSD?D>Z;2!v=c&f^ z>d?oK&Nf!RI`l)teP11#{ku_+^zM72gZ5pJoZr4E(Nfd6D9JtoIY|G-$0g|xpk>BQ zJf+c((&^_76*hOgphz3;HS9%t{Qkuji?8l1+{M(^WJr$Zyq>=nVVGvzEUNoRWul^*p zA732(h#rIVD(Mmi(QPjHuzK`1eN)pzSba7%c{eqA!t~eI=^INQQZH{9B#+PqrT61S z11c1KNhqljm+*fLFZGr%sQ!{JVGvzkz`NGokEw7(mG@wG! zuY{5+aS8kJqJe(BnVOLPA)%y6T*7|5Xh4Oc7YQX*;u7}bMFahMGc_UoLqbWDxP<+9 z(SQm?FA_?s#3k%&d{{Y>?hS+F^3q8>SNb5je!OTvg`!spB~{`Q_BH;qDyOgO(a&Er zph9WaTtmt2r7srV%eT;YkUWL*lYE8p%{5=K=z{q4HD2@-6b6+aL?49jEuY@z50Wca z{N`GIu5uTPE{IQGe-t^w`>1}?mJo&~qxAJ={Z=v}M&6jU`1krD9<@c4m zL3}qBKB&F&#RtisFCQ;`p?q`AS1h_9K7Eb%>dPAsD&I>N7Vj;e-sTUJFD!j?Ek9Se zi$xd2r?2s!Rr>|iBdmN$?`?kJQ)sxklwYWvpLM=M+rgW!P`SN)3XKPqzp3H9_3LZ- zq`Z8~>21D3^XDsPU(**_k3#eHb$$Bziw0CE?IfY3N?gKzyl9|bZ>A=se@G~45|=Ot zAC?}JF9;vTuea%&TDd{;d|vUrZNI+Gzq#l=Ob^AXM_4(1onEYZZ0>yeTF<@ZpRay< zTV8MT=PU2$mAebin7{-57)5pe= zCrnQpJH1$X39Cm?Ibr#Fn;ul|=8g~3OJCP7to)6g-q-an7XL6k1(g$)uea$z<@V!6 z11c0fODL%lmoQ&^SiVg?J>UBF(~AaFDD5kuq)J@E%^m-FsmJEt4*l|r22?2hQbI|U zxP-;R7n@(PTfd@p(TjwAjsL95>Fav*^A`=MP} zPo>GvN)Mk^ImPN9L3|3WhvbtmjDHwiQ2u_rXh4OcM+qfW;t~eo!_tHD<%=(NIbrPA_(Q z_O?Fx$`eH2TRHkVe~{dp8a_-9o0_~q^7Pk3X-4!QVUWIxg%2yIx9P=_v#kWhWcuY?Np8C4{e*U5X6-s+ZD5(;ca8tu?s&eJ4r~mbO zgw=mzr{~+ApI7>@cGz6%E%lHvNN!1&FpMrJePiLn^Ve*Bg zZ>seUlB*vt8c?CMuY{5+aS8kJqJfR0x3G4QbO}XTi3f#2bbXB%d4kI6>-3;<`|+Xy z6-qluD5(;cu&?o(N;#W~92;BTq6Z24TAqIXq5&0(-X)Y&iA&gz7Y*d6xBpfB{jb(r zdWqCu!hXDHAiwb=xkQf=_TxnZ{rWUDA^k%_Nt3vQ{dm!U3PmpxN~**q%oiV)Z&Odt zx4y-q?`yr}D`%KI`SJ^*4=X1uJ&13<_|K}GeC6t=7Y(RT+DSr5mAHhTSN!L_ew%x{ z^|z0EoaWn}{rc;j{_@p#zV!X=vuU)Cv_o&hp!V-AU&-Is{5Q37!s=USdQiR~yy(Rn z7MnhZUti<&=0(xsvV;!{~$3`x@_+Gb|n?Pgp*0dKjOe^nCH&awQ(bN7B7v5Ph-m-txlY zLFId!Cs9Z_+hGFzU>3xm&$|>=nawXjx zhS3M5_ch)tr^JKGm2__yMjw>k*Lbg-5)Ud@(!F6AeNcK|mtNvw`GV5(#c!!p);7=2KBU*knS34_X$bZ;0$zp?PS z%9k(Q#;(uCD*y9ZuC#wp{rWmRsN8hqx4+!}_9YESe<)TM)UW#S zN(05xa}b{(JqOVj3*TREfBTXKiq)TlPguVSO7F*u22?2elu%M7F5$+)Z|w3nR=tDD z6@3&t>}`3u<`1IF7yrLf|FC)%s<(XeZ7h1Je^B{h=|TDO#fOy>mi}3n7bZ_wdXT(f z`NGnJ_-^j_|J8bL?(LSZ{Qd2$G}f<&O@S+C^gXoHdmvSV`m#^fL zFetyIOBh7g*LW#k!hFk3GD~C58ls{j*@Xa@0zVu<`NV?42Jw~j&wChD{~&xeeMo-s-cd=(S%C)wBBb z(60y5Kz~2z?+5+;pnn|n+kuT^2UMxS{Vymz2w!MB7Mow8a!9^h<;j&!_y&bReDcNj zHUDh#$hzAbN*)SHK1uiDC0+1BCt(mi*L0yPb|`Y0@=H4q&Rd?)d-2}5&{?;v8Zlts z1IG;`)+TD36|%9tA+adgmYCnZP$8P?7bpOE z>Klnceck-p=H^6g{h3xvQiV&-wCc{Z7N2P)LGXp6=e12pB*s@vP0_YCHn-F@wk=H5 zSIwzym{U=Sl&0F6`XozN+csxbt$)Uv)^x@>wP6{@k584jG}$u0sWq9XncvjXR;BnS z=9BnlL6cMTt*x~+jV#|RpJL`!P_}uLy}6}n*>bAnELF?Nq_O7qw(5?f=OrqpHbLFV zng&u|U0brHrmd+(rBu`|u4zfMwbazLwN`gj(Qnd%CdyegZ(?FDGEb>%YE8_qX-!sj z6sdp-;680iV`IgXaTVjn`Igg;q7rqjHEnIntp#;0$yx}!Jki+HmPj@<1Bd>SOe9-c zbQDliOQN=^p}9V}td7&`79<JD06p)glM^8=E)->1DQs&mSnwGY7w7DhO)SPTgBdC9-h!bhBExD{Mv9JzZY<_zy z>XuwuSDQ>g_?BdAQ+o?w#-H5^>06dtwKXmH-`JFBZLeLd@_{y`5u~&wYK(YYt1HS1 zYiw#?v^dd_Y=8=(xYp&ZZOH~w9;vLRExCyBXk_joUVI|4u)VEaDcht^U^q4=Tk2{v zGo)Chn4f*v(x$ov(~~HoX?b1aqIoRB;Zn9YxmwE-NN@y;6qtOZk}Q?p(A1bjb1k># z*ELdrAw@x3Q}c3*)J!1^5&92+j@s5*1Q3-1#2R&!!w#sC;%9@tDX~D+$ZD%=Bn}JO z8yXN!=U@TA4s^n!+Uwiun(I;0vgYxL<|aU`ZFRM$tJJx5ix#)dTU@uW?Zmpa#q(4G zcg!Q((JeJ1kpOue^@Fy$g(%@@6*f{|Iz356Yvb2e-^z%F1)zsLZA;bwqLGCDrND-o z(~}Z8yuPNjwXXKC`bBe^>g#GjX@FucCn0-VQ%wbIr!o_4462tet%4z~ZEA!`Ge`3r zVv}ixY6Hy>r?|{eZFVzMtOCN!5S5cy)Y891nno>K<~PiX>1`CLfUsfSu?+s=f_9XaXj^90%x_&r zGs7~P0ot0DS&hrAhGo_gB5G(_3eT{8;letK)nm>lsI~6Qqy{yK#A+5GdGRu9d41EO zW!BjZ?U?+nhMIc#n2AO8P4jE&6AE`W9Gv!+);h4)h_o2?8;1wJmQ>vUP5lpMdT)n&}$a5=4?AW1pC4-%^ThqJ2y0D--Qo zSpHSY%|vryZX+0OqO)Z3x1406jZBkj7q>JuHceU3j+InhQ)BfqcsG>{SI=HnQAL0F zEjS@orZ}Eo10pzD=HF+hWS_( zw~-vp^@ditfGorfbzWjMo_!gc&1FdLN83=HJKw{{duS)oI&g7I8hd=r)MR7Ld@S7S z7FN%mj{!cXqXYBgWDvIGM0vC}Qy$-Ue7))RGS48&ab4)FX->ubg|heAu1v_qbuZx0fOVwtJ61wu0dK0xSbC zjxY;}w5Acpj%FZi)mqq(<$dlku829%6HDtrM|QJ*p}@6-XsMz9_!9$xoi2R>fj(V< z^)c-1qU3n={5I^oC!4F>8|8D2tTGR0_ewp^u8YCM<|dQ_Gp%>&=RkyUDO{7$^kz1< z$cSl?VLEHtaLm!vT-7mm{@mI*wR5r0($O(@78wcm*z}$M-G-3&>gFt&JFhA+cgY;C zx7P+tfeoOY&_+7%m^UHePgThzMrC}6-E|s=9arJ(*1sx2nH%H*6?#@})to7b>SGc| zRL@2SOSf&sxc0`nGuo4h<~E#(%sFD|oTXJ&l`s;n?I>3cx0ZZ8E4P+thl@^^c=J^b zV9dIj@)X8>3eW#&*v3WJW#$eOR6ywLI2XOaw<#;eL6>b!m~4|RP$Fg#(xbP*HB~#T zW15N_D$K8Gnfx3o#gJU8=J_qB=R%uN_+%|!I&-j~pk*QbXnQkRjmKQ8H;&oSG8_f? z3T~}=hFp%FX)>L4)wGcBq1p9DUc-~|2sb&yUiy1SRU(j~%A$yt@{3&6bQ=P391 zYdRy!>b_M+gE(ajPQ&>3$?b?!F{Imx~VV)FeOeJ zTN1FL^-0%~$K6MA)>=gcJcpLHR?Ok9BY|RQE=S%u%ZerXf<6&68)L0~@2m>#FUqE{ zoGT>*GqBwY>a;cUip#Ir+?jEY`(SLj%*al;b02gCb=y;Q1bkm+S66( zy)k=Jo7-ElB~cV!HS=8Zz!bpsYHwsmwl3|-nzb#cAIJpjzeQlO&qaWTl; zIW^13T~|Ry)y1u#zLFE?oZHmbruJUQV7C5-x}u^DdsJA+(~+QI6OD%R>B~G^ym#j+ zTVYCSd&grc@gNft#3zrtd@dVr)~BG>cUkxj+!$L*yU#WCxDeBd&0n}4OD!A))GbTY zGpw#sGPsad(@CT+Ou~Q>koW@KisWr)7|aD=L#N`ci|ZPYmZ)E9Euk=ZMtdEYw%}iV zJ+2>Ee27iC=e13R@7sV2U2RFCz(2a-q>{)*_OK>ywe*iDWZM^Hxb0b=Xllg0JHA1g zZo6u}i*Db(89<``iS~X#p1fQ!_Vb1_;7u2huh67od@=Z+8 zt1&+{pDQtR6O&2`xZdMmO#UaW1r^g*r^m&rlxIgRy9z6?msGoKSqr4<#}(WZXL z_JHn$HciEaLAohfyBJH4dE*jum5llL7<7P~Etl_3TU9#OESH4TZ|Uk@fQV$9GAbeE zyE$PYo!UvH8xa}R&7IeHlUEbnH=R#=mc8YQmRZ=|SWCz3y=F#sp&64fjwtgNOEovG z$zWPwY7(u@$=bSwxD!SjhomRi1xdo?_S!b=`JoxG+p4j2HMz>{1*xmm6Zr^5k}4)7 zm(?blxys-@0Y&m5FKiuM5i%0hKA($c1?~9-{jiKR;`;6E?HMN2M z)7nZiD$O)>Lw` zeUMCGiw=V`DV$H?qV}>}C~FN$rRbD_m@rYDCS7f}?e_nah za$_0!wTy zG-F+X8EbRQ7i@AXCaCMphc`7YIH9Ix>im|bngw)yNGUZ-#tMFL<`}la@XE+I``nIJ zDHW;^z9?PAwC-Z7X46^`EXJ#g)$?Gs>uRfUhFvuU#|UjTST|NFqRK=yrgs;5&JjzN zR`L3X`*y3t*!o)iqB?}IvGug+V?iKwHe>QYBjOx@!v za2%m+Ixfnqt5xJ8x3?zgX{3dGQ`r_M12cPyI8*N2Ja;e@ePhx_tsiQ*bgY0}y- z(u#5P{MT~Lm~ZZdFn8ss%{xcO?D=T*Jj=+ELpwp4&cXPJG}SJxsmJ97&nm<4DkfuN zqoJ-fS-rF>w+t0D`8U_&k{}G`!X&S4CN|g9DSxzrHcc1Q@#17Do~ooPk>mv>DjVoY z1K3X9{YB$1u3LahABHal?pz1hjDL?2*i>Z7Hq=~ek z@-k{l_0Z?5rl*#rO0=b&OO=8+2g)AC*jIMFN2M1FY8xJn=~`4^2&+{@&T_lClEfJ+ zmE4&6sCHrpo;-H>BRL&2RPsqkwtW6>LT0|qZN2mcq4D6hz9Xde0Qr!^7-EyuGqMkiYtCGL0$GUaC9}m?r!$JF_A!wY;Lcz-H?gp(1$S;;#@Ek2 z=1Q)OW3J?|zGNA5B?ot0%w}?WpgRxQb0Ifm&xPEO-G{tlLJQ_Uy0*_xVo&T?Y-qWn z0*{Qzv(@e-euY6FTWBmg>l)d(H@3C9n!ax=bZ~jTR?f$agj(p}BBV+MTIgWLzOuV* zX}EvM2v>h_(Q8*JXL>!Ja;Db<%9ma_ z5VI>PXeSldS@8t6mQ+&4sg!hrHhzKoC~&w8Hrc6btK8I5=y+8qJkYkq9(k0cW=i%V zI;!B~rC02kif_K+vF0hQiG*@L4lWkzxus zL*vOHK$tXN_7;54=KTE#J;?;{4eU}d-fndSQ1aHCrc_-?9Et3Epp|XO`ub+2aQ}S% z)iLwwUYK5C>BU&v;->aiJT`>aO5nmfdp{YZdNCGE>arKwzR<==jybf2$s>ohF?r{9y#VP>XBm(qaJWr)L~Q3^~f=YQI8yR81=}K zBd1Nm$#@S6y{5+;AgL*%2JcI1aHps#!$=6T(6mNRv&l})Q${AWtDoo=p&1Vkskh+W zJq`1l>O=cg&h)x9a;Dd9;Y+XWjnDQ##W9(z72uZLb<9%1r=WG%?@^mYe5UHY zsp4zB;O=;KZ>y?mRY7voBXf~gb@VK{z2Q$cnNQd2YH`KGMRv5RqvnR`Prb##>@;Gh zvoH82Hp30cmd&@KRhilFoQmts5tG^*u|##T9$%5Bp?OrlR>Fr8H=(kos~sL!#^9A_ zg}J%v%A=GB?X@=38!mj(Dk{>;?bE3n$lj74tycw8@ZKzXjax2C@TGOBA%G%4K7VSj zgcEa=E`!b`Sw^Z-l7Y^#af}?ErpZX5cjvX@g>mRa9m$&0aorqi*i5RR=F6azH4K`# zcpH9Gnwy%{C0uihMsF<^w#o}-nco7;mz}R}X$^^2%_Qm03TfPBGyEEZ?x*0U%$dm+ zyfZG{QZBQL3*~{QShUlEx1c1{?e&0cnMYW;WXm|e$|ckEjKiy(a%G%c<&rDo*vc=H zp5{E43;d5mD;L(|Lb$8VJo)_XyqPb<$A&vzfkwjfW$n#$!za)a52W&QF>)i;ers;T z+PTP$SbG+M#M$~RWlA=pQ+w5s&Xn0>!!u>{*YGTvy)}nC8GSW8PexD8%;N5++1(Ld z{^_3NpD&=F(sI+?1APx-f{bp}6f!mZG``u3`({?iT2zpPw3P-=CG#kYk7xYF_sx*! z3>Tsq5;xB&$6bBh%9&@1d^M1d6iu^boFV!X_-x5yc1kXTciNUTIrT}~(z_{_E=bC) zIKT1=Yv3Fi=hqZjn9AxQ`(2kxyj2CSl&Kz zR5Ck0VHHhZmdG{7M!zoM7E}#JV~kadqdR@-P%*6b6`SOR7o(YLYVi;Uo>VuTaaS|D z2!i{w(absK*!a!t5>(sVY#SuFsG{@~xEy zy11#Mp{8*;Ht5oqHH?ETo!j4O_2!nLhQ5SdgVy9E*k0HtlXdEP^Q2|$W0+~s7QN)m zM3Jg-Teu0&@$q%xiLJ{Uvk=r)WfJHvk=0yCcD zs%*roo5s7kn^tD_qrpk)ivrWLX7z7A|E%)(0iJR3F!dM|ck0yXP1VQDqbs>?yx3_r zEa@cAH5ntpydslEW3Cx5tk~pBQg*EhmCVtpc28YhbyK7)f*Y+%7No08_gP2rFD2)9 zVR!0m?2z*UL4;LRH;;YYDcDS@ug9T2F6U+>sO?1WhKZXj&AB#{f#U2Xr7w?YGYNjFH|hjDx#(3-`nm}B z2H)!S6;=VHF#;F+B)!dp-oBG3Dvrfu*PNZqTou)0Q z8<{yU{M8(m%U=ceKqwYl08FXna z^(v$c`k*7{Ai|6zy8yxruhS(@`Uuc_kQ~5ny7xFPfX;ga=O%MGyDovIq?!ZXt}Dge z92u!*b9fU|&EZW*d(f&VujR{W>F5zNpF9EOiIw)B#{J97D^J>W%(|1LOA3%OWbSe| zo<}PIb5_cxw@{AyPWk&L$E zp_|{r(WR(V+x3=Fy6t+)N!PBx#cXEnioqzo=2x}z>rR~FI;BuwuypqVpIcX12-Hoh zEClLyRTctuqe=+$PIc~Yk*wqo?HX?{avglRw|9J}argEPZH{GU>GR%5f5m2Jwnx~r z7GTQm=8Jxn^~rdDw))6nA{KD`J>~kk2Kp9v1HFDjeW}_z2m^8~3ClqT@%lK+Q`mBT zZaSpE;OxtKmt8&OQgG>Qy(_)7ci9_ym%YAs*_ZS#dtL9ct4S)b;bhKno8%lPiz)K; zbZ_tX=bEFT59Qjowmz(Qu`RG9MSLD2Oq1R^2U+Fd7rUt2up#A0<$~Cg`OI?HHiUaI z?0&AzLp8|H^oMcIxJiTzZOKJVEz5(tzj3K3ls5C4FYQjsN8tlX@cX1xdNuJhN=m;r<^14k}Smf#ex;%_{nj8#jSefm+Rx1{LZgzUvcGcu<|RsstPO2 zc=2G4h3U_L7FeF~4#T3CmrYUdp~DrFjX_$|!95^{&+aNVT8F`$f?XNq2^Er4IYEWw zRQ^vPIhE^ENKWPT6p~XpJcZ;`zD^-Im77yYPUYbgl2bW1!8vh2T-VlAL$~?Whxz#S zVD<8)Rajc!E2;igEFc%&6zHEzyq(_cm`CvBQq1utjsmvVL zD8;R4u?h{YD82)!Kbq;=6|yu-NX{%p))!o4_MBOYTvBk6*>h$ovaaAFv**lGSxe7#YWVdDdNHNE z7QlRV13TGykHI1pk-ZX`t7X@9=qb7~Ed^Gfx9qbBpZ;d>5q10lv-~xjBa19T%vp-g zh2B|+dcyK%DHdHLpKYk%{ULtwZ~lt=EXprl^=Tma?q7X2wJ)UjER_%1r3-Fk-UQ6Q zk&9YT0Tl|=TaoKiNI4Zo zU}m*(l{GUxhnxODB7IjQV8ev&q;|B_H1ne})pI(knscO_l{;x|?o6|hj?<55(%0Bz zMH(!vNi9pl+^A(Wmm9S##B!sSHB@fYvi!-7I)~*+Zj8uu=CvjXWSif|^a9ybn2ibP z(Dm_I&*c9z_jcWF^yZrznGv9# z)uQe_9YEs7%w1=$@?`HD-UDl$N%=IH)1b`m&%<;phux%mv|jgB$uyO`6Qd#Q8BjXP z>K?!&%IZV_K5Cup78B7CWjza}r;m>0?EbE+wGpo2VOp+j5cDJRR>d|pLL+koc(3ZE zr?5XTM^DR6VGOA{lgRy@{6f-LEzY ztnmw?tDVhA0j=-z^N2}x3i{p(N#QtHF(IK^HBU&W4q{A5h#b}3Rspr5%|CGV z*W;_AE9+=ZV5M|UON(wwJyIsk->uvI+Kuc)?W7C6xite1pw{KB?_!gyh0nyD|H%8r|g zEo+Sk9yqrwvvVxi5qWPlJO}DwqJ7K$^J$)ld6;CY%j3k<`Gk(bH;O#S#1|!R z7~e2?P8rZALtKLX%Vs#SfEb>mbUqhoH)pvoO~*iWC_4?+2QiOM<3B-21_{Y-D~+A5 z+%pIofoy;6B)`I29nkdO-LtOD5JMr;u$I}3dU@R`HMt-hL? z+d$D!hVJ@iYF=7C>k~{am)StUZciVxmyn_+cfLUcLj>GDoJ+wVh9MF*=Tb0)V2FUP z=Mpf4V2FV1Tmps=3=wdDE&)Rbh6qT`C141_5CLQ{t!)}i=;w{i2{?zybTGX$i5!h_ zh{W!Mb0&pj5e^W@R+*&Wz}(7X2xs<+XU=|f;R97L&sF$~W?xqH-=83@W#|B6y6v+g~A(ir%?F5ajw?=i%?V?B5k<GR@nxY!4x4&k}a>EIS#Uezn>BNsMH)qY8IFU3#Z{RLYxwcTHI zYs}Y0oJ6ba4sM`)6xqpiHyfKwx5wCIxES)~1UU6B863k$^w|h&USA~y*tXF= zZhuDl+BWWdEZQ#4i>Nw{i2I@*lXQQ`@|}-#Yg5;4>opFCQ~X{8;HYTEjkWQek6P{) zXuo6Cbt=~oVGo6`drun6V^BIvjJe0!FB7A$UMkP=$?&SD^k=wa=tEnN$6lYv*XbUE z&et*>B+i(A=#^G?&ah={>qDDp`aZ~bo6b?^~^x>E^@aB}tB7OU6 z?(I5F+)m=UBQOwm-7UwtMh-*&EH;AUvi7agQDe@{SUIW;1FDdgF~#dD0f`;6vG*ii z82)LBHeRow&M4V;I{5g~q|P-e3sXy|lQDV(Zv%-P?j#DP^@Yhhp9T{kWZEht@V0ldSDc zzPo##Di6rOS%A=b55Rw3#nC*o5oYlL6FXBd>wk)hd>8J%HJLPv%Hn>wRuITxpcOiKNuHjG9S zec2q`Md(WYz8$40D~-u?z9xMXpRB5x%lT-k+w#MFAIN9uqkh%CCz<9 zs}F0}!O`BMb!s|Vp?{+=Ncb!Y1N^NA@=XC3r3E~UWDv^ZLtfm7-Bz<6{26(YyUf1) zNSYPk>p=eW&dchYOs5Bj>;AQoIJ%X=4%93i*^;-}oCR_6x*i;^f{et`EeIQBjB?sf zU$Z(cg*J4{-ZNkVl3P3W=OQs1_8mO`*3uu892kn*EK#2SmA=s1YXYJ5(!V|i&x7-a z`}|nOyHy#LX@{In3LcyfN#Q&=KRTh-aZbt+CtfCys!dSBa-1aNa4xHqOt^TcJtdr{ zpBX@|dskZ+7&!+0GJ%2`jXbF@8|4o|g7at^Otz zk1FGv^x_#c+s=pH+el%>FpYF+^gXT7l(PoK*l8_su}r$H&_vDp?~|7Y$+uhJQm8f2 z$vvFZ49#r%0Huu|fUuM|CaF?Nz;OnA4fqzd} z-Dfp5wc6L7np$mXPfe|Mv!|w38`)D+t3B+gsnz!N)YNL{dTMGVgicMZWI11IBlTG7 zr7L)7TF1xDK^bg7<+NL6v|Md>Y$K$?gONzf?{O(ml9dif!-iW|)WS66B~%hHzK^z9 z2fZf|EJFqp4UL_1Flf7wGicCeA!lIFRv~9#&_*F=V9+)pXJF7KA!lIF79nR~&;}uA zV9;x&K@6P8g%3y2sA*h9w3!u@m ziXYPuGn|rAF~KP*74w^tQZc$4BOo~3 z^tyGlZBJCnQD9`G*12`SUb#^%)ZO-C4 zF*J+IPCGzavkK3{smOemVbEWSADLydkkiIpSZOYbyG!=C5gktQCGn166v^dhqc{CH z!$);Lo@qm{7w7W~h@dPd_S#_FBfD2G-tg{q?d)Anz8p9WxiOwK3-zN6?yhb$&awv1 z7jBI1vYv%f6ZyRRU;U-|pUAt(+%GDB_7?V8*o-?zPs{qa&A@(}I}g(#+f8`UOqy-w zL+xD@s0$dJ+(?se8s(CxduqSQj|cbH#@GBsGU(QN6D{kzZ(psKY`exUh}LQ20XH^K z(m$k8nca0%>81laT#URLoe&xvvGEw4(Aap4PN)^;ui!8yo>a!s2~8PCCp2a3O{hmr z(;n-z*lyc9EKWd}DF#9&p@1+`^rCcFq>+O(`}64JPBTR>4b7VJF|aX2a9lUBa!u?d zz)=anFh-l>$K533QfLG0>QG=WRRPIsEw-=Pf{|z)b{9{tSzZ@hj~Ay|UKiTM6*a4w zC&!|Q%BSrz-?Rs%E1BK|8kTsyWZ%;@nM? z?~*jy$3-l6|6Ge##hd@`bI!==p^MgVzqfQua96||+J}?}xZ1l}ibut_#ve2 zu)@5pfGY#Qx%^0swbT*Pn$6 z^cD5TW$0*fSJREL*DStUqleAqz2!`8*1J=0P_!0ikcXx+-Pi}SU?3~o6Vs4d0J_(_8P;T(S+|3>G2=@HEAnz*)Z^XQhR>K4mL!Z|pJY9dBX_Nd*7q zZw}d(dl6i9ru#hcjf9@O&oC#xME2v0uC zuLDy%xxk_~^;~D3!?8X3EqKG$# zSLzuKt*On~uvo>kRKkN;gJrluOp~OzL9Crc8P~MURhII%G>EB5Uts-lJA}S7lvCpH z=5cnEX7h+feIoi$>QQ@@=a0)1ABx@4$D9RNybh<)iJ)1*qE_w0=%CBlZe!?jB52Yj zI?Fz~o>_C)leJN0fZ#D32mtR>9rk4CRQOC$v-RX*3N=w1)`QteeUmv2?n(6Zd7JVk zTGn`nHCn#soLKezI*Ad!Ez&YA9y+s=6KCKc@ZmI?DeU03?gypT=RPi@hj?@BkYbWu z8;6nl^!{}(v~~W!A8=B&Nmt&%^n)5Q<%T+Jeh;j|aQvn(U36%V&wknrzthaR&ct4_MrT8Y5ejMHMaPTxSYx@F!>vWNjm@&e0KaovxE`nNf zZHIIPi84MM;^aPB9}maEI|!b4filMq<{FOEuvTvxo}BycmD#r= zot{$a4WrZI-Jv+9yLj8lqXUc0rC`|8;{7__l%a@wf!`mV_Hf+2Tj#G`bn3dehCj4p zQSwxl*nQ4l?bP|DdswD!I;GR8-c=6Qu)xD5*2_&gkWg34bwa9clEw9biP|lzp$5hA zSBESht$V`nNjpt*TVFkx9}iK!jtbgVdy3Y|!bu|dh@~9n#5O96XIVc^qQJ-KQ9!pA zO6;X3XVqjy%%o585|&NBvCjNTcDcc%*G1}WayP#TO6uI#acWc-kP`Mq{`j==(&0qr z?12Hun&QrB;m@`S39&d7Gzo@;K7_?d7hC!RPZ5VXG zvNjA6N8G3ttskvJSSK@Sj&OgQU!l+865lk&;fg&Rey-sxA9rcXK^O1@^9l2Ea#;A$ z%t*`lqn@;PjNZse_*a-it4OE zbcU8(df}p8ELVR~Z_Rz9K}jXW|T(}AQtnHsTXLZ$;rdonfB z(S%F~lJ;b3gscgf4kYc#G(c9HK+klnJ*0Aa9VHD;ApBB!^cSNkbuv$%*f*^RXXEc7 z-jCp&@oA40(8DuBJ)??2)B%Redqp5ptK zM*fBt9n^$^UN)x*Mea5r_*v@zD#7N#T@#M~u$+}I5z_i|WAFofjN^UUi$jN#+A4@;A;gbueJjHc6E zcDw~-II))oVjkI{da#Cfs8^2umIT%agfS|zFXT(npw|%%V-zQmJrFBz8uopMiGaWvdgZC zU%^N+F5{g!%qmCQ=};rq2b2P{3uVfqv(sJ8VVKMTiBq_^o)u@iQZJovU@v^g;F&Wo zRw)ne)7ljUl-F)DouAXw5)S6-LofO)MO!^#jSK6n1?cb@?2?kqXxPleN*nz$3x<2s16c0 z86%N6)= zNAY6u^b|K1-DjK2L?<1Xsaop|vRb-u_EC0Gq)tMeMQsvF`>An+o{7|A?fXr3h~T3J z^A64Y#^|T~@~0@MhDy|yL4Qo{s^~_F9GNG;dv^H-3j9O!^t7-~YW6p!$m0Vga|*XE z%gl+{G~3Kq25;kp6u~skWs&!^LQ|q1Tv|+NfeU5Pt^Foq)_dO)V}NwK<}ZU-*LvX8 z^>%+;mQTCR4B^A#WW5U?7Bd4v7As*)O?O*#wB?+=X!f`}6i>;+(l=dcG}&d)7;4-_ z8codvH1k*KW0LLIWzs&Gt*~hrdLj@huUx6?y}p( z{1tC_#kL5n3CDExpmhHJs`~qxNK~gk6N$c}F{B#&#Zle=OiI)kI1`B)2xlTuqv1>> zYDk=kM2(9xk*L8jfW!zUujFPBv)7e8P(tWzfi2oof=LZeaB#A7SM8NuCVi78Z|0MP zM@6ASN<7IK6kkD`c?HUE-n@mtiQ9_W5uH!5{7g@)LYFt)jRn;-_ero;r8!Jj{;A*?N13 zjWeG68v~pYr&w@A^SJ;7W*{@ce_?n|%$frzS$BYG_DjusK}Sc z@_=zAiI&G~bHJ6k53z~K$~>uFH~9$;^pWO>t2SA$DO{CFLf!;BJ8WTh0Oz2y67le- zwoH*AVg$UYBsdQq(GMqNcyXsxf7RgeGKcFVA9($hl@H5^KchslmM#%Xu#6v2Jsb5R z583FW8`>CUgg4K_Z1uFm6{#pPw5rhx7jyCj^`$ur&zQpxQ?xAdcqO0q+QkLGSkZRh z)F_h2Sh}iyMNaV+rPZ(H1B#D~@KgR-9AUZhl06EOEoqoXKG2oU$1eyy^ z+LwTge9zyV{O+@d93?p72M7HhaHRr5=%Zx@WNAZ#>w*RlIYI79LuzX z#mL&ctFFurzhfToySjzeTfe8fhYWMJe#3~;y1)8{uo>`GiRo3cdTCmvbWrFFAE0Lb zj|#7$LOpr2srcoa?T;l~1ky#{jQnH9&cA%Zy||!wojo#uy=p$P^0bE`4n{R@H(=GM zx2#mp%|<>Ra)O|_PJ0QV`f$fswuL2+iU5mg#qh>u8$$6JNuAuM$u}ZA98uT6s~#)$ z0EKz6#Teixu$XL>;$Cd@XSvr$Vh@>0ryeW)hFgxw{th$Tcg()bV7^ZaUVr>IzEu5= zFG;?CA|u9K$au@P%OkFXk}y)BSyUK#gBW;Nf^%(v>DPEEZ|IS@i=FXwgNO&~Fn!#E z-SP#zsd@poDAwRG3-c9RW<@VF=KWM;heNun-j`JLTL%8U(ycl0gf z2k%|_>o)$Dg1~r%%iqCkl>;I9Mw_;Jho|+izAxUDOnjQRKcJzS8K8e-V~rlX5<^Y4 zC0pgSg8WkM;yuP4+5@}`C-mkv?1H7i^?un-N?D|Ig-;_q))M-^#K!wQjNqHGFuBuT zlgG#CZj&!Dk~x*=*ez!_9hS%U8zTGuOMdgmX9-rU0+SJxTo@Ucdvur+6ywkcG|wQ9 zd0b_85~>0x6QiE$GHg!NYrx6$hlzhiTQ@#&84VwFBEu(yEI!cLcxm+s7ttWxnEXWg z&>!qDE0xoYN{Kp_q^${6VjJi*9Qd9RYxH}0ge;^`$fL;a?!jl)GQoh|+-C@4I$E#U zlhkYaxWCdt^0tqVb3O|kC7u~)CBV+2f63#tO);R!z)u>>tSpi%2p;AY{C$Tj?YRSq z_7~8@DKEb1HyL@vNBd0t7KA`|iX#Y1-|!;#U`AfVzz2+y7gbm~;TpbifE)r5Zz}=B zP#^6iFlg4Gd<>QbydW`CEW3IcNRBHFn$jwvfe0&}4K0$ig$ZlJRlW@*%mV%{6QqSG zp-7_ELt#|45*T@&iHVyY(KK0%`o4}6JSfwt5Cszzihh+(5N^ z;2Z1ZPl3IHi^^jW$%VCcujuwEc69CZPt-HBJTVL4J?4ESR=SNXUHKrFZ7dAfBD>0a@@zU9^JP5}wIY zytB9xz`#iGzS}@fDj4D*O+K=UJ)pms2ys>HL8rbQcjTH4bpF(H*!VZfFr0Ro?N(CQBi0b? zn=+e<;s?SC<^@D-Hjr9LrIGE_%y~o<=WWW$SUcjWR$>U8fK0s;EkdoNRfL`nk(7O+ z1{Apii}M*T6v5+^;C8+pLmJb%JghhIofWgm^KZv}D>84rL%xw&r4_winFw^SZOQ8w zkripj>J%Y%9TjR7WR>xARqLh;AjL`DDQM`G3F{DV_W)n>r$ooagB7Sk_wfcUmn9Ms zkq)7GwlU#!z94T0kxdq6vP2>ZEgo|ThY^fEK2x6{u_J8yT5)1;K!l!FXYmSJ1x{y- zl!Gqjh1wYiuKE+?r*xYmO7#8_)K6)#!P@%{$yjZ8Kpw;|YG{>72uc#j?G@E)obPDH zm^U+wIL%^#1HBncpK%4_hpWYHZIIKLgzK?K^(t3IyD@1R86^`k8c3tY2um!AHtD)_ zU@mJ&5s6T11q3P`2CwI5x;6(4Y5?xU5kTEj$zD|p~e!VvGVW^ z5yBK?No3ymM1tk$N;KY-SqI#9Uj##QF$??tW27L7@f#@F*Sxglv zDR6Gh&Y^mhfaD+{Oagjq>n*j<5JHt5snb8TQ?U~z- z9o<|+t?$gmsqmkei%{&$#aEVBr~<2_J#UdlWTvJ4AY#Pz@Pqvrm8hIS_&^Y2m`a=yVQ89^Vz`_Y=^Z2na2TZB;S=@Ca(jY# z!4!cl4vu4aDh&y8g(R>p;v^CU2?&5{#CnB(l`54Ix{~z)%8+tas$c5*R0xxb1a=V$ zhS?}GZ>#z(!e%BDV`BZgenQ_ULGZ6CnBDz~yuUyjV?KS(?j$H1EGAN(K!uNlH_`Sh ztCxkv57(Yrql*0SA*9-ez3}xgLUw{!^2hV*u zgM^1)ObhtMS_ADb>Us1-XnMe-r6coM@Mp&#$Z4?NXNZRe()1gH&?56ewoW|UE#Vr2 zVf=nqhX0vFB=W0%PCJ6s%2Bmdv&*X(ewMkKcaczIqy_{w)i4xhZ}NXGIUl1 zROK*)Zg7Yhpz;g)C+PC|!g@3>O3dRV4r2Gm4HqiaM{F?GFI>%vObn_vIz;)MH5&mf zhC6?_bs#VJ6-u^H?ZroiYfpyE4VW2}n9heMuY4ZC}a%BSrz z--uD*?i+g8L%Kl`v2sAaf|3-Q4tTFrg-X8O#^pCgHs4fig&5{m01}E$C$y;vOAr+# zPo)i~gv#pV#-jwyo|EjzFemAS{NWWup#DA+#-n~^#|%OAV3P?{g@=1nRVpm{Lq=k; zDZd-}MK?p#&-}#>fs|-gs)v!tx9YW73FywM{H7j=H(e7wex6e4)!Cjcjr9~>Me&YO za>Vl^`UErP8JW-Or8sU<4pSkKFl<~Pppp#YK87yEOLo8wdK9{={VJFAFr|w8K=9uM zoM@5gDUkhP9tHynn9G=<1PcWn#MFUZX<_+$Y!$OG3FJW)gY85s zhHObX7;2%+kJzL^S+Vlu6N^*uJ`i_f0<;a~O;QqT0%|s388{D=+zMp(#lmJu76y{D zq`*cjrD7nDF%jzU@A((ev;bsTih7L!rN&}N>)e3(2|JEl6d@%u!ghQ8BAv#12L#j) z)F(;+=yXV{1+k*Wz7eqCXZbUJV*YRs88ccebC*n12%0$y!2=eLOoTrp@y~-rnw~^% zNrNJdBasnLydq6c8h1tzX~4ecFVWEpl#Xq8k8VJN26?I|_*IZM(?>8Z#w%H%p7JC3 zVxB;`##%>T;VzMc{kSwi2dSxa8)4#UHL&3g~8-eG#R=Dp^I-s1D2btbIteQzN+ zY@s*A1!vQdIF6;l7}2IEkc8n>r-bsA)b%F6Q}v|ppJl8PchL37J7_7xNYxms_GN^( zKWRG?z_vcuO=Y3e?MO2Xn#4eN0rd$PV3nbP@O-Va6Z@v_-7x5Zq&r@Hg=tZ`xJAmP#vewYBu6jGHgggCWRWD!i&m7kk;=o z^}?F!ruu$E+qC-ilWdj!EK+nG`}Yi5LbanAZ|dk@^Wp?8d=){Zn+QEppOQa$Vf_Zy zQs(yi&#ZU>gnkybV#4^)CJ4aTfe$*b!Q;EJ)`-+Q*r8~6ThZww?$DF_?2N^V0;k!5 z!h?-K2(T?IEUQfa|7W0lpLrUHW(qf@;= zZ!G0xpF)6Z0Ms^yEq=Hsa4(g@2i{;8C$IA4PBh=KnNQO?u>D*IG8j-X0t?hbu7awA zh-nZ$s3}Q|y&$GzU5hxfEE87W>o?K&>H7#R#;jAKU6FP}%jh}@o4y%!tHIUM2{h2g zPWmdsC#;=JxazZr&q$ggN8JUFw_mW5*U^ymCG;tMU_Ydsr8~5kHJUi}Wbf87gw>+9 zR3I$p5Q7R-fsCefh>!|Y!TWT>7&0ftv-H+S@x)0nf+?VUHIAXEUN~fT$NX4I5WP;m z(;|keCv~eMa?rYO5Tv(t%oi{zz;@$JiX-;Auz^gwlx7mg2U->ukbPNJjL`!WAQ)6= zH_KTEidLS`2sHgnvLeCS4Tg;3#{-{~@r-`O(Z5u5>G-fo@8aaCp<(C3+RqntFa!*gdj3{stnsfudd>KCbn-XzA{~t zR467pJY{T!O9deU>L{6_W*_Bv*at}Q|5o(P?$_m?v+U2=8o#)2^iLH0PhjBB&ws$u z3ttMfvsj_kx|w2<*m|22NJ`0#Qm_6~r8jhy;JJe8A79V5&R(GKX^Y?SH*^ z@o@F}KVQB8;V(9uhwV?`zTEJAL9~yL60i1d{u9UQMkN#Oiq$jvI<|gBCzsJZI+bV^ zN2kK1y{xQk$E1#znN$(P9#j|wcg38?;4la#rW9T#tg#%EtD&4M&M-91#U|sKl3q#= zRoWQZt283Nfy*le+GrG%9F^$tLhli21N!mQsJTc4PMEOf#b{ch+aY5T zOSVebmt-*8ra*PbA<|ISx>qWG2Dq`oC)TC%i*@~7dPPZ_;uhm|jIt8aaq?jYRUN*| z&z|lVXLs^T4J|+LUdkCxI^wr&R>v(IKv4It9n&fx6^$h=BqppN@t`FsU>HQqj!(SG zQ&y39uk3q(k*_HXhGaFmpM6CD`>t|IZp|F=!<7;AnedIf!r7v9KjV3mW(*hUHbhkk ztQP3giK$U75=Ze~j0QzzNGLITqk4)j^g6WdkBna}>(D?)2cZIgP$124PLL*HvnBpw{LyL* z54ILY=)-1rg#c78u(o0-L(Kdo0^EN>RYJJ~mYxX-PdK=-2I*Q!srA+pht6Z2$U`9s z2cIH5GpLMGRU8&LP=7n3@3LeG8 zSNwptp=huk!P1@&WW+D~a;G=*WS0sX>FOPQmAh8*4layX6lzDUIW#Xja?5hRll>Sx z$W8UDJXHtPMg`2?9A)7u7*4fmL+JR5P4gqmp^OpibS8=%5{w@_mAgoMz`h^@zo2TR z(on+s5nG|6xU1wn@PRUgmB;7wa7)kL0%2BIdQEI(eT-%BU+D#CduSyTglFoL@-+&p{XHF(U<&}DombSzf~bvG4D|pNbMBbp`!)shr%4Q zJQQsjjnNhhPGP?aJv3LmO&;f|p_tA}e%|h8di}&E%yuyCJb?XT*1}IJAvtFmG00lQ zL)*GAh*=N6Ng+D`IKs+}07RNq5RZwOIQ1mcK(0J`Es*ly4uib$7rSq?<&YDBqE^e- zI5SMW77!aX;-Td30-~yo!Q(D|fLTv0c9hVm$9Mb;wlC@KK_m`Jve%Mk9t#6Q;akZ) zZxxL;!#mQ5`19fyKN9C=b`uHxytR=8`5oPqmK9}#hE{SX z5et8Em&45XvoA9n+W5;1gEme)!k~?}%rI!<^CJw}IQW~=+yzvA~WIU;w?);HqW>-Kaa z=uUor*XFQqs*O)Li=ag(y`i_fpv+&w3Pf#!rga93PoJ-%+Xk{ph!XzAi}jrMvPV)?oTxKL>dONaes7O>JZ?GUBowX=03OyhVfJX_%y*TZn>N-p>v%Kv^jAaB6+L@Djv^;SQ&@mjzye z;1L;wQ{Bh^EMEK7G9;v$;&h<4gRG1t!1wk)^#rrV~p_X7IyHdS0dz zOWM*4y8SR*um?+qGn1zvSlY_T{{O5>mTkC)9V#?#UJ4vo15hF#Ksoh zMEiA$aWq_qRZvM^CTyNNThf}ij-sY*0S$EnRk-xn(Jm`QTA4pdS!F9H8&plg)>@8< zitYkf8|$V^A?>bhE`_`UtT1VIQM<8o?(f|`oX=d41>A4rb_07)Y%Bk)J+UUIajq7dyOP}U zpMqMZzxK{l6E&}W;J%0^TTJhG*i7$$S#5loVvNnpy)hA3XRQEOJ^{5jCd!$ z?&hXOGU#PNRq8Y&7&`P1S#Kb*CSV$;mDPSu-tnEptMv%zu2o zj(R4nKz0;@-_3#p3t-G3U`he2V?(kVWgyLNl;_m)+uGj4BGQR5l*Vw3ffZSqeO!pb zV0@wUX+w=mkr#+Am^!)MftK&451!M!#v;Q)XS%e5`8sKI8wh=Vr3ZBnI%gLgK<6y1 zldh)7BH|%r7TA8{;DfQ2Q3o{0moTi)6>RBWb_)7H>T#nyNWTD`4MaW71y5HPob|PtZN0FdCHR&$%nMid#)|Ur33`3qx`|t?d~vCeaN=Fz74m*(7^RxJ(VvVakwd-kZ>ysKK~x$c)-u* zG%(MUK|zWWEh{U|3P$%tx!#J?RdoQocC}dB^TR3*hPCv!19N-0Ps(?jC*?y)$HD=A z#;-VZx8<=t6bg80;fQkxB@SEBGmiLjojtAasWOotvbSY}dhA-o-Zrt3O}t2pg#6@D|?CS_oWNL(G9ORps#8FYp`$8_f$a_;%bU~{r7 zCmshssO@1JC2isUvm&#fl=H=JX^X2do{Winr@XVW@}HJCn^ z3h8X}29Q=Jy)xZ8ZHAo_F?HE6E_2!pH-_6884TGBH}YxiP& z-12^Q*hDyu3wV!zG?9l>>*Iw@eA9>x!yQg*FAKZ`!6PyVr@D{-U4rOv{J}JL_+XRH zU_5PxrO>D)!gWHo6*ua(q~EqnEN$SrLOUVCDil5?;g@H-$F-p1iy(uqVu^&`9vB&d znez9fonl$nHi(lf^KL%FJtMA>hOZ5J#e^jd?l8b5WIAB3e9*5pYzu@*aqhpFt`VoN z8dW(!<4>lq*F;#p8l3~(9l*U!X`Q2R9A91h5`X$K9R*k9Q&8~2!G#6l-X*ZADO>bukpZTo?ETT~c3Ng%@}{hIY9}V`vwD5P?ydo6#RQYmx6vW@>u8 zjL%wTy9;LR=BFd3MmN)J@`Kh&Cvdj(FEP|Erp0ht83ay`(=!Myfp2MWsRB&JA4-4k zO5sw4I4hITlJqSfE>)0o@(3(PXUTFQ+DGFJq_@2^x)8a3w3?&3*_umgq7dk~e8(>j zzHSI&?ufhPt7yenqkl2ILIa8g7(nF&zXy}TcXd0 z-N$~RB8|vQbHm`9Qf(o!mB=~z7rZIeE|%W;I4!QBFU(39iBLAZb%I=FwyRe^WU^>O zQg&51bpe}<%GpXyMn$H06~jHDU!O1*i<1;*tu;v@&m16SEEYw|8+Ci+Se-bibE?*% zD|S%&yqPo$;#;+ODZc8X_)KhF(we(SB&xF_M87q=OYJ5%71>=41!K}Zu;nM&*^l8T zS@nH)8fS-Vr7;A9yfIrY-o}#d^#;2{kWOscOg_`vYXIT6Hgh0rDIuMejUuO?WJGq^Edy@VuupW>cW zcnpcmt-aRr<>U4>#sTuOTx7QSsj~PBZEMC(Vqe1Hxd|She6&FCzXO$)Mm<}+K zaMrnNfv09ne9@k99Xa`G*^5%T+91kteZq;Z({)EyihukGqi2Q50;j;OgWP<>B?r&m z6hoPI%Is?%f8nHkhVn7}%!j_e^@p%KOVR8RgG^^A54!|S)TF(S0S#hS7i9qj4kvxM zvirn4ECctvd+6r0Xnv_|589jAO|Tk)m}Ys#!zE_6=8U^==1>Tq=GlGM4;_2|mocWZVj(sFu}AZKC> zKug-BjM&BIF5hHy&9%_TiNee5WS;QSZaC00=hiIRG=@D`hD)LC5<8BU1rd57l&$5C zbDTH3vM927s%r;BRNniATNB%C^Q?}|i8BECv-G@?c~9#x6EYds+Cv$r4r;Nd)1oq` z!ewL~!(n?av{K>Jt1-eFk&1QJEKWF@X}$FdM!rg+fy?05G0b0O7pC25RjstL2xP|R zWDz*#n1x!wJZmWevM{6DF^@XSLcMCcvU_kitK5ad*pj z9Dbv5htdrnKh_=Q~hoFY^_y}ZW>hi`4t-S|VRJQ)A;OdF%KpEz?& z%BRU~(O>&lhQoO{2S;E}(8}9(>pM{fHvSltfmCw$oI_adxx$s3_D;P$8%~=oCSnhz z9jZE^{nAvA#T!a5^%SUUxlH@wRUL->dAI^*><44n?(Xm=--+yCTm~cgz%X)47ChBz zV|Pg{*klB(Lt1nh`kcRk%&Qiw87kW)IKPK$nBVPo^LH=jFJG!bf8HE5A_vniz^pH~ zku#=6>h2-L#SVB1ywBt%x!M(oX(5!KZn5DR!I1fz4A4)%lFmBhz zHRMq1xBIfQVghGe9?J3})`P_Kpv!jQ5gAYHx+8NK&s4n?=WLPCrpB5>ImSEW+{C$P zYX{+ORK$lXHv#W(!Fd_qrKRj0xM8r1u)#InX%9$c-{i}u+KK2Mp&U-qIXF3-qx{A5GGEl{SkoUN2Cw-#JjtLh8dh?|P;bl>(TfHueQE6TJ5fox~@-iPLa_1_z0D-P$F$Gn{TeRLL+u19!COr__%EJn`QAi(HpuI6CpuK;a)Zp&aK_;EorvmOz zCuV#tRNGah>DNMa#Ym;MIeD|YANDxlQWbQ5215?Gkk7-0cTFAgs`9yx_vnWOpbS zP|x)y&+$rYvv`d=+&A!CyNz)pG=u9RecS`>N*-mAU}dw94pFlCi?%PDS;ti`a^n^f zzaf+yc#oEOJ?^qUkEwY}9v`utmT%z_2yCi~J{cxT)lsCk?$?xWPfXqLSxvn%_ zXDIRkQHH9&Epxm@f9G#7=Q$pbxA7cFO__JPR+o~n2rX+@ak>Bxt#%O)q7_trBig1aggwGxzPq-FF zekp&^IQWH+)&taLv%^-DXHm)LjGmij*mBO+PxLgys>jd&`F&2y#K*^YnLW(sSJ6K{ z{_*#pKSt5-@a^+{^|XV>r}7YCQG~{ZJ7loa-yU$5>-INl7oh4+aBX}U(Kr$PX`L_N zPlTC)9MBQP4>1DhHu$~E5AuwFN&;x4L;~ov^Q(7}g!juh`L-r}wgU%>BnZ_KJRcYO zZN06cQBasvCigI_WRh)sNbXfo601DUf9}4q&6G-1{PBM6^S3Si8G~uRs40{S4So2y?g`@>5)_*eP=S zV(8_^9Rk1^AMR0MP;X{ulW$*A zE&6$qTGP5K-~PmUS|6XVJ*_t|1Xgx;TAzZ&J*_t|wWf7<6S$^z!SeBHe%$ls$|zs2 z(M}w}WT9|TYxl6mte;r3egi77YHFFGk-9bOy9-jy`i-Q489Qcug{D0zOWw{|-%VA| ztbeHthGu=_b6A2If?wgW{kB=*QGjoNKl1k;YO4b7tr-TJ++fbpVSy>5hpadp30_9& zpA1AdyF+?c2)vx88rYh0=V~Nd2m=?rkgcohg3tZAzGf2=(vN) z>o>TkuRk#(03F~rO>n|e{efMQ{>(60Vy1)4lJ0PYCIjW+pV{tr^#U=XemUI5TS9E~ z6YCh3Rmg_3zlTg-#R}ED!a3nVMc-}mrF`FH%VfWgwoA_8;J=R%k!0oLD!a?DdnPY+ zxB@RBXF=!^fI4#5jRg>6w@U@f6;)B7QWfUYCO@U-#SS0gJ6grV@&6{?-EkUi=2pOW z7-F=@2PhSUCr0AdM8zelcXwFZapkUxlf=!BkW6+e1|QeF{MBGy*+{k!BvAv+sCLXL zk)kW00kPs$C03NEhya0tGDSbmt9ga|L=Kk@H$S=E&MP?EN?6rMXp9egD5T3 z3!moAN-rbq&%BJTeQDImgSR>v{YAQf=dH=vU5Pkl>8L~Pq}3zgnKXJx)mnAzbaNfG z$#GGTT^%(9_P3o7EoY;rrbW1os|5+Sqz#+k9?&Eh^0z)vnAAL^1y`(?0kPhMC(rKw zY)@96^iF3_p+)oU=ZzwRt3C*gme1FYX?~-29R(S=q1i)TlaTZAY97&%I^ClJi{Jec zM|mu5lN8;D#m#H_vAoOjQsnmcIC7F?B_yeKc6xxdTIICZZ^9rkI6^^_U`PxOKT=1Z za14&o>79eakEPjpyo1A!pj!<0;248}WQ;Lb>8a&r`JM~!X|c_M`&lSx5{|SFwA(-~ zChRB5liu0S{8*ap;O%FA1YI)R{cH?|(f!Piyji}n{j7^uvCoR}U7xbm;oj55YMBA9 zT12E61WY`Dnrk;p1J?MljnN56CK?6_#ux@j7V3lSb_rL{9-G|RvAsx|HRbKs-t^rv zxV!ZT1fzSk7k9I8V>@*qTJX-B(B2gY33eEWvInx;GOpg`&B&A7*}J?*nhoIXUEcIv zBHX=e1cK4M%Zs~NxUs#nh$5i@MvR?sRJGyKk`VsNduPrR3sq|4&u}f}f$kl(6jSSh2qraiU(A z#W(KP?)gL|$y4@k<@Jz%gE7Xp*(xjdSPWwq>$v-dEiAc#6w1R^jQULN7PPPeqhc(x zYh`Q82E)xI1A)Z zxhMFFsEu}6?zD(dOlp%!fL7Zc59y=UF?XPq>KW1bdQ-#fQsiHK(t&T-CKb%s%~Kh) zGKLm(C0}quYrKM9T)oJJt@=f69kUyquoJ(EmIA_-k-#^Y{YjujypC(;rz5p$eFG(+ zN(%)h)X1cec(Hk-0a-!`e%CrFc`5hYYfb(hMZbg{2%pg>>@-UV`V8)dqvy$Mk=}t;D6XrRRN~QmSg#U8zSn_cd9OlC zwkPVHCj+8W8lyXcAAn(Dmm#@_=3B?29e2@RX@Q=m*qOkhpMx9dATeRD{Oc^bm0xp% zPbD_KhH`FgO|D-7YJiN=YhZU1WbD)3BKtavS5|8JAU)*q9H;%jQL=+tpWl3aSiqbf zoDzDUhFUP`rlsAz+!*=ZqVTp4@Lee2+fcwap@7$+fUiRVUxfnN*0-+eVH=2D2y7UR zuZEzjTA%y!r=C??*a}|0!(9{h>M;xD@UwW!dugrq4C_g+r5{Pkd}*g{X9tf?Iy-FS zsLTi-*=f-Ilpm=(%sUwNcTfgXv}qnIb?TY`);L83qs!Z`@MHVQ#t*%*c2la#T-Vjj zda?MzYjffLFEmLyKFP|HBv{>Vm!_4-SuNuI(@tco`@eeC{dS5_EqYHHH)+tK+i5~I zlbnUI@4t9NlUFS9En`<%(T~whholX|sOzGixsJeBml>ViYmCzE+mo`urE_Bc$Pv}J zen7l-ycA66EzDD~7wT3V#t3<+4$otCqOSYrBm>zmbT$^Qg z#~|c9EWM4tLEOd;Kd0cI{fA@0AfgHhVng_wz9*+}(W`MODUYS#!H9VvtnD zga#A4iR?@47re2D*47eRm0K0-&2iUW71WD@3aYbmaKOAXJz%hy?ybY{^zLeMr$0Vs z5EdWsgZtteX1!fI-K*DFJ|#Fz2#FIWsY;9%t&ChP$)nD&sEKKLEe611+k5N4O~)I=&@<6+L+u5 zEh$#oODH~05$58)X84UQ4M#bThjp1jca>+fnrGZrx|iMrX_||_M3d9_?=CHFGD=X> z)+ChwVc_x>Ke$ce*3R%XDLHS!W1}<6H*I?5;k|F5=*tTjtJo#ilafj49;Q~x@|%_V z3SGf0vcQvoADSwuIap=ZEam3OUJBXitwowY^`kF!VD6Br>gArDdtmylFMSa88(-?c z+`oF#x5fJTJpGe(FN345`$cAzxS0lS+x%(%y3b}$_agdgZpH@hnYpoRy}W++3<{G|ZM2wV{~Aw6#(LF24XP3FI1%U!gbB)k>Cw*U-* z#HkPBzR#e>WQduV%djb6*Jqd)kb9JJ0tf0oL8gKh;45#txW+ieV6TppFP2IQQ|BRt zt-i&|ftJ9F)5$5JkykWUTd*l|h-^%|h&W1r#VSRZwYJehzN*h(ps( z$8oPlT`vywt0o;_>VCuI=LJ%|~?LOG{N43y0E@Vdz|DGOgXd1HVP4dAMh%12sQ+%-SeFjkLhJG(#5E{u$tCXP z2ko2fuF*>57G~OsY%OW#)skj2$e=4Y$Nw)oL-a-au<<)EHypmhSpY8(xVRH2P{9$H z*j;jW;vltzJ84byIMt6EnIqs#x1Ol$JT$wZT3c%Tqhn@*-o7=e_x&R^a3Rd4^Ulwy*k6t)b7H2QU|rVCv8pl zxMp{ws}vSdDj9p+niow6^+Aco9_CK@h`8_t2wK7(E#ZU{s)ozCr4hwpHJRG@y z+vpE&Xy}vg(j5*FCn4aRn4u1X8AOb|YTePCh;e2a=Y1kgVH2cnOSnJf#mcUTsuHiW z_9x0qn0lfk4zuSx<;!DYmi}(S;h;tK31S50&abxQ`33iTS%Y&hW9hKYi~ZbP8T))e z8Fx*{ZQFK>!WJNnAHyJF(ijFv<3}H4*R;!Jo;EhQ(>%?K1QVEb1j1{c=1uQBgX-qo zejHl)0ESv0GZ~4aTbHsHYm|-$Jp4rHG1?%)-3|RXTm>14qg#;C=6YWGnvIPL8fT&J z>Bn!dkk5DdyVVf~gfLm&aI^MW!Z#lu=L`Pz)OXfV?=UDnv;?0+@e1tPjV-l4y4x0roHLAM7Y`G2n3_qk{5Tg8;oU3KC}UR zg`D7w_V?*Nm%Q>NbKJ=!0B3YLRAy*Sj4(c1dLk~&6-O&LXlo&HuWUv((%fL>4_e*))sfUDD{Ax6Naw6mqGYb8N z9{PAhgb~V3oAGlXQE=$DLQjhmF)(R-T4u07P2~^{HbEPou)9cSY0bz8MkLG%&U|nk z2fYUUl}aA8|5x6G6jeL32u;>R^zqptBP zzS$nBkFMU1jW-;^P~T2i_Hy_=@CgUvkMy3&zF29uXP`?WD?grqqdA63fhCK97tJU> zQbB5UO10#fMGtU3@*h=KHL);(1hjHK*Gz{Vzz7u1iq}TDBsnTp{9r1H;dF;HRp_b= zV+z=)5bYA^=}Dq-dIO79Y()~LjNuPZLa?5}dlbzj8tx}S6TAkkmHWwc?S67SdpIeV zM6-vo3azV9_00r~S0jLHUq-Wswf?9)Su$U=M|>zVWT;HM#H;0cMt7F@rT0qGpuJbF zYwwl#Nbi+v<-HOQx{Z|Ya2vT+zBW-#y4qaR00!`o@MPZM6AT51-?%MK!4I$eUBfRX zEN2RQFmE{QR==oEoVpsHb%gdQxyI~-jYRP*36yXti5k@|B|#7l-7NVP2lzk@e;!Wa z&55oHdeqp4H-JXmu8gp1u&jL!SUwq@S%QL#}kEs7T|3 z?i8iw2)dUEzC7SESo%|3!v|$_w?)M%Jb0io(RmqB8&fk6`l-WH{jM^+&=n)GaI1kw zion93ToO*w~RTQ+@=z)C&H9_1Z=|M0nx-#_IS zNe=m51x>_uDx>M#CF#@|-Ov>e>Fl&kw>(2n;f4>cJSD)n zRR`1sHyG$jpySfre1efT`dbQPREl?;b#Y{z0v@J2amg(*qlo?(PF#VRa9o9SOf@ZD z%fxx}-+y35YxKTX*$U>LobetOul^&#u0lic1iRns=zo{R>*(j*>gJa{)vfQa;1pk< z@BvMqp%^eXzj4nLPWUd6-kwcMnK+IDw>0_Fx5L{F9D+C;R#hQ*=SxrXnCdTFfR!34RWL21DV z_}r>T&A0%emMH22n7qJ|%S%Aq0`QPPl@N!=RhYd{Avenq^-34waP_TT*iWmpSRm`L zcBP!<9lc+o{D^UIAvt*z+BG$D)ofc>c7DaqJwBjiBoA2NCT}xU_HE*1#U=Enl zsV!Vad;rJI=!}_bdN#C#t;-Ej%MUB%)qzlzF2fZkz8?hY@1U`Gx`o4!j205)?cfGf zl|=9+318&&bbwV$@e5saM=FULG!Qr}g6M&Zl)0Y}ORUDkGe^PD)X5u}U z%xhNe;UF*GNEqr36?dPXc&>v|k38Yk0B^88!Y{g?Je85N1hf1>43@FhTBXSYT^Rrn zt*NeEGOuhxwT!dAGg7}+!CHMKU%ne}etJ1yy_#FSG=fjKKtU2vR*`_ymp2GQyJDd) z*Ci;xM4j;<*`jH*D1t7RK3Q~(rGgiQn&+$z@=yuThyR`~w)?}=-=$9E_q($Hp|$`w z7SI$3@UZpf(5&9I?h*d^`8@{BF!!CQLlq!$_q1cDU8Yz@Q!ItPVGVvSsFde@dbI%F zx+7>$7slJZd@u9$0qP?HLd^-SWJ%8wLO%GjdSQQ7YE8Jp&;fBVK|LdNBdomHcd0`< zMo|H6+$7($cM^i3Pb^{Xo3Ck>Et_1MRPSg28yNsw?VQgLPdVs9InY*kVb0#pj6;Zb2N%jpkF zs8=s1(Qjh-9&)fb6$kCIVAI{ugq3zmeZqoX1u(_sIa~r^%Esu{krYwYXROI}Nal2d z7ko`87cQ;B>lkinbhLC&6{e?gOa$;G07Gc>Gbwa9L=xo~=G*8m9MgbO3O{BkMaGXh5GC!3AJpyx_9+BX z^u!Ee;PO@=E*b$WL98N8kSk3S=Hk+XIlUos>UZG>Y6+Jw)Lzj`6gC9#0mHU_(NJ7; z)R9#Pto(ychq;T%>0_Q3J^>GA5R6^WNLDt39*GYrnuNCB9a_^pq??B4u5g`0N=>+PIRac zvz1MZ3~71S2xS}10CSU#u74e7a`=r8;PaMEq32V zj9KH?k&qy@wKUdIMJ7q_!G%!+7zvm;NZk%MEab(vMjTiGzI>PAApI9Ij(%a!HDSo! zRV<`J9fsQ51e+{F_iPQOE>B=NB(F*?#ij;tY0~iqgOWXTq^VH-iotBa8C;>NWY<@J zuI?_#zOnUB*tf$2KZh)xJx~Hcf6Tw}MRuQLZxI`i=uzk|YV%QE&7DUZd8?IVxLJYF zYR1I=6vB|>d3YbZovQdqMUn~Oa;ipLck{IInfwmZjzOxPTF$6ETg`BS3-=f4_NPBK z6O=ta^TLgC6UH_Y`H*lL%1qD*k@;aHsj&UMj#V2)R#NK|P@&W^simk|-e80cAoc}F zJGeXK6hA4aW0=cS9P-1}N_^QtBIeR>2NgSpiReJ&&=`FV)-*a&YAp zr3y9IV;fvR#QD9zV%n7}Pkw>+mt&i$b%-m>J)HB?>6mhi$JQy25MlMJ>NIE?`bIOQ zQDF#)k{GmSr3z7E!0MGEJVXm(h8h4fWHU0-h8%M1_fm zeHN&xye&JMG#a7xFOKqn%5L{|Ix7xW+ZAY3elSfzC)l%CvvZ}OdXBDQYPPD-b!lK9Znp0GE()YcSX<-tNnM+#SZP=q~MG$w4oH7 z-}r(#_mukcd%mqdySb`d#+RwtE1LbV)hVi6F4R(CnT;=!vzgqPxp(p0n-ko{lS+3d z5;|K}oD1Q9UZo+~xUv|1#eG#*aZM%eN^VRg%{Dt-D1#yHi+rHuoMAU@Cg;Is za`X#kQDS8lt#}X&d>M!8;Bi*JKvsYt#Cs-1gCJse6|Tf$CCq9N%+yr$&%S?z4D}BQ zitk_M4ttUn%(3u8iv?sRzqc?jlQ;M##uOl{q*<;W`szr||5%$TRo+aC=UhQhp@rWf zJwbszD`VWGyUhfxWZm;9i7ks?4VGdyHl0@h`q6mk?}aBvT# z@@EAz5NOJgSbgD!tO|(?R^X&B6o5KP-#)0_$R{qwe$*H?wMS zO@Wpd^@RWos7vil2(ZPx9p_Eau@eVz9@Y{TwSfvM<+BL`?i(2kWY!o`aEP~OQ?^fw4`83o4-=(Mt) zVL)#Bh1yn%#!uBCwxjIuJz>@>+0)b3h+H-4Z3pNvF+#FO{Bks73~ge0QF|2<))tx> zXi=NA=!e}4c4yF-(yjoVT5A?(`jlUOVL?y&2uisRpm~!A)>W_tL@- zHnCIopOGwyK@Y|ZmP5xqX+tw|Ek}ldHz*(hOOkcbb!x;gzxoYKtVA)j`G?*V!IE|d zFeq=p>5G($SNI{z_ea<;A_^^z)wC>p5s)a0IE*8xO9-WGIk}~#-$1POrgqz8KB;2S zd{Bx2PLd#Ra-0&{Ce>I*VZ>cy>}?S35iX|C+!6*!^$XaWym=pf?AIhbg2x6q#)!2d+;J=&s<{@cm>@OexQg0k3mVf zNhblSAsM0l*3)7Z@6^S>HeY>Gd&csjmBIRh@OiYpehpAYYe;#}*FB80NLiu+@QM%S ziCu9JAVhUq;}T2frdWzak~0_8=F`{BVYxilQtU!S3R{XvX6{v$dzHYYSWhDNpzMt!Z)NPVDQPTq!5J%m^P^dAuLtGJu7*V zP16KHf9IzX#l^1_Tc@eQ<-L4lRp?I=GFapV8A8#DMFch_)uw8ZKon4sCFUz2Sr{!*`6&TmJf4lmDaJ1{MBcMKe;#Ff9U5_EID`P$5N&7>qBa@j__NAkp{225^H4S1kSyR~?fl&6yBG(778k&zYU2`^un54iJ)rG*%a&rg4K-qv^C8C_VdoH07Keaf`>s?%P2L-;yiA zEJGzG>*e_upo#E9yAv@FQkIb!SOD#a_@td09W3#v5&bC^;eww>Nrt0jM`k*9_E)=Yhs{<&z3%nCtQzHGo*@~OKCeCa)OZ0sAjkkfWa{zO$JnB`xX zim4eFfstBaUf4&r3RQ>%)#ZK?ggUAgnBbC5d+nxs4fvr3E4)i-6-O(vbT58h>jN#H ztfXeoXL!P}roIM(*UD@Is%7Qi;}#^mtm5)cvgX{_SVGWi^Q$PiwRvc@)acf94>(*j z)+-ZrGn5l;vT&j0MN%H{cR)*HkljLIbBTr z_9Y$!Z0@hpz`7l*zC(8|LX=P+wYyEDs8%w1beWb69HOeu=45IY9$5j33$VrQyXfYR z=+~Q%5J2kgKezo+Bwl|Mc8W=od39lsv3;(atx3-`?CSm&s1&(qrG0N|`BQIZ&|+`h zg~%s(1wXsIS6FixqaMq2hYKwHLzlLss%cj$yw%odK&jE`{ywP&trcL4xVPBwgAJwD z0rI9#k7R5JvRd{cq*d$5MltD7Q!TA+_qB_xNqsd}&0k_19CEmLNDK6bekeJAQbEx_ zKmOOna{1?12;TyZ7s7_XnseqAiElM|b>fNy7pxH316%2_l~C)FjC=wgr$JN~gbz-G zVq;fl#0xCok{`h_OGz^RvSM!R~=u13|sMg^D(3Eo>6nqe|KfX!r5{Nsv|KRpB?RoUV zg!UoU46dymP)*jQ3c!V1m>2l0>aDZ}!(sg{;ONfeSm{@sw7*(B<j`zeNwj&-q&U=X5 z{i!k2+2xtU@f!0S3{$Yi`3X)Yf4Yx1>lfQ&xsf9*TyMXCQ1aJ*YLI1qfN6_@D&dp` z4yIqgOT*#tWFWdol*I6&JnWPGFc{qE^@2e_g8A_aZ4FKNo6Z!GM_%D}5eWxB*`uM+ z1;As2FX-s^C;Fl`kloUVNhs<>Ia|PX9b7<1IL?A)Nlz-l4)@l6yaJ)m)QIovFi>%f z?FSXha8MfvW>!glgf^MthT9JcTS=T#c%dF>rw2bMJaxW6RpQ}?!ST0;7yL0Gb}Qmw z(Q(C2EZtTGp2`=;EPo-s5ymEBAFI-IJAtZJbuh({(}i+%RrnN&SMZH?Fv;vvm=Prh za|}QiZ~B-WUclrGmYaScX(&1Y9{^EKyoZ4370eH#2!h5W>j5%dQJ&C}^}z~48^o?9 zS6d(0_%EVGFV-zQi)1`F@nXA#W9mKv)F_8{iATA1&|h=|7z%d^#5Vxu>RM#hE8ffC zr&cEeM-PT=Fxo)u{a|`N0Hen-J3p0$s*-QfjK#32}*pH7DJU!#((ligt>nFZ&hD}-zihOpnp zrfa6@axldUc#xs=cK|)rz}x)*j0ItL55r9b4}awFEDixy_*~F1B$I=R{ybI3=;gTXhY7MO1x51Km7*u?;4I{2;M$t$!xOxv6N^Ug1vLLb+eqdG4_=UFEK-rxo zDRB0?ILv>-07-CC&%ktB37{B{A#7yYm2osfSg$lE>BG;> zn-{1lTzfeP26{ul=<_-RZV0Sm^)w4KTZ144+ZQ>M48j zz%3ZOI4Jca7QTejoR9kfn9XV!rWc}OL^v3a&Ejvzo*eb;jK?Yr4Ew--`fF^v5IA;} z8l7Fq4xvvNi}EM{2P=8GNz)!m8mkd3)+*3}T+{%TUw<)adc{587ho?C3b@VS2R4+z z37!pT)8Xh+lvkD8131=@dxHEq=$R9A48Zh4v}DY$uqg7Qt2pK`(3;F@2oqgB48a+W zhK-*-bOMHs*b7!qCO8<{3u$%fUN~t49@Ss=P*-&v1Sr<|%TYm!iB~_Y?qOi|kMQ8) z$Eo2^qJB8Vsi5H4_;CpgG#ou3bU1dGE)ItVpZ|$v%8`=Jx1tY9^dO*~?0!`xp7CL+zg5j!Z2uAz)8Uz!s zU_($rKuteNLn!5l`4Es?r`88lDZh7)~NP1l#f2EaIkZw0^m+YF>lTYqNmYi*Ns+09Zi(FaO-seq z!>U+Kpi)v!NEeg@$|6>;XdsP2UJL$#V#T`%MZH#5fo1TT~w0I|2+0%6r-nenRX~+Uh_N9IF#y! zU}~vu2$E9W5R6E5LqHjW)KobwiNb3NZvIP2x=~r@#B=) zxgM744j6!6dIsLhbtis0R2#@8Cw`zxGbUGl_~C$zlC`LpR)b)oUg`mpD&lP5$7Ez2 zx=kH|5*|JP)PNZn5aJ{Hh2<%F0C$t|`+?1Spt!Yu;^lcKwx)cpcx z2&ZHSN;{Dp0#iOFhoHb*`f_Y+MsVlekIx1Tg%ppMew1~s^yI66lqtR+l~FIfP;Mvv zfC?R|g;^R0kYdYcUi@iWydPXqe1gN%d~h0MJe;N~3>Uh7)OCx%KqOy=0gClP7%1%= zdLXHK!?KrG+{Oc7B{o<>;2;WxfI%1v0pprH1dj4}2%Lz9A%G(Fg#w1aL2mWea5bI8 zoBe$SH^8+-rugvjj}N~^pB6uV{BrZpg~=g2xvF7(RKiktmpC_o1O-6{C0g;|zli`OFnEQZN2pBr#LtG$Z}_SFX2T%@wSTyt^oiF))zrXYLo|Qy zx)Q*BIuLFXn4)=rioO{UYxxQ}!Tkh0KScV3qr8538GZT^eO^THmV*DEe)}?yK7Bot zO83DpCzbTw*rXD!vTZ8mwTH^zY-bpBD1sY-#EDCNQhxqM-&(zdN&pgN32(}*FM2A} zS8MYm3(niEa}fEEN%5PAab)*l`z)B@+ClEOx;)Wz=5l$g19gluKe)tpu#Pd_CRFoz z$cJkBEbM)iJqqzX`NSQ6R{Yr?66ucS&?hfZ!;M9B)lDx$^q3;wwMT`D<;oZwaV)dX zIq`)u7-G3BNVMcnAxk>kp^fW~anTN=Exs9ab{%6LmSIouLh}hMhRHv^!=*jADJkCE zqO#ssjx^x1Sg_kQh&sMeP7FtI;l;omna*5PJGpZ4aM4M*j4w-&&+ktcD$P11^h|eGM&zS1o1Q|lGNZbqIy*BbGpna&5O9f%@W}M4 zcy&DTF#-ZC5dH!ymaqX~#hMKZgnz&WSRkzU0|+4SshXL)nYp>Uxrawq&Y648be4y^ znVOoJnwpxbnrhsCBw=BX^N=rgMz~Oh;Gieh6vXNdQo`kKh;5nn(Onh3NX3-Kr%r2k zkmS|ot(Y1|YI^)pdKhGx)Z%U71L=E|_60x9N1;R!)!WIBR2hOVq$?6&hE%z&UZl?p z`W`Q*^v|S+teL%F)I&0_d)98?LHv6?osPs40c9pcHR!*=YCL`nDQ#Rl#J`kWp8r9D zw0V!8;^b-cKm{I6LREPH$G`63^u-T+O^Tl& zWbATu%Ob&HwUdiAZb09z=1I zsEquFlAj~xAEG}|s&xV+{`rJk7~F`M&3;c*GJYXDLo+@68}3N$OojKr1$(sE)Gf)!?naHs-I#Q)i3og`my5Da|n~518zh;u*4jY z0K{#;9!dYo3C7bh<`>ZM@xNlIX@>AkrkbTk`6lM~beJFE@;?9Igh`akk>MKaPc(#_ zg7hgZOur~?ERf(j^bZW7NeU%;dBdNOFNJ>apT#xTqZJaTj}bpY{-KY=)#zXTb9ixa z_=oVa`^Qdr^@sCL$OYoN4?~2CLK$eV)FY-%JqiWOhv6TF5P?yOkN@e% zP0Fu?-GR=OB7$UVOKajI)kEMT(XsXAMH%9k1p1XsshNhl&S)f%K+xTAbrG_mhO0}J z6oM0)9qKVTUq^#(5=VHW{cWPz8od>yYs~LbMULKRf17EznI3~3ps(V8rY>*86kVg? z8a>XCRuUI_qchw@vo(6_AS`gj&ojR@8m``B8G@VEuo;w|Qon4z-;FlkWbdQT+xr^L zH`)6n+W98ec>dgbG%r*hdqN}zv%qoZ6^C&ijp($$k6Zm5kOsO27MyfpEx#7RnlF&6 zYEh{cVz-VcReGgLx{>1U+zUIjg9L(i%kJ^wctsgF5lDj%4A^r?HmnFFZUD%Ae|}8xbisH{FUHF>ItYH0u>dY}1Xbla$oID;kZ7Bc6-K+`45VvC1^I$wpEd z+hi*mjfrNe*i|Zy7}3}!8%b$wldZJ2n2||Q;N-ehg>sC_Fb&kNd@t+@-ZX2sOhyU2 zGNn13OjS@-5_$}|2DvJr0EEg9x@}Fz^A4v9m<-$D@$5_&7;>R?I!2a{cNagxpa>Xs z>z|@J#qyuc<2%xJAvY+wE3`r(#8E#j(3Bm5l$XfEy?|D7){EyM>501{x8h0M>hSOy zc)}P?PnB-IMWF=L~8;HEiv802Dy>ox9HVKMS|KVCLg?Px(-?Fernp zjaWXAz7G(osI&cJ(6g3p$iq9!VTLqTP^Hdcyb0M9rqK#S=WBS(u>R292rpfu5y&NG zBP6I4HG=O+BbUq8c4|<7{R4sJL2puli3B!!Y9aHRo^3|^0<=?0c=Su!IUVkfil-~` zh!_!^wdUJ{=@>a!N(v#^&<%_ah(t97`pyO^?SaP1s~_Bu^Fe4Cv65N!gb_>$x$_Z< zC-EjdWpJ2#Ju~UO%uL$3IKRLANz)N)m{sS@RWZZtXE0MaQ-N9Ez>IYBtI7Qwwkk>h zI*4%vXxZ0tfUunxx^0?IT=yODZ#pQE&km*E;uj7>FcWPHI(#mP^dNVL;RV8_HMBQ} z0cVb6T8Z3yPVQBT*|O~rMK6y+{O@W))E`ZH*I+a8u=`;#C(cT4aPx>T??NdL>+%() z7uaPRP$%x}kh4ZdBv3;A9b$1^a$5TyrRd+c^k^C>Y7GPht??TOE@=(~29n2~#-WRB z$3X2cJil+U%W%?rOI^ml-0Nr7Wl$@1x&QaI%isjB*yX|LSjBwGVD_wA`FlGU{i4Be z?tI99-QfDqUkuyeap^vJv+B(U5CxMr3u1HagYZyT6sPlJ5qSRsp$wx7!OfTxf?MCl z1EdcRrSWk(r}u*Yun#F^9T^~^;dBDumU&EUjh#z(`RXp%UM`Qk+$Slq)4^tZhQ*w& z~^v+joI1I6+@G26^4wAvu4$TdOiEVRk_TX6o ze}t+_l(2EF^vgY3p}TN$SVS!8SQ|Wlm&75(|MbvaU1;TOOF~?=&7|k;B{Htxqszo5 zjJE2j?Z_3EtXF13_vb(6H&jpGQQE0~UZ;d?T}9>P?i3QQbEi~8!Z511w*g>pgILLo6L7eT*af);c9d9frpj#$n!!V;p_Ze`KyIpNs%;G#(GI{l9!k;jnc26FlvBZC!4qmoH^?Qr|kI`Yy3Y{mE z*X&&0eMhN__XjHmFaeE#G->thg+dFIVZOLp7X-3z_reB1O z2N!l=BRwrPA$u0&^JL+3d?82VGvZ*PK%S+REuu>Y>-+u+y4=MPozvbO&kDB} z?BZf-^*g>$7k__p_U7;;3{P?1Y<*AKowI8S8w;rh`Rfn5NHOsS>Cr?U`=3@w=qA3j zPS|ms-vB9;-4<_-FmgZRs?`a(x#M+PRJ{a~jQg2f_f%*%?1GbY_SvNh+h?b9a{l(? zU5B>+nAFP0%r|BlFw57T*`?i@!QB&NQMWtXRuwba}JhjkIOz( zA)si(LhQV3?>C{m791DmunMyGw>KP#xQ#7Sr_whTQbyy>rcDTO?Z@uNawbfqpdk$ZH>-EpG2pG zlQE&>RLx{j0*Ch3-FhA+VfDfPbkzhbwq&ja5z)P1eMm_2yO@pQWeCSeoHVPdW_?6K z2!KYDE(sL2d{BLIGkTY=9HL??j62fKpA{=hp{5H7Ppwi@5EpV-lvtGS)M($MS0%FQ z({^!PWPJKtA`L%rhpS+-*`>l}M!okN5vgDugDj2v*{lBY3S!j)X(eGB6#}tny+D?4 zUUCOp(nWNV+;GG;ET$48LfEmn&;g3< z4EPrwf7m*pY!n)0>?A3QmL%sXYbIwCrx>-)(TPQ+T=YBz%>+HC7_~X{d`C~*e%5B( z>BqFj5$^(Wr;s|=9?C4P4G(H_xSHn+7n=2t7ZzPw@ZZBOHW8{J3PU+h5(p=0q-wmcK^8Ta10n_Cz!c1sn zhGXI#3w^pP=2a+VGx{AJXHb0EbOz{dwi$ zaH3CbOJ5HjadLY}D@G|WLd?jRDtHvIA8M+zrW(-OST zmSBAx%}8T>$Du?U-Z>-E*%lWg=voCdE!_{$*x|L(r$dh|jL*VR`OKKQZ4YNeH6d9M ziW<*IT9BBOut#Sq3hy+ZK8AuArAwjS>#Eda_~o0uQJ5yHgHT@g>|4;@Y$R@38Gf}w z`(bILX+kVnk>yEtRzS$VJu>?0qw-lM#=>DE!$~WV6^mkb&aOmr95#Z3F{M_gty%Jv zNyV{7V<Cu%Ygyj*U+;qxDF$gRU zGap~yk|JLRnZM`lZHkh(MDOir8LTpNs-w+e6rLgFos(V{e?I-QoH~3teR`~?!&Vi~ zjeXs7gX6-I3nwqODzT+Y;*H|`PNXS&mo&pG&Do4|4Pprt2T#purh0Eo0YFA@p%X`< z9PV6v%xSH9r>e9j^-Q%a#jg;x(7edX49CeGW#^pDIVUH}ApM#XEYfIhkGG{s%EZaG zJ$CCBz(mQs4J{(>6^6ZjAJ zR-zP*aQ1{)y>GsfTRNg8CZOslR3F|oQK&Q4Yc|;gDHE|4xrsf=$ghb*t)Z{brhflD zFL;l*H}1~PA-#?b7HGh95-Z>Drzv)dOD0U^no*0fRTUs#>5`qrOPxJIC#;jyT21P^ z2a#{JBUQbo#lFSf?3$25v*R#eW%o}U3hB}qv_VL!0?U>d!gV*pjH4Rvy|EKUdMKo8 zi8#j1rkvf+8LYx(2y0`9KsD01g-gWM#W`?{V9l)0KgTf;|B+(Ld2YLg7K;9-_puxe zr{7T1Xm~5a$-!qkN58(u`gOf`6~Izn8@Dpu0ag>os?&Lqq(r&{h-Ah>PNL-5vFUaZ zG9#X_Qw%v7?S^Fb;v4V25ZbXO*;fIS4cJGgK?JjxK#ms*o#PdHlZQ_h%r;=8>$oDc zOaMR&sn`#x3>Y_3p3pL(4UK8T@W^??kX0Ed*VK6fvmyf;7$t;Mf{+Eng^wqw%y=94 zXq}3SMkoWtg^@Qft9J%QX}5|IvS7II@dITqe3Pu{o+Yn*3h$7&(rge;lJ#7$jgS{CJMgB7Pcr32=-43K^j8Ifvp=*C>U@>Wn2G+(^YK{n`p64 zM@!Dso9JnkCL3T8>@KVKqtsYTkrMfSEJ6i^Q@Rp%@$>ln4!#=XZpsl8MXVnkYAsG+ zm{!knxmYz)D)ijdQO>yZ*I>ZHy;g_X)bPU6EWk=lNv#3SunY?*oyRxDom5j&5y6q} zD((~peIx_Y-1d3Y?u^IKbEMh_1WCv^xMgim6!k=CMxeZ?SRJ+`I!=34KNnU(SLhh0 z!kRV_KftW@s^&%J1l%SLg}i&);kfsB9fj90a`kUX3zHsJ*~i-LC1~a3%UJc<5|8m; zAt+-CS|maud?Al<#UuZx&yPZP=lP;*QIx`X_gQ0XA-$fyGovJgqb!_n^?6ME zf@IuEN(!Ne;J}?j&F%3V>OW8mRGLE1R|yj3*aF)U?6(k-YqPE)lQ7SQOs`|94`{XB z&;>2sN}Q}MvuPNpI#-;oHIs70I_F#^X zDw$vmrSS8lYue?i97^6XzL z`Io!$>VwZzq@-SiAD<&lE+$hs#})^hFmHwD^dRLVOeAntD~!3BOGzBiuMIUmQ7!40 z!+t#PuSST&AnvD%V9Pd3!b&E81Bf8TnpW(kQS9glG46d5(Ui5RHJi=|;T3Vn*8uPk z(fqShF)n|EaOdOXr1{9K%|%Miu^D1BgWZd(EiN9IO9SRA1fLc^#)pN7}xz#H()y#p^3AzSn^#ojq`b!YXbWxdMvNn&qkPRO9)fuMQ5E(=kHLBDBD5r-fT`K8G_|K3PX%SPz4k7i56M8>s`xi3;RutwtQc4%KlpxK+KE$&St`zNlT z(M+V*QqS)%$fGiakZJp4e%l|7np)d^zqb1qZ{d{&D;%9&ZX!ps-p|uMoFW3(PkszQGj48fRJD8AQ_R%L+ap$~q8+zwfY4ADG z1yLIEvH}&>rNf4)BO|MFn!jzGx>hlJqzDtgznkH-gdEQ(P+ny{~hUMj@L6(G0eUE1-YQ?Bf3Wnazt~SeG@O zUT?HTq**Pof3qM^9Kg#U=vt#$?pdI>vED{dt*xptvUZ`&j`YiA6iGc5keusXar+X> zb159f`qzb{_JMWbs7+yAIBJJj7mnI4)`g?9TITWV0!$hHx{wl5Dlzc;)6%+t5@K2x zP(n@X0!qkfT|fyvtqUkiQ0qd}D5?S|oL4i6`sf0Kl$hG_07gn2O*?mdap4_yhngW6 zcQ^#2phBg5;e0EL9rAZJa$ew!xgGwly|qMkveAe#&q9|G4Z{0)d8;y7bgs`Jv!9u~ zb{%PiJq3(avW5VX1y=W5)Ep%CD5IRb6y;k}E?Q$~Zs(pNgESxeLiH56%AgjW<_s0M z*~bb;xdJGLppdSa-C?hf1%nsx#MUxYY0k2~Ky@x5B>bY9wI zsk%^@IajbJ9cD#_MkcTTtP*CWRUPuO%07$?Z3~f$vM7u#8G9iuAiXhc?Az`n$Kth& z<|{HHQ^?(uYve}OCFhh{H;R?Ai7R{sV)XV&aFgTU9ycCNtRWg34oke5@kzVf1R9Nr z8ws(?`L_W3?jBh=CIP(O;+)M)m;Yk0p6Kq`iC@xXunx8!K2qy%)D;_9PlT@6nE&z0 zn#Ky-lOfexVAktw5oBvwcm(%*QUkEYP7{I1NmQ*L2uoy*4JqkV2}sEV`%e_FH8&gLUaJYYB>QVFFDWt!5$RchrDH9W@|rk9!a4*``alQ!IYF zm^&%4@W9AA=fJ7Pkz3em*$q-S64V4q29W5N71Dx}yO4d={GN%LGNW*jUh9w~0gfWQ+NWOzvC?*z6oGRGWVqH|5T!W&J&3=jLJQ?qFZjjzW zK3X#_CtRGYGn1azw`9H*%I?02Ww5!P#W+!z1f0_yDPSg1M6)qBTU&_Txtc6);c^HU zm{xd>Fo|$~lZzk&AQNe^Du7H#%vZAYl$X}RqZSxDGGewf>?SUZ%_xwt)}igHz`P(>M%D^yV?;|f)jakxSiWd<&(0>LNaEk;vESE_H});+-I z6>ePP9o>$X!Bos|B~xk)acTm73dBkr7i>vq{gEJfsVH)S-lAGjbVe`^f@CyKMKD#2 z7G7zw+*Mbjrd)CbHI127>&>^kT5P`M)k^a%ua=o_d9}uT%c}+ETRx@yq8haf1z0-ItmwDqBM9Q{m{@KgfiZMJ2A11GBO!zN<>*587C0BoABFkHRXvt| zq;6G8X?4}QbC5cv)m7_Nt7ifQWc}Ag8c@CCN(1a&S-&nr8dNcU5{%-M#85N4OHNs* zIO8mv%Ub=K%2v-4X{^?>AsF&TR=(v=WHbGzU2(?s`4=H(Opt#Pm$bb zKQu4snHyJ8V5CcSaA z;MDLxGS<2lj;z;^R}p0v+iQP31KHt<=;a|rn1$lH9bQ~P?{l@SN#3N)T^lpl1V*IU zolZVKb{}zs9uwm=2PVYyCwa`pu)Hc7mgE}A+VSoU2~EVve@ANStJ&3L{H}xlXKgqr zy%l!feOS!s)~%pD%#8?Zy?mTefPIzLJS|GMji~G)s^Tl(w>zGl$tjjH!)~AI<4S0& z1x?_hkF-*g>9R8x$(HC8mMKUoLoOIEipuRPVCh0GD*j4>EG!L8CJ__k+XfoA$2(aJ zr}J?qgRfTf6-q)Dzb!0ukigO~D1y2}AdAYjUg-w9@Gg$-b2ypPaS*hs4ZjPRn=^R; zlat=>N`?nZj#iR%% zvkkM77&)gA5)v$N*G$X-w^=jks(?tImM)7@Vtp(&x^Q-MFvSg-UEr*w3`*kBI<}vu zat67`UC3E1?%H#(C!sekdr~4bIeL?E7I2@``CJHNj=q%q?e7TsYuAq12u8B)EaKKn^!wIl+&HG%u(5BNEPju7d14GwC2{-R~vKWy>AtF zM_%-ar;D6zuef^48g}=j`N2?1omwy)!{H`@VqCQ0s8hYQBcuroXTb&T5(=}&v=$C^~}zKvapd~2FQf$yq0qo3;&7hl> z45DuWd>VNXx5D(vw>g}fDL@DBuBMopZ#6%roZDP6FVC%}uynJm+-k*wQ>I#dVk-)@ zP5IT#v9I4wN(CB&H-T#m-aV&Q`fv+3t-5=#i>oV%?w%w%!zN&2smihBS5R&}v9ADd z{W*}gZrHG@FT^zv^7P9W||kio2ir^%SPw^)i^2*OcO_ z;xo*TGRGA)b5>#Zanvf@I*{GK$vkm)$T|1zvV*q9vXiNhExUoadzlYR>R#;R7}=9X zsr>2OXA-1EJM|a14|HSV3_fn5p$cYq604v~p`5o?TvH`S*ZXknMp{mI{lUvUgedy_ zSt1J6pp3do5`H)4dx!0oRKF(CTf_UP_et+>9MkEfJ&wk3+ffl)b=F8$vZf&yBfXtL z8Y+S5M8B_cQ5WqsVXFn~APYBfDTOn6w`wK_7j?SVe+2+;4E7Nya@mU~S~}0#$kc=7 z#;esrklFci!4Y*dimW?O_2IekL;To5W5^W&yIi($cqKC>yy=EhzHt(b;Y7w(5R4bli7#;);2K@IrjXKM7V8ghGlymlx`^=Xsk z9z4t4dzM>zmRoq18+(=;d6xU=SuXZ0ck5Yh=vglEEI05h*Y_;f^DK8yAzm|bwL!Cz zvijvETP?}fDAfZw1MQAi%jm%se^w{mY{F8KcuD^U51}cdKCiAReEBj$5YfEMq&hrZ zHgiEC;5cC4#sgA&r%_7LYq+1(&{M+|3C2{?Q|oBhst;3zOi1KK@^S?K)B&&8zg+p# zMBa4>aSbLPMe;|pToK+}&%BaB>diTI5Oq3PqN>*0Tyyd&wA5JdbS=x-MyMn`P(qv8 z+-MbPb!n|P*;d*GO#m<(NVjt1Xz473eZ0I7Hu3U8*ul#SVf!vGguT1G5H{}eLfEy- z3t`JHFNFQNybw0)@Vy1WoJ=<-6mJC_&Zt+}9B?!H`5XFWcp>)0Dy z&zhdSIjE+tU5DEk2SpRk%!ztq>kW9W&RuV!vHs{g0lJK4i9>vx_=Thw9UEjwIwAEJf0;3#3eCvg_dG zF6laYxl6hZU+$8wj361={kbBOS%qW?vk!!n7gFwAm%RVI*PeVx(;LRlCI;J zyQJ$t<}T?vlDSK|4rT6=?qiv|tovZ5$`;rZYDl_HDJNMuS-XO(iQ?mzPYXGMl!ZsC z5izzocPU$xa+k7YDR(Jbm~xl0r73qQTby#2vgIjvDO;d&m$D@)cPU$>a+k7YDt9Sc zsB)LGr7CwRTdZ=I%F0#la#_JDDd(^QRVVh`v$(Z-ixc!@)CI;7%G5HnUhx%g=vi@n z>oywAqIq}3x(NO1hi|SOWG5Oy&3t~|$K`%b=;1Zun`B#t-(ObEPUGw95F53jGT$<>uLR>GCY#jm z>%d^sYZiuWsOE{mJl@ZHGq#ws{Q%Y->YpA{4DrceRM-t|q&xtME5*J5TP^o(zp@L5 zpjo2nIPa+EK{Al$Vf?G?}kQY{5&FJ6#yX&{e(YHktB_e5vzj$kBLU2kg&n z0JxR~mgx&&5P3m(HJc+-EBpnJ*m8j@DJjCZB%&j`H(V`O^YU`l4pOk$MoW?Y8Hr*k zy@WQB`Zh*OoOI0IA&WA*TmkSja!W}qZL|y_@ytLx9V%y`{DW_+b;9KE6PZE88B+{M zL6vP$}DfC zR>T0fOGueekaZ#1u?XwJIkw|5)&^w9B&-X_j!Re(PD-7S1L{&|<*EsFR<3z4o=&32 z5V1RirDo+_R(enmAAZuN?k-z!Brkvk^2I5Zu^((U8L2Wj|IZ%PK^2i!|WA>J9FClfL1L z`QyjY=ng1A7A!AI%+`<)jetsP0kRbsZeYkFh`{@2vqhe|u9MS8M-OYlDj9=KHk277 zM`PyvkaLpM4Im_M?*Vao7t85fr+}ZwICb2eThniXfuAh06s)fcfxgyiCzBom!)q#= zI690_dFm$>E7(j{NyYV8O=ZxvRgbjLj`m#j%&;}S_24?Sn9i5G>0vF8bP1xCMHZT8 z%nOu4Lf0n#8eNf~cNzfgg1cQ0?#BdW11JTq!{vbp%6RDBX-MjUmm^}pCg({LHay+g zS|4eS(KW{1Yz5*$vHg2Fty^zN?dy%u9-G~=PJ#<>>yZ=vtrG1<09ZID%7 zZPJag1p^sQ>P`{+q^2}L0rT{A+uBQ9UnwkEycDcF6T=~U{Y-^)I7pmYGzvni?>cw9 zkzu8Pn^6Qez1@R8+J)K2*!@bN^nxuIH zdNAVH7`ECC0V?0voC3xLq!EgHaffc2V^FX3{idX2FHhxr(N4L`Wo+J1;{&7%D>f z8Zf9Q=Fm9x7qpy`g>Rrshl6f-9w;Y=G}@@1 z_p(d!>NQDs_)l>7k_sQIRv5uXR;h&;f^DS=6p)Y@PsK`Xmzg+7*(Z()fIUw^Z($pDscU1e!0NXN@~0O}>i0mEv# zQ+F<5lGSB}eFP8V07q=ggay<6kwRYOeS~&6iSu9*DO^c=qbT}?%ttz0X))Wo8BMQy zBl~L$CdK}0zQC=*kgqoh`;!i!-Aap)E_RStu+=L3EUr&w;e+umW&|_)iKHOirs^nR zd%rr0U~UWtS(+wCG2oFLX@|l*pDmS2ZP{o%r)3g0Q1Fy}8O(fz;s?hSLyL>It6 z?=Ox*>~>d&Cnw?2+38j1!&UJ6D+Yhn{i$<&_FnwxeCS?Y1xL_Qz3qfoXQ!RRiw<58 za_1LkcyV_5{`~yxLcBVBoBn=(`Gb0Wdd6kX&PA!?-@QM(3f^~5#n02T4xWyFIu8N* z{fT(__K==_f7re1o_-&`>0Slrozr9We028H`AO%h!ymXWZ_h3|-S1Ds&W9t2`Q5YA z@aXXU_di?(m)$>h(AeoE{_?zZuF#D9fu5hHzkvH6E-|i`T(Elzq`$}4%iyFFp3uMF z%YViEzIp#vl)N~T4~IubolA7={OUr2z=J^V5F;I)|8RKOfdkjY#aZ?}6q5X20KYo! zN*I^)1Pp-6;Z^5?kWi2BkA66mrA{t8zvDKKF+GRJ#}^m){o!16`Rodl6kMGL7v}<< z)3b}8fY0UCnJ95`CLeynsCR$Bk0bGc=PjN7-ydEa|FLs%Ccu8^iU<5NiEc)d_Go%4 zpKjyRfYQsr+71Vi)1LUXh;Jsn5!`zC&0w+o9er8M`{G|(HJz*Dv)`X8EI|>6muDy< z78FevKX)(r@u#l%dHDSyp5n^7;W(&P&nzH{>a6CN}i6fc2C4hK)XCUQqL!N;>ic$hG%av z+J|`aF6c6V%ZsBQ_~D1M%d7XG!bABRLty+o`|0v~F8Jo~m>y5h4llkB-k+SEir1%y zKXtCo&iMEH6aMF%TTT+2K@F-SAc5M!})Rd?OWC0 zTg^pbH=56 z<|mnXqt#x(VP=4=t8}RZrc0<*>9+SOc} zBVqx`=8g@HKgdhd+8DXE<0im+dm-)ILp{{N$zdxrT$;3zN``y;7B{{%ggIHj?-;ApZ-YNHzc20ws6rCk^&gXpWxLzf&~yK+I3Nomq#_>lqSuA!G@YA@8=uM zd$Y5terEFAZ>S-|cWy&%7^!XY+rSq(ibQin(+5vFe+zwON-rnvzVUN^d>!7yjdQ7& zfmX_Xw`;#Rd4-yGMW~sqS1=|Su+ybvzCYQ9$gkl*ck5YE89mJAA>uumk$=1QKRWZg z!5ts0t~a{xJ>qN?FZ(_CutB=+;tY@NK_;tqMT>tGlGc=#0hk>`TMB7Iok6zAbo9!w z>i_7>>$YL6D8ZgFR!Ar#ZXl!!yi3R2Yl?u3|F+8d=>?Gv!~PIqB6Owe)O9Xm>#z=a z`siHTb)^OZEAtfQwt*S-Fy1(@$vxQp;X1~{0UImQu% zC);}%#5dR@G&<0}?%E#{OkNFp@d!kyRZPC^MblxP|}ON#iw|7ztGx9KD`nYq<^cYcHWu5sa9*jg5s$b&OiZc1XqJP z7tYIMEsuI*vlSy5ReLceDGlp|(ot#iX1Z9wEW~cGA}>^Ku`Ry3blNjvC8DbI!p&{w z6@o~`eFKjZu?0a?)@q&b7G%D|7G%B6jR$KtSw^WMM%l>Wn zFrAkpBdq}0xvdDN5TSj6(7O0k0F#dneED$A!tj;qXkC%&SJM*r>{Kyg=lucMcAh zxFpzzaiDuE*H-5i;YPtz+NR{ISx4kfGMx|P=H&@Lq4mu*u|wm5fvng8Q9cn}wxJ2p zw(P{-qY(~kz%WXX6z`xoU@s9U^KdxAp&BVld9yIa1%fCaw4j(u0>ZZTC~GA$tApiF zA}AII2>MDp4+OKtZ9Gm(W&u)~_5|RRPW{(wfEFXbLgIZto@l*40WQ|79qaeW9;r9X zS{MiO&9?b78SJ)E&k&D#BV3iyP%-?=;T;aXw}YeWD6fccK`$&Ke9Q}r017sZY?1WL zyW2-vcpVE#G21vxXt*U^-Ure!#`W}%M#ry5y~!u7Cd|W#;0ER3FK;Z5^r^QBz2!A=6N76%ik&$ z1S_E9l-aSEH1{UWai|_Tw4w(%BxGFnSzI(CXE@IzCOXhE(f?6h&%~35l=c|q+vJu! zn2y6<9|y!mlD2^PP&#@Q(DfX>&x0-os=^@ckf&V(g9K`M`c|to%5Fgwx(a=vj7nlT z-0<>tIEkHO=qaX%Q1|+hUG-)-u=wVi!RS`*4fa{rB^@FSQ!AurGDkabjBt_)F)4=8mzEdB{$B^Elp^4_#>z$w|D^BRkUd@R z4_LDVgO2m-KIv>pS+7+ke=)k4j9ZOtGoY_SV1M)dm~V{(~X;CPTXiX=gl2*%OIK|mjqeAXb}?=rAe0_Xoxb20_6BL4;P5< z-;28J`1yg1Yi$}|*e=33WFP95U;`RSZKYtkPJeKP3~$|=MF!-(h=+&~)*4C`<-eS{95@EA<*HH&y9Ox8sN^ER8#JiWuw*Srg4 zbO*;h6wdu29STXkI}^CNXvC{tlOw72`e22mplqH>7b%Tb8li!uP~p5y=nCIQ4+v>Q z50NjP*R6kbur(2mBNIepJ#d-G6}7;n!$W5Vxc-uFd!6B_TRn*q!K=GkG=N(8Iu6(M zI&J`xx4;|0h^}(44@ey6O8|+zkb`t|Nb@BUBjd;w-pr>f1igd(8=DpTwx8cqVrCpU z@(9EL2Az=&415jt+Zy2drMLk@$~y!6%8>)KQsheEC6dW*JicB|F*$rfw|GjGNbaX~){vB0;@E{%?4) zPsEhfv%Y7iJJV3V^F$3H3lnuG-Ssx!v5mGTRoWTaaZ}*_Y<0~G(C&VAe{N+!y2-Hu z$kLRnf-K8%(*U`V@&$C#-dZh(`=mm}zfiA_qRGwj7TWe(91_M9s(|kLvOp4!@vkQT zoU{&-y8XpYwW`}mRccnYN0&j*m&BCuUrF2T1OVFB>womCPY9sDqT~Aju%sgvA#m#l zpuM6_r}Zi3iBEmQ_+cta+TZhqD!O+9+f&w=xB~^b(6RC~RD)!OP3%~(B zZ)x+LY+f0Zk+%@^M$(F3l&3E+}d%I^nsM?$!j zvAZ?OGYVFzM7kGF*{YN@XlXG5tuGqmH@_%t101K#4~e*MzD~sWY<#}Ff|>ApIR)*5 zK~Awu@VvZoc5J+ya`pkjET$g}tS`x!LXwiRCFUU+Q~N`rr!vcHvA~$UJEea&ZXjP(U0-%>v2pvpb9t8%o=Dlm=C4 zWuXnl{Wz^aS{2D`Ci)k-rw~C!^H~3q)M;%k`Y{xllpn_ha~rae_P*Zv!0$E>R3>@1 zdDch4>oyNz;JVGzK=XdLd75YlzNLmY*oJy!_@i&Ajq=+(`hX=geQ-UUj(VfnZBM6M zUG}p-rd7l60q)n)L#S1i%LogPj1LEWk(h#pqt{| z^K2v{kQ{X2#%P`)iN^1GJ!s2uO^0uR(e<40u1o4jED>nT9baHYJ<36ZG+AlR2D&x} z`>xgGUO|)l`Axp@YZ5C90a7;GWX^C?upZljhe3z7eRJptLs2F9ZG*^E-~Bg;Om+o8 zg=$a5ZUHgA$|uG{2QgB6Wmj!C+5C_9*|oM)&^!KLQ)c>z zOza~IXRh0L07obaa)RR!opI_}fU*O$AfPoSH{(COr$}3U2YG-%)M23SYOPuoz#FqOcfWH{4=;i{L7J zy~j6EBk=JurC&9$3ZNTN#{iT8tUOb`0NofmhO!Kx>ayP$LdvJp;JPE13#Qt5m4fjb zr3@IwaI;5YV!Wi^T}*X`x*e*3+kRY?qKvxP2)?9ay9OGbth1r!Jouy05*=7MehI}3 z?_B&m7U=+Sz;k!rr6J-i(6zf!wpGvFjf%SGp-EIc=c2(TJ?2BUW~eG?NON>_O2aA) z-xxJpCCZ6~aU^VS;ml0|T}{O(^rG;r&iS+@<~@Upsn&35MbRp&MRP%~->O3~x`|eE z#@$8v7=2qe+B8P%sz)2ghZ(t3UF&A?Rydx<@yYHC86_#&WG!h^v{_wG+BgPTRVkWa z#bRTf%xX)UZi2X+$yr$^q4|*y-~{2v zDQG&Pxc`LT^7>8qwtFIfArPSUE1t+72u3NQ>ENaeu80hADXQPOKSu(pv!W7xtpo>1 z=Z3iN$rFO2Uv!QrlfmH|V8O-Cu8t1R`6oh@zdP%mCZ8xHfhcrwc>29|gtvUroEj!b zV_F;#y7Gva^*ia;tNQ$_}|4x zz9N-)S2xulZtPNfPtumUD}Fm&%{SjOHI%sh{X`9d@@Xs|qux_=54IFJbKD}`%721E z#ZiS??IAV!6E=r%{kVm*@x=gA;oc$2_X+_MHs2mx&1f{`YNs%W3%jqNGwLe(Zk0_I$e#UNxz(p`R&F(F$sBI`gB31e#nVam0ej{yKX*?aS{?ki#s7zW&&&#r zg6&Y1!N;o!ZR^p5uVcl-?uTA)F{iC^f*2}y(Hvm`?kS5BEMO{)(sX(PO%iN^$m+3- z5SDi&(h&6!di$E=;_h+~Tv(KQ(JxtOm-`HDhl54pGUntYZgnQh#k{>uNlkEaN4NkA zBt)_CSd1nS+MUCRB>NUp{k;hRRhQnpM+n38mpe$Ca6)ZEj$7RKW+5_tA#nD*zZ&)C z5cMcXD9d(q`*$%LA-lSGN$#~5_VjH6Gaqr4+;mvt6id6lLs^YspeQQvQ_-4lN%vMd z(qJ{?E}nGSJX_RPhD&)s)aLZ1Cl|s_jnzT%-^_8=Q83-@sBy?* zxlX5EoPc&b?dWPvf~ReUGNLYf2m++7M8fWszRbeAIJ)l&|Mj(7Y_)K5o-Y>&&bPdM zvQ{BN45~LNn5^!@Ph-n8S=2d-FcHSz^lI+!e4YMtiMEXA@E?7;#G z`}qJpY##P*J-F(QLh;BRwJIa502fn0CBV`!YcUzmoxTE-5tl>qnT%(P6`4#!tyW<& zX_Io*R`7*2@_H~+u(*v4Tw5K^0rcTuHcXqyasc~quzH|#IanSzwa(m_=5jC_TlbJxZ zxr`|U)pFXsmVJ^km=+nZx_8_j91F1}cYrtkcTMf3_etR)M<)!^)_M<~gSVRUhK@Y? z$#X4)tRv0_@Z#9=)Gw!mNCkkZ4FE7BOn zv9pIXg!a+5m@stc);u@Yh(>)ZB~&uHt3LaaT|cuNNSB$j9I7K^4bukjA_5e6NvRD- z;v}n`Te*q;FETX=9X%3i!1@&r!ruJGtuW54bMzypW3D#0x3X=LsbxA0kxB6ej&|hj zX46ZhMqAs6y2_q-@T8y4kJ=1VW}?*vKS z$@m@C=N%0o>M$_O@gPRF%I>=liy6rvx=f^m`}X1yX>i9OvXb^c9U$sF52$cP#F%aI zPhsAK36sXr^OT}D<_ZHyXku*<{DF@+N5j$w8BeALQY4_aj81?`cRi3)#}Wfi8oFsn zid{KZo+IDIdFcy|3 zrJR*)y!WMS#2A7;I)8gje=Y-yFMd7*Jy2hEzBxp+%^_7Or{lWW8R@k<$7`%zLefwRy zh>H#Zjr6`j40PhJL3IscQj-dSLCF$)is@(!h4ts7F;p@PJiFm-glnKIvS9 zZwae_UmcyDULmeqCwzbU`z~HW-`qL+p?h*1d><{ZZgD$p(3Nk`P7&|y?Bc3(92~<$ z`k_ltTpnL8I&Tpi?l?FhNM{$voeTW2y|Bkk1C?1vOtf4I+Egy$;Ai9Nw&Y^Fj8To?!et;Pvp( zyN>T#-+ue6-efv?98Xt^7j(OwgY10y?YAfKb$>SdiCpzw2lMC}rfLl+Wi%N@-+s$c z$zS{$j&O^mqgW=rU{VwpgI8k?(6gE>;+qLf%<2~Kck0cH#qD$suxy5gGhC=XWJ<_U znJwoUjxdnHObo#NDZCKAdZEo!IFCjVk+5DuOxJh@v+)A8X1zEc+KXTN!RrkM;fQZB zqe)y`jSzM}T;?MAIvDpJzQaHeE`0e_*sxJWz8v>HMd5ZEt2dm^VOQS|uWKtMz>Sce5($N@Uq0;$rc12H^f$6!<$OvG(4>opI73C4>)CH{lyiabCuACu|w7Pn6=@Nfvh$RKuA z=Dl!Ta?rJeY>u;yVUP3Kwze#=L?Rl6_33{6cjPhgTGH%fH5y^5gjf@l4)&`TCSa>R z26Tqp$;sF})@lF1+TMvLmL`PU+!XtkvDt;*p`>MBN^lQ(D8=hrXr|0Qdm_VmxvuyBI= z99?FLAVEfrlRnz=T9od&>ngU!Xn&T5d9*)E%VM;N#KiJTWjYsO+hz1|rspaoZNu7B zdkG~!Rf8!3+bz1N*Dgc96{DbM-ytRHv0-hhy@Xsh)?f&6la5PDc!s1(Qt?+p!kr>o zD&>Ft)tB1KnEY6A_9SsJrDEMFIx{|*vDR5l60?P?F{_qBWRBRJHfkK^=;Q&%aGbyq zTqo+sL!1TdbCvqeUSit$%#6159si`yv@Kx5MKq@LHKbn*z;ZfBU#06?NqDllwyV4j zC>U!D=lDNGa}4|<#vl+foTd6^M|gLH=cBg${bl-U1^xwJPW$c%Ve7q#bdH zNPgm6KN!q$Vi#8h^rqEf!_;!%UFWxc_N!DeuqNS!))2pl9%l3KejJVAU#`EbL^VkYf<&|(O(!=R+#%^wWEZJi z(p&yuv|xTloLQ)D(sK*u$?JS$luO0_%sD72Coyt~_emL|`n*$!Q7CQDJZBh%oK2DX z408$1Nyw+Zlx6V^mBqK;j-acdC4yTTOL2XaqSc7mUm!kmIFD~`4SkEPq!SIB`WzGb zN$*dOKler}^Z5SN3wexw9dyBt-aIZNp<-i|Sw#&S4UDHo?g$rUf2Na%M~!uKe&2qJ zU_;9u^i>;dN_OV8-dHlMbdRPV&G=Fb2BN#5v+R}te)+eM8H&74}xYrd$`_SX9o z?4zXJW$XL&F%&Hk!6k@f^sP^ijZ^z+jDapFgtUYDTJ_-Zs+RrJYs!%{|;JC_0HVi)!UrSU3{KLH_?M3-Ujr+ ze3R_-qE5Qai{HG*i$~hv?X6sWN%wK>jo8H1i|h`rzT6_zB{Uk?RcRYnZ}nelM;G5T zoggN`8Av;UV(#<`c4nK;d`S0r^=X3LN`f_Zd-45{_0C;gd#ozv%u%wxs&b|fj?kZj zR5j`@Lqdwi*Qt=UZzpxI%P`_%vk*%J+>yl+DV2z-ss?Z3$>&5KDJlfXMr{3dA-4!( zmXg8;y`)u{jEs;x==JMBNEfn%{)&t@tQe)L;zPZiL$PyO*i*$c9V`~6$nlIu5kX-g z!e7HaqZ^kphBRQsIHvo54zuZ#1&*y)+?D#3)Ig>!0%r*35HcP;nCXg4OUpR~(T((y zHRgzwQMso%6&viWKBH?)S{9?68P`X;PTSri;?cf1bLb?K1glBKeW*~Ym0+k)7Q7CM z;EMsv1@8QuLKe18vbNH?A*0aifZrvIgiW#5N9Y%n1duXbyrLFmyly&^TwnTfuECrNjO|b9!-hKP>}5m zU_Yk<6EN4&0GpdC&SGp%$JxIRA&ZQ?G-S-?3>8>X5GPctV4e+I0m|9#)n~4*CJgeO zc#lL@2_{f1L0^)&;hTJPp_+Uw!Z#_D zMLPMEhn_-)3nry)(>URue6;a&gHQ;oujv%1H)fL(cl9xq){M4s9KivARR9Z~6$bK^ z2};hA(zQ}P7!w?ksMmn7b}*Vl?`iuGh#4hHQyBY=4>j#MG*q;3RP>eB|78`=BS=xY zpevA6;{cs=f-9J^B^tgCT;&KtreLDt#zC?70RI>vI^RuUypKnbEpjG}3Urd%(z~Qm zBAis#*48n<%`B?IVH znu$-fDye|H2!%;ReQ=|bw4?!Hm4M5FpNnsz)Krb()PX(o5f&KcEkePo59BDi>GdB& zobaaeNBH-kxEd6#d6G%g>%0Ng%b*ixwu|pbW+{U}MB!6L@C)oY}9sQ8r} zEK@t_i8wIdeyhIgY&#ucPBije>*VCC7x=?AtMp@a5S*!GD+5TjqP~i@zIwsF6wkUR zz__?GTp*`EmJTn3!{b<+pwQ_830Ucflt9Sgh)R!G1yrgsQ>Ku5wP}^%2;|>~FuaWi zWN%9`ND0v4yxJUa%exduWh?w89Vb#;*unS3uX%}R-Ltv6@DCz(pE_|01}nd4Y%5`h z*-wI7$@h8eDrrlt@%4FtTB2)ng1lwJoF-{SkhdW3q9PK8+eyM0(m^1Gpo|_Vi%!3%>{ERecC&dj`|8D(w!)l5lfp6Z5L_tzs3Sqo zhO#TgfIro1-m-3i16RP^v0eB85DUepWI7TcdGuf1Y@nT@6i-@ZKIL>#+p9u~l{I=E zNJ(PxYKNxPt6Hd+}6U(E9e<=ne`xU5-$n zh(CZNz@K%>!JGMX0WGjDC}tfd(w1~biPVuI*&;-cOWd>>eg|9nS1*1wLh719??rF< z;vP;&i@~RFU%tF+?|ifMaxw3}9F6YAU(e>#k5Pa5k`68p58^#vHu?tsb>HqD?0?&C zfBE9?fPd1AJmW~4uYS)a;R<}fle!gB4O*URLQgBdC!T6_Fyz3R-=*J`8ixUB@1e7i zzHDh(sWY?MVrnxAIU2MInXOtM)259NFbQwmy^uFn z2Vr`c;|dZ~14P`f1Ig=#tK|x|TJa7(ik#MouPIp?uEG*LL;^uku3RZ36pdfKaFtJ& zLe6n0s~}nroKsn3g4EnWNDH74PjYjz?nk|a!h($3)Hn5t&2|+3PvZg^-mX_*O_kEn zX0<5T^VP>3^{r|-#7(Hw2Lz#yN7OD%^djI~JWM=*G}Nlfe>yvygF((=tBrA)liJb1 zT0Q=?A#K#HX8}$7t#Qi6m}CmwDRt2dnxeWO@QmJ3s1B078l1PVpjh#GsoMzGQiqsD zl?e8`9e7sZlxhS)rY(YA8c|IpVX`Y$=3Bb>GUF;LSo)>FsR=UQ@<|E@1RT252lLSA zcq>j{bn15B_EciS>p=4m{GPAro}{;Izj`5l94QAs!v{kvXn4yx3P}J)v2$qYF#}_D zw>nk)zfLEDd@L8=rN3o#YJP)FW)R8s7=^dJ$pAMV$&Z-7%7E8+zJ#8szwD};pqy3s zyI+B(%I+JRRlaP!4vfRV7NJEREP}sCYD|1*^+m0FYFO2nwJCqw%9SC33L&RbYqTCp ztEr2gLRrIDGp@>oh>Wtzhd^zu$rx~PBoks;1^zU)Tej9w6xA#~dBc&@zU)cjE(GC` zX2sRA-f35x)_3?*lD{_dVV?)_wH2$TC7|2hXoz84z?B%| zEyM(%Zxog4@)WMcWeng=X_BN4NRwWkw*6F-<&6Su=Is9hUV*R?h%2z{-)bA|rd$^E z#aVZsewuo`dTI^Q+72TLOQ0ilvbF0&=epmPaGaF*XsOwnA-X2|S^GvvQODH3DY~v+ z32u>=(Yr*?tc~XWkZh{BFzX_$O-dU`lo!|Yt@2=(1jOLHE>NxlJnNHeUF+awVo`G$ zHb7zNh-z8eZ0rrOy13kP=~rfIGB0dQ#gt2;1Z5bKjUv*NVzf5~xoGcA2+58tDajxd zRSU|UbVV>Zlcr}EJ~5BiQFskiPXCtAg4(=Q*Zm}bcQyrhyLrIQ@v>Hx8bsPv5_?Y-zgXdzNLpt-bUO|&ds_gruLIoftPJa!C zFVq#3#88Co(I8tV)L)a}Y+gu7=QdlGaUH}%R|KJ)(z+V73^c1)r2Ah{S#`khC|YGC zF%+qzbW!_!m8PhGrD?Z^Mwf5wZ|O|_?QaX_tr!I9PH>q*CeO$RQw*hOwp~^xT!x3Vb2`0qL(?ydGjFK8O3C5TTe|j-H z`iEp^kxup55^Sx@zD_F2?{b(8{WqLMm>l#51&VfU^rgTdk{DDnjT8nfU3ZTAIW}x2 zNM5ey7tO6y_91DdN&{IisoGeE1W3`fR(isxi`2c;dudkEF3cCev?pI)cSsu3Hibkw z%ubZ{$y#yR7k#a0uN5(9uhic3+ux?A5QEQYW$g|Kn$Zd*#GrKLnG!l;j*rj*@O|RU z5kOouv1(XaE+T6o42OKfn^lkHRn!Q;4Z6H=LW&t1Mph2i28N_Zop`m)%xV+DnO4u@ zV@0E9)T2$tY%z;oN~y(QeamTR!@pQ6a~KZ_d&k;I4OB5cENz!Yy41Hw(PO9?I1q#R zCFRoD!PZc!G$~1Mjd4$Tn)`c(Jl(~3@+@49c9<@T3Mit+vi2zkdB&&M*M+5gh%VDg z=0!3hw3t6T8D-GRyfE-p3|6D6ETJbgj45?9*A$S4@t8);+^;KEuZx3aajt_$1_VVp zl}Ay>sY!jwV9ZBCxCcxjJ3!!-#}HNA;B>O6nzOV_x(mr7`f9RX(aMppGPr0u7Ycl9 z*^vb$smcasMnzr)`mU&|XiPx7Qv0DQkl{9ZlXhX%$7CCH!?Zh@$Zo1pyMS@`k|-k? zh*F7Bfuw#cB1CV&sd-)3Bf?-dorSj%LfWRw!y&JxA6+g?1job*KgozbiV$8Qt=k0P z)r4c4L?svC(?;_UW^LZO$Ptj8CV*_O2gH_eGTXN#AEnWh*Ok*z%3X444WBK|3!qn_ zl-@u4zUPInS0U9Y!L688rsGS@f^}SyiKbt&yvwSp^DFCk&BWJY8#f0rrKIHLdl9l2@p9CGEx^z{p<329TkrL zC1HA;-BOHoUP}608(o`(lOnW3EaD+T(%0H((zX~7m~QPo%LK(2oa=6XCMaky9&yW; zIyso$PwMb<6JV2|EFWdz#7MIz=J2)Ia)GlcMfaNFT#2|z_C;EyHv+dB&s=IXc7<@L z+Y%QESEWRzs!)pBfYsOtd6^QiLnld8Rq@(NMrkN~bzNOx%+t?wE^%f#U=Ksq+elTK zVzO{0V@XOC;ANI$-e9Jlb`~tuOWUjP&e4jm2~}6Frns#E)H>2M0yB}tmBOwOsJdX) zI6$#MHUic@s@R|n3%WeD>zXBEChCMKKO45y#5Y-~R^cW>M3*_yrM=lyla;zEm}H8S z-cNeY=_G%u*2DE%!W9NO>EA$(yp2YPqAXqVQtXW(U9UkIPlPTnT5=l8E^sFTE??3F z7qL64o}#C&+j!i>A;6MNIxeyxh|Y-IbAJ`h=aVU8VMU-!T;p+&Ueq;~BdN~_fdu;z zU$)uV|8{53)mGEsk{=W{i8zZ1`;oqNIA`xK9izaN9H+t<_u+gMgwuMEKHa*IcbmHm)9nj3M zrb7I{!p^pxEsWlhca=}k1ltOAG`+D;6EqH$(Wz32WjtqpHDVD1=r<^`S9RH=s}UQM z+Pv2VJWBz|6v?|S<_gJ{7sKr=tYNM$hw%2oAk`aOgr`lxrrPv#PL=e~Y7!zav0fDK zIq5d0PC_!<+usSpwb1S8qmn-BC6aNF57er-`6DizG{*LDEA(~Hu(KG$q|^b8^ZRrd zaJ)3!D;)Qtn!P(qP0Kwuo#Y%FR2pED&(y38Dy`H{2M zqC;X)g!vbYZ*GkFQ8d)=N;<3piu0xeXKJ2Orwp>t5N{`h`CsQqWp8b!lVhy$q~FO~ zX6)P_O)Fv_j>Li&-M0Bp+J|fuG8;~MNTSX_D?`1>2WasbY(IKq=EcDDi&g8Z7b0*w zx3!p!5FrhjFyJ|UZ_IS)-XR#Ro-jZjVaIOvwlNnODH6IZtdg?gIGllK>v)>C4}GE58L6pcI3vf2 z8!ZWtM^(`*j^GuVbKMW}N7j|V%D=Y2S7J~BXW37<9Y?)!<$9u;mMh3(WR)H_^(*wK zl%zo={J7Gw~am|cOg{{`D zN6qBri7IT6DyH4cU|Q5i(Y1;lEU3i68qTgMFp*DYr!I_j|2!eo^tv~?L_(Ul?=xm1 zz{QaWeqqF}Pzj-O=sJ-&X#Prs5>-TJ1wtYbldmmh08{&ks+EyNd@6~iNDA>O?UFxy z>bY2@PrU>?Aw2k3QDTaJ4T+-HFeLK>iH1ZI|5lI)C-SYKi7`G6WSMy)z)*AHAV%%h?UkP9#!VLm!*U z9d)6a+`}ks8a5mFA0(rt9n&gnOv_IBH2@~NSau_=0j)?wU~6y9fvc#aejRK!TWGb& zRiIt}NLPpmrGi3fTN7Is>@}7NkX2er2VNDWO=Fe7w-mHhH2yl#RH;YYg(AVF{Hsds zHCk1oGR#v?+x8kbQ!aR8tQ>~9Kcmj9d2NI(R26UC3aeK3*6mXe-5L{LfS%iX)#mAR z+VWrB4uhF@v{+|dv|hOjd4LN1#;qPgp78UmrtQ1H23Q}gkrX&xnd<@akl8}Y+CNYIkL=4_Qe1|}DLlSEz|3p*3-yEEl zpcS4#s)H*!f;ccR%ut2w*-@F$&zwUX<;>}<(WgTd&;2-px^DV-(VN^v7vk=`L2d=G zEvob1wRG$YD5fs_Dx5Xt(NEEuV1Es@3AzNO^Bn=)o0~r9k#9EOdI`!jTI|i?;*fS_ zGcB@qiZTc*Bfd^LE(=YfPfIZ)=A~G;{ETIW?ocX^4S`<9V>tY825r7}oot~^4hS!S zjX>58tr~poF`ce;XO-A>SxhFaVePR=9M(J{QWv0pofckcHtvUsZiCKcU?#0!+GCSl z%$KQLCQyllPOiBNQ>=P&^>)-+7dWl@4T0uWzaiKmA&ookA@UPU5U}YcUOK($)*YUd zDgqocIo;M6aLy9ND<9~W%Fiw&D@mmGmTpHJFPKM1y=oAysqs* zqTgyqq-QZpK8#bfr~YlG-OtV}Rd>|C&2+08gQT`~!lU2WNlICxUEa0u?J{ndiX+;k z>qAT!VRImz{I5CiQaQKLJZ*F|O|DVf_RA)X=(u#7Ci>E3^ac{%)&zmBH-(ZgNGa2g zxnkzi$+U8&bKoYn6N+W$7_G(QVi}FYK6HMc)@x3n&Ix219FR;>;_7p>8N@WGO^#df zWG$oK;IX;MQgrszM549Z)WT_uPBws>AQc6;32ITW%!L*%zjGO}b+fpQO11K6uE;%O z6WTO1Sy$s(SLa3AlZ=|OCNO=n3)Q7H;j^lTWLq=hKq}(Zh3l{At=j?(Gg75J^rIOE z<>c^`W^|FX8{yw~m9A?rwC(yYq5nDVdmGX;V!*QvZcb_HY%V$IJ2XMAleD9le&~^( z`M~RJFFjv5Ah`}ij$)M>REIAIoJ};BoXno6y$z_7FmEoWS4Eiinb1Wgb{T!f=sBN0 zo~D(A>TN`u?MzDSb~`T8v&+!$jDo_ss1%Lc5SnczA?+rck!p42v<&%?{f_Ci^wB}E zQ=A%+es?;=A9zNPp6;Ib>VM2XTMSyW-xCsz^_C<<6%?3gxkEwQ&&Z65uUkC>4oa`vH*f-ck>{mU9Hq_;U1eawDhrFKOHqa`)Ai&qhB&PZb9d` zMExGRs#oY{rh3i3CL}>)SKR4r(R#fvh2uF4#c-M!kMhNAQ=H^f9z4sy-Wtd{1E7QO z>btUs{0F~H+}_ite?NWvZTk2!ef&Co{7w4!>-6#O(#L-*ef-<>@w@MW`D}cEBbvxB zdk|b61m_3A5xt_A9ycSpcpLWS^WI}PSWf5P>>UKi(H%$q-QD~`ZTd7^j92>v2O*zf z_gfD41N@=e+f(_gzre;Ie<&38gUkKkd_OosX>0=sCn)nmr~wVes}X%b;7s~wvAU*z z@DejdPkD&9w)TUQn^*WQ`uZxkd=;F(3XbTNyRX~%pW3g`@^}vr_Y#PE!R20Xz84(P zD>uaU9*qGuH|}+d3O?)-q+LMTO(5+Cm%G9FZg51e+>lz^`QP}{!%o^11{#3K{Q4O6 z<~zY?xxOYmxSsvrl-;37AZsM37Cq9-r`n1;niS(k0&=&fa(lYNq#`L z#2fTVJcwc24*J`{ES|Q*?cj1dINuJA@LTpKdDk=l;GBVS7ZLvU=qcnsqiGw5<~u?? zi1{x?9D$z^y;$t*ZAKlc_!Z$@O$x{m`PG|UgiT`HP(PImZJ0M)~g2&<)6B9ik(%zE( zESXz%q}gT1}2*5Fn9RqtSLxU-Gtt-=1@&a3O)-cI|~-c~Q#>VKIa^{e#p zZ-d~!{~!O+Klx^W;k`jv?Md|i1wrsd@PFa&U;Wiz{ojA{PwAh(qF?wQh28!dtM2RD z-e~x8yjqN2F6RB0(L=lp2x}k>Z137T-)z0SUd5xqOIT;;)9Lc1)KtD)Kr0cw6g^Bn z^+&4#zZ`GN-bN&F|sX%(VyG@tZF`QI6C5Fld(5d5Z3U4SWueAyS@+y?(3!0h)w z;pra+Ai@Ef!SfgB>OVxmFM|KqIRr1?BL~;wC3x^8n!f~F{3Lrb&>pz&fltvu>2P17 z`Ik%%FI)Qt4jTv;dYIIN5zH) z{=dQCe-Zpwwb@^l)eMTk=`^a!=v6f)vEaYvCHh}J!zEg?Z^_E`U$ElDT7zy-u^GDY z=0d@jJYWB2{rRdO5`a=jT!8RZvzM|qj-XWs*V=OY=Mp$46cGIHyc++PCs~a`+wpn& z`5!Y;{HZ=sY;2zu>WYnRwE{frKdO#A2u0McN!u2M2LCqC!EWt2kYbF_O!$gmz{P*z z=>380=3g;can)*#roH7NUJfyDBr5)69zK$Ko|UMmk4mNCOm)YCF#S3F|G`Y_e|r+9 zB~`vv*A9(J!e#v_#Tv}uKjb;Te{ORQf@Tfr#<*6hjIBEG3blrK)?fGpKmq=lC*Uu9 z<7P8PjVWk!<9=i=w5ZL6{(Lv?_yHE77~@}U=bphl@<6p?tMN@$^9zn(5(D-(+U{(R|Dy7%V&TT+HY zi|_hO!bLQ>gFLz%kliiri(MJeT3^G4)h7=OCg7P+|HCt*e~U6u&y#-y(i1I53zQ%g z{eSTF@G38i9ZGB8|IKe+!u(h~ z?p|=4z~d#Xh@+e795$qJ2~J9~&8LOu)2AU>!C^In0qFT46-yU|5|q?9*Rh5@pU$q9 zF>;1IX8M{rMF>)-)s!hK7LKwKKINL=kX9meSP543W~&6~Q+9RSTi!k+bi@T%SYP8Y znRg+rEv9oaazctA_lCg$Ne0PBJEWK3{vrh+{3as42{<9UCN=@J*rb;`Uj8Eu0DL(p zY@LF!h=)t~>fKL7JDMH%9|s)567T;7vJXp6NqL{t_Y&z3_troZ1PpYN;j3ykqE*=8*za+ZCSwaPNNzaTfqY0Vtx_>9Cky18E$tbGY zDY0ciF{(7y$q1)TL2{V;!rIIeqU_H9GH=(A5CI1R#d&-1h}V67ro#REx^~DP3*s+D7aK99~c-vtq0x#Cb@9 z2Z&nWf4C&Y3l%TGpBPvDs3MLt3s5@sg+7B{_C`2GfZ1nCW2LW%GxQV5|0SUVzZ^IU zk&7`edY`%iGp-HH&=&jc!Pz$?5Q|wvhac*pWXu>K#eV5gFjRVyyj48Hd5VToF;P*U znJC^$o<}8_&(Q;MbRKGQDjBrvbr}Q}6 z&{k!VX+5CNYKKpSncx?0j}B`-1XomFSr`{ zx?-z>fiu3NSKwS)b{X-41aa}ClH}kQ_M-&4A;<%QNGgv)lAA)#Bm~tSARd{s<1vwP zv5zFr+#Qy3sW5YVdJsDYJ;|LzJkrjAC$)3%Nhk4y#W6>HKpAbL#>qr%40xU0Ht;g| zUxEJ@!T*fE+uxNr4Rnt#9dxeBN=|fA7Yl2$#81-ct-9Y<6 z!CautWvw^M+;Wr%rndWIOB~{0fV!l@=Le{R@j$f2*vNVz5bWVb!#6RE3Q$kej^MaQ zC$N8se@4*+Dk^B9#XcNPqIYqX`7>#+9SyQEch&oEl00zAIL(HH@Au-UC zlo-S#Nep;W62sqcB^F5VRth9kk_8faU@<~=kL3we$sP`QH*=2OnJI+0N1M%z*CZ$K01}yLlGD49elXCWu_Xk8YTMx`01MuZQ z5I_W4LRvqB`3W&+D2-2uXGEhca|1v;6s;yQC@_FSBg~5wWKdL*QY{2H>Et3hgEdz{ zlp|4$kmlsF!k{S7r?=vX7O{sQ$&gq>P4ej?NnnT=8SGmFU_f;kBVU;up<=+0D*6D| z4*(c}HVSb86>^vcgnoblwJ$2=f+w>g3Bb!K*=PY?`riOOhi3~Wr$2>?h-Tzp(I!g9 zoWWa~8^p1c+I)~=GMN-f1QNL*AP|~UF~?TUWbRP-Uqy?4sy8Yrh?ydbeB@#Gwm8B`^8gEmam{wa}O&%E!6`m zq-y1z!jhv>aqtf$XT(t-h90bG?2mHyVI_zBt^&yF1u}b*+^3Sg1q?=2=iB@Mon7YG z-!vtHRMBHT3A)BIsG@@@`Eeh#;b1v#?(&}j%P)fe1b@r9%V$~)WblFT0XxidSr#RD z)T7#s0F_Gt0o)MtZE^#8hLos?OA#n^MD!?#i=K+C$3hdRgfWe3QBhJIfnbdhJqV2v zp7;R>06>-$@jduY@#l-+Kf>Q~Qmntxt$T7%lgn_PvjS)%^t2J6l1LE=?RtuMfxT<; z2qzb8&?;?pU%Q<8WGSLtCa2yU=ZPM!Gbf5^5FB1g#!9YmAXY_$;ME!%2E!yem25cZ zG9eyqm=K?G6CbY-2CZc7o(!Mof=B8|fQXbBA1K)&3cyX1uA&L*$kbg@06fQX>Bh-`_P>rx4A`z!i>}A=z(PK5PCNVs|z&A{HPX zv@MLdPligsxk&2)x1q${9(*Vs;5|+r)K18Gs|1ImIdbTe1PU+Jyf>|*a-vt5i!87;>0q2WgfWPH?!)H2tl`NyDT-WOAAdNMh zjpa#(Jn8VL?Zj9)VuJBn?!av1N)G zP(qW#Pzm8jq&#I`r;MQzpP5r?*E7&YEtfNZ!md8UMY#|m>4y=!PdSWJfG^E}*lr~L zES+eYI3Y^#Rt70e$tv{7(g_~q=0&gk9JpZN(_})jkV#pEK(MSr4?7*1(R(atjb=FnR9}KeWAsSQ@c^MlY za@>VwOrO-Fg$~fUKEyb|BUDw4bUS~7dvjtsm2N9mwrHHXallQl8v?R)7y;ID_do%4 z+`&t=N6@3=1PgXf+*%Z5FJ5{SI|n_LoolNfX4S1BKo26||3wgPcvpBbp81^Ez;n{x zg9{{d{EWsZS!>S-r)S5$|BUqoHTRTaL9iZBd7K%pmaDnAk^$|Kl(Vr@feXvc2S3P1 z1pkP#^knLI!8en|B=4BAB3F7V@_uFCmH~s6K*Xg~{HFW`qr2V+%46K&iRO{GzmB5^ ztEbiVRg_el2{2Kc2_CgAQf@f3kBBn7kIHy+YmQtg< z%h7{8e&8|qYYg`n9B8~;kN26>1{o$)q)$vH1^uE)p|O{bQn#60rorokUidsrSATds`6%Nfl&|?MFVQk zC&=X7bMKwu&VUGa?wt$F05b+gqlu>N(?9n#r%(5puI}>#7-ftBAH)a6#Au8Wf})5K zeZUt@OfV?M7=s8nK#V^R{v<>b!h<1xYwfjm?Oj#7x~lqApK~uKnWb^MPZg`0@~}ys;s|WZ-E8%5o8ilanfVM%*rw1;tOARi2t*IsUzStc zPEN=QCtidfp|808T6{tWq4s+SP@qmA%xI$yw@EUCIZTgiJ~1>K_h(>RixE#>=lr